Edytowanie skryptów polecenie SQLCMD z Edytor kwerend

Za pomocą Aparat baz danych Edytor kwerend w SQL Server Management Studio można pisać i edytować kwerendy jako skrypty polecenie SQLCMD.Gdy przetwarzanie poleceń systemu Windows, użyj skrypty polecenie SQLCMD i Transact-SQL instrukcji w tym samym script.

Tryb polecenie SQLCMD

Aby użyć Aparat baz danych Edytor kwerend do pisania i edycji wykonywanie skryptów polecenie SQLCMD, należy włączyć tryb wykonywanie skryptów polecenie SQLCMD.Domyślnie tryb polecenie SQLCMD nie jest włączony Edytor kwerend.Tryb wykonywanie skryptów można włączyć, klikając Tryb polecenie SQLCMD ikonę na pasku narzędziowym lub wybierając Tryb polecenie SQLCMD z kwerendy menu.

Ostrzeżenie

Polecenie SQLCMD włączenie trybu wyłącza IntelliSense oraz Transact-SQL debugera w Aparat baz danych Edytor kwerend.

Polecenie SQLCMD skryptów w edytorze kwerendy można użyć takie same funkcje, które wszystkie Transact-SQL używania skryptów.Następujące funkcje:

  • Kodowanie kolorami

  • Wykonywanie skryptów

  • Kontrola źródła

  • Podczas analizowania skryptów

  • SHOWPLAN

Włączanie polecenie SQLCMD skryptów w edytorze kwerendy

Aby włączyć polecenie SQLCMD wykonywanie skryptów dla aktywnego Aparat baz danych okno Edytor kwerend, użyj następującej procedury.

Aby przełączyć okno edytora kwerendy aparat bazy danych do trybu polecenie SQLCMD

  1. W Eksploratorze obiektów, kliknij prawym przyciskiem myszy serwer, a następnie kliknij Nową kwerendę, aby otworzyć nowy Aparat baz danych okno Edytor kwerend.

  2. Na kwerendy menu, kliknij Tryb polecenie SQLCMD.

    Edytor kwerend wykonuje polecenie sqlcmd instrukcji w kontekście Edytor kwerend.

  3. Na SQL edytora narzędzi, w Dostępnych baz danych listy wybierz AdventureWorks2008R2.

  4. In the Query Editor window, type the following two Transact-SQL statements and the !!DIR sqlcmd statement:

    SELECT DISTINCT Type FROM Sales.SpecialOffer;
    GO
    !!DIR
    GO
    SELECT ProductCategoryID, Name FROM Production.ProductCategory;
    GO
    
  5. Naciśnij klawisz F5, aby wykonać całą sekcję mieszanych Transact-SQL i instrukcji MS-DOS.

    Zwróć uwagę, dwa okienka wyników SQL z pierwszym i trzecim sprawozdania.

  6. W wyniki okienka, kliknij wiadomości kartę, aby wyświetlić wiadomości od wszystkich trzech instrukcji:

    • (wiersze 6 dotyczy)

    • <Informacje katalogowe>

    • (wiersze 4 dotyczy)

Ważna informacjaWażne:

Gdy wykonywane z wiersza polecenia polecenie sqlcmd narzędzie pozwala na pełne interakcji z systemem operacyjnym.Kiedy używać Edytora kwerend w Tryb polecenie SQLCMD, należy uważać, aby nie wykonać interaktywne instrukcje.Edytor kwerend nie może odpowiadać na monity systemu operacyjnego.

Aby uzyskać więcej informacji na temat uruchamiania polecenie SQLCMD, zobacz Narzędzie sqlcmd, lub podjąć samouczek polecenie SQLCMD.

Włączanie skryptów polecenie SQLCMD domyślnie

Aby włączyć polecenie SQLCMD wykonywanie skryptów domyślnie na Narzędzia menu wybierz Opcje, rozwiń Wykonanie kwerendy, i sql Server, kliknij Ogólne strona, a następnie sprawdź Domyślnie otworzyć nowe kwerendy w trybie polecenie SQLCMD pole.

Pisania i edycji skryptów polecenie SQLCMD

