2011-11-01 23 views
6

Chcę mieć możliwość tworzenia różnych skryptów tabelowych zapisanych i przechowywanych oddzielnie.Microsoft SQL Server Management Studio uruchamia skrypt z poziomu skryptu

Aby zbudować całą bazę danych, powinienem mieć główny plik .sql, który wywołuje wszystkie skrypty po kolei, aby wszystkie klucze obce w tabelach były tworzone we właściwej kolejności.

Mógłbym też zrobić skrypt, aby usunąć całą strukturę tabeli, upuszczając je wszystkie w odwrotnej kolejności.

Czy istnieje sposób, aby to zrobić?

Odpowiedz

13

Używanie niejasne polecenia r: Sqlcmd:

: R < filename>

Analizuje dodatkowych Transact-SQL instrukcje i SQLCMD polecenia z pliku określonego przez do pamięci podręcznej instrukcji.

Wypowiedz tworzyć skrypty są createT1.sql i createT2.sql wówczas mistrz pliku .sql byłoby coś jak:

create database foo; 
go 

use foo; 
go 

:r createT1.sql 
:r createT2.sql 
go 

Składnia ta pracuje w SSMS jak dobrze, tak długo, jak włączyć tryb Sqlcmd patrz Editing SQLCMD Scripts with Query Editor . Również biblioteka dbutilsqlcmd obsługuje rozszerzenie :r, jeśli chcesz je osadzić w swojej aplikacji.

1

Ponieważ można umieścić SSMS prawo w tytule pytanie, mam zamiar założyć, że chcesz być w stanie zrobić to stamtąd.

Możesz uruchomić SSMS w trybie SQLCMD. To powinno dać ci znacznie więcej elastyczności. Możesz zobaczyć jego szybką wersję demonstracyjną here lub poszukać więcej informacji na temat Microsoft's website.

Dla prostej funkcji wiersza poleceń osobiście wybrałbym skrypt Powershell. Możesz dodać cmdlety Microsoft SQL, aby umożliwić połączenie z serwerem SQL lub przetestować własne z SMO lub skorzystać z rozwiązania innej firmy, takiego jak open source SQLPSX.

+0

Wow te odpowiedzi były fantastyczne, dziękuję wszystkim bardzo! na pewno będzie tu dużo pisać, jeśli wszystkie odpowiedzi są tak dobre, hahaha ^. ^ – chilleo

Powiązane problemy