Udostępnij za pośrednictwem


Editing SQLCMD Scripts with Query Editor

Za pomocą Database Engine Edytor kwerend w SQL Server Management Studio można pisać i edytować kwerendy jako SQLCMD skryptów. Za pomocą skryptów SQLCMD trzeba przetwarzanie poleceń systemu Windows i Transact-SQL instrukcje w ten sam skrypt.

Tryb SQLCMD

Aby użyć Database Engine Edytor kwerend do pisania i edycji wykonywanie wykonywanie skryptów SQLCMD, należy włączyć tryb wykonywanie wykonywanie skryptów SQLCMD. Domyślnie tryb SQLCMD nie jest włączona w edytorze kwerendy.Można włączyć tryb wykonywanie wykonywanie skryptów przez kliknięcie przycisku Tryb SQLCMD ikonę na pasku narzędzi lub wybierając Tryb SQLCMD from the Kwerendy menu.

Uwaga

Włączanie SQLCMD trybu wyłącza IntelliSense oraz Transact-SQL Debuger w Database Engine Edytor kwerend.

Można użyć SQLCMD skryptów w edytorze Query takie same funkcje, które wszystkie Transact-SQL za pomocą skryptów. Funkcje te są następujące:

  • Kodowanie kolorami

  • Wykonywanie skryptów

  • Kontrola źródłowego

  • Podczas analizowania skrypty

  • plan wykonania

Włącz SQLCMD wykonywanie wykonywanie skryptów w edytorze kwerendy

Aby włączyć SQLCMD wykonywanie wykonywanie skryptów dla aktywnego Database Engine Okno edytora kwerendy, należy zastosować poniższą procedurę.

Aby włączyć tryb SQLCMD oknie Edytora kwerend aparat bazy danych

  1. W Eksploratorze obiektów kliknij prawym przyciskiem myszy serwer, a następnie kliknij przycisk Nowa kwerenda, aby otworzyć nowy Database Engine Okno edytora kwerendy.

  2. Na Kwerendy menu kliknijTryb SQLCMD.

    Uruchamia Edytor kwerend SQLCMD instrukcji w kontekście Edytor kwerend.

  3. Na Edytor języka SQL narzędzi w Dostępne bazy danych Wybierz opcję listyAdventureWorks.

  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łej sekcji mieszanych Transact-SQL i wyciągi z systemu MS-DOS.

    Należy zauważyć, dwa okienka wyników SQL z pierwszym i trzecim instrukcji.

  6. W Wyniki Okienko kliknijWiadomości kartę, aby wyświetlić wiadomości od wszystkich trzech instrukcji:

    • (dotyczy wiersze 6)

    • <Informacje katalogowe>

    • (dotyczy wiersze 4)

Important noteImportant Note:

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

Aby uzyskać więcej informacji na temat uruchamiania SQLCMD zobacz sqlcmd Utility, lub samouczek SQLCMD.

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

Do włączania wykonywanie wykonywanie skryptów SQLCMD domyślnie na Narzędzia Wybierz menu Opcje, expand Wykonanie kwerendy, and Program SQL Server, kliknij przycisk Ogólne strona, a następnie sprawdź Domyślnie w trybie SQLCMD otworzyć nowe kwerendy box.

Pisania i edycji skryptów SQLCMD

Po włączeniu trybu obsługi wykonywanie wykonywanie skryptów poleceń SQLCMD może tworzyć i Transact-SQL instrukcje. Obowiązują następujące reguły:

  • Polecenia SQLCMD musi być pierwszą instrukcją w wierszu.

  • Tylko jedno polecenie SQLCMD jest dozwolona w każdym wierszu.

  • SQLCMD poleceń może być poprzedzony przez komentarze lub spacji.

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

  • Pojedyncza linia komentarza znaki są dwa łączników)--) i musi znajdować się na początku wiersza.

  • Poleceń systemu operacyjnego musi być poprzedzone dwoma wykrzyknikami)!!). Polecenie dwukrotnie-wykrzykniki powoduje, że instrukcja, która następuje wykrzykniki mają być wykonane za pomocą cmd.exe Procesor poleceń. Tekst po !! jest przekazywana jako parametr cmd.exe, dzięki czemu będzie końcowego wiersza polecenia wykonać jako: "%SystemRoot%\system32\cmd.exe /c <text after !!>".

  • Aby wyraźnego między poleceniami SQLCMD i Transact-SQL, wszystkie polecenia SQLCMD, trzeba być prefiksem (dwukropek:).

  • The GO command may be used without preface, or preceded by !!:

  • The Database Engine Query Editor supports environment variables and variables that are defined as part of a SQLCMD script, but does not support built-in SQLCMD or osql variables.SQLCMD przetwarzania przez SQL Server Management Studio jest uwzględniana wielkość liter, przypadek zmiennych. Na przykład PRINT "$ (COMPUTERNAME)" daje wynik poprawne, ale PRINT "$ (nazwa_komputera)" zwraca błąd.

Ostrzeżenie

SQL Server Management Studio uses Microsoft .NET FrameworkSqlClient for execution in regular and SQLCMD mode.Przy uruchamianiu z wiersza polecenia, SQLCMD używa dostawca OLE DB.Ponieważ może stosować różne domyślne opcje, to można uzyskać różne zachowanie podczas wykonywania tej samej kwerendy w SQL Server Management Studio Tryb SQLCMD, a w narzędziu SQLCMD.

Składnia SQLCMD obsługiwanych

The Database Engine Query Editor supports the following SQLCMD script keywords:

[!!:]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

Uwaga

Dla obu :error i :out, stderr i stdout na karcie wiadomości wysyłane dane wyjściowe.

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

Ostrzeżenie

Ponieważ SQLCMD nie jest uruchamiany z wiersza polecenia, istnieją pewne ograniczenia, gdy uruchomiony Edytor kwerend w trybie SQLCMD.Nie można przekazać w parametrach wiersza polecenia, takie jak zmienne, a ponieważ Edytor kwerend nie ma możliwości odpowiadanie na monity funkcji systemu operacyjnego, należy uważać, aby nie wykonać instrukcje interakcyjne.

Kodowanie w skrypty SQLCMD kolorów

Korzystając z SQLCMD wykonywanie wykonywanie skryptów, włączone, wykonywanie wykonywanie skryptów będą kodowane kolorami.Kolor kodowania dla Transact-SQL słowa kluczowe pozostanie niezmieniony. Polecenia SQLCMD są prezentowane z cieniowanym tłem.

Przykład

W poniższym przykładzie użyto SQLCMD instrukcję, aby utworzyć plik wyjściowy o nazwie testoutput.txt, wykonuje dwa Transact-SQL SELECT instrukcja wraz z jednego polecenia systemu operacyjnego (w celu wydrukowania bieżącego katalogu). Plik wynikowy zawiera wiadomości wyjściowymi DIR Instrukcja następuje wyniki dane wyjściowe Transact-SQL instrukcje.

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

See Also

Concepts

Other Resources