Po włączeniu trybu wykonywanie skryptów można wpisywać polecenia polecenie SQLCMD i Transact-SQL instrukcji.Obowiązują następujące reguły:

  • Polecenie SQLCMD polecenia musi być pierwszym instrukcja w wierszu.

  • W każdym wierszu jest dozwolone tylko jedno polecenie polecenie SQLCMD.

  • Poleceń polecenie SQLCMD może być poprzedzone komentarze lub światło.

  • Nie wykonywane są polecenia polecenie SQLCMD w ciągu znaków komentarza.

  • Pojedynczy wiersz komentarza znaki są dwa łączniki (--) i muszą pojawiać się na początku wiersza.

  • Poleceń systemu operacyjnego musi być poprzedzony przez dwóch wykrzykników (!!).Wykrzyknik podwójnego wskazuje przyczyny polecenia instrukcja występujący wykrzykniki mają być wykonane za pomocą cmd.exe procesora poleceń.Tekst po !! jest przekazywana jako parametr cmd.exe, więc będzie końcowego wiersza polecenia wykonać jako: "%SystemRoot%\system32\cmd.exe /c <text after !!>".

  • Dokonać wyraźnego rozróżnienia między poleceń polecenie SQLCMD i Transact-SQL, wszystkich poleceń polecenie SQLCMD, trzeba być prefiksem dwukropka (:).

  • GO Polecenia mogą być używane bez wstęp, lub poprzedzone !!:

  • Aparat baz danych Edytor kwerend obsługuje zmienne środowiskowe i zmienne, które są zdefiniowane jako część skryptu polecenie SQLCMD, ale nie obsługuje wbudowane polecenie SQLCMD lub osql zmiennych. Przetwarzanie przez polecenie SQLCMD SQL Server Management Studio jest przypadek poufne dla zmiennych.Na przykład WYDRUKOWAĆ "$ (nazwa_komputera)" daje wynik poprawny, ale drukowanie "$ (nazwa_komputera)" zwraca błąd.

PrzestrogaPrzestroga

SQL Server Management Studio uses Microsoft .NET Framework SqlClient for execution in regular and SQLCMD mode.Uruchomienie z wiersza polecenia polecenie SQLCMD używa dostawca OLE DB.Ponieważ różne domyślne opcje może zastosować, jest możliwe uzyskanie różne zachowanie podczas wykonywania tej samej kwerendy w SQL Server Management Studio Tryb polecenie SQLCMD i narzędzia polecenie SQLCMD.

Obsługiwane składni polecenie SQLCMD

Aparat baz danych Edytor kwerend obsługuje następujące słowa kluczowe skryptu polecenie SQLCMD:

[!!:]GO[count]

!! <command>

:exit(statement)

:Quit

:r <filename>

:setvar <var> <value>

:connect server[\instance] [-l login_timeout] [-U user [-P password]]

:on error [ignore|exit]

:error <filename>|stderr|stdout

:out <filename>|stderr|stdout

Ostrzeżenie

Dla obu :error i :out, stderr i stdout wysłać dane wyjściowe do kartę wiadomości.

Polecenie SQLCMD polecenia niewymienionych powyżej nie są obsługiwane w edytorze kwerendy.Podczas wykonywania skryptu zawierającego polecenie SQLCMD słowa kluczowe, które nie są obsługiwane wyśle Edytor kwerend "ignorowanie polecenia <ignorowane polecenia>" wiadomość do obiekt docelowy dla każdego słowa kluczowego nieobsługiwany.Skrypt będzie wykonać pomyślnie, ale nieobsługiwane polecenia zostaną zignorowane.

PrzestrogaPrzestroga

Ponieważ nie rozpoczynasz polecenie SQLCMD z wiersza polecenia, istnieją pewne ograniczenia, gdy uruchomiony Edytor kwerend w trybie polecenie SQLCMD.Nie można przekazać parametry wiersza polecenia, takich jak zmienne i ponieważ Edytor kwerend nie ma możliwość odpowiadać na monity systemu operacyjnego, należy uważać, aby nie wykonać interaktywne instrukcje.

Kolor kodowanie w skryptach polecenie SQLCMD

Z polecenie SQLCMD wykonywanie skryptów włączone, wykonywanie skryptów będą kodowane kolorami.Kodowanie kolorami dla Transact-SQL słowa kluczowe pozostaną takie same.Polecenie SQLCMD polecenia są prezentowane z cieniowanym tłem.

Przykład

W poniższym przykładzie użyto polecenie sqlcmd wykonuje dwa instrukcję, aby utworzyć plik wyjściowy o nazwie testoutput.txt, Transact-SQL instrukcja SELECT, wraz z jednego polecenia systemu operacyjnego (na przykład aby wydrukować bieżący katalog).Wynikowy plik zawiera dane wyjściowe wiadomości z DIR instrukcja następuje wyjście wyniki z Transact-SQL instrukcja.

:out C:\testoutput.txt
SELECT @@VERSION As 'Server Version'
!!DIR
!!:GO
SELECT @@SERVERNAME AS 'Server Name'
GO

Zobacz także

Odwołanie

Koncepcje