Udostępnij za pośrednictwem


Za pomocą polecenia polecenie Wywołaj-Sqlcmd

Wywołać polecenie Sqlcmd jest SQL Server cmdlet, który uruchamia skrypty zawierające instrukcje z języków (Transact-SQL i XQuery) i poleceń, które są obsługiwane przez polecenie sqlcmd narzędzia.

Za pomocą wywołać polecenie Sqlcmd

Polecenie Wywołaj-Sqlcmd aplet polecenia umożliwia uruchamianie programu polecenie sqlcmd skryptów plików w środowisku Windows PowerShell.Ilość co można zrobić z polecenie sqlcmd , można również wykonać stosując Polecenie Wywołaj-Sqlcmd.

Jest to przykładowe polecenie wywołanie Invoke-Sqlcmd do wykonać prostych kwerend podobne do określania polecenie sqlcmd z -Q i -S opcje:

Invoke-Sqlcmd -Query "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance "MyComputer\MyInstance"

Jest to przykład telefonicznej Polecenie Wywołaj-Sqlcmd, określając plik wejściowy i połączeń rurowych dane wyjściowe do pliku jest podobne do określania polecenie sqlcmd z -i i -o opcje:

Invoke-Sqlcmd -InputFile "C:\MyFolder\TestSQLCmd.sql" | Out-File -filePath "C:\MyFolder\TestSQLCmd.rpt"

Jest to przykład użycia tablicy Windows PowerShell do przekazywania wielu polecenie sqlcmd wykonywanie skryptów zmienne Polecenie Wywołaj-Sqlcmd."$" znaki identyfikacyjne polecenie sqlcmd wykonywanie skryptów zmiennych w instrukcja SELECT została wyjściowym przy użyciu PowerShell back-tick "" " znak anulowania:

$MyArray = "MyVar1 = 'String1'", "MyVar2 = 'String2'"
Invoke-Sqlcmd -Query "SELECT `$(MyVar1) AS Var1, `$(MyVar2) AS Var2;" -Variable $MyArray

Jest to przykład użycia SQL Server dostawca środowiska Windows PowerShell przejść do wystąpienie Aparat baz danychi przy użyciu środowiska Windows PowerShell Elementu Get polecenia pobrać obiektu SMO serwera dla wystąpienie i przekazanie go do Polecenie Wywołaj-Sqlcmd:

Set-Location SQLSERVER:\SQL\MyComputer\MyInstance
Invoke-Sqlcmd -Query "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance (Get-Item .)

-Kwerenda parametr jest pozycyjne i nie musi być nazwane.Jeżeli pierwszy ciąg, który jest przekazywany do Polecenie Wywołaj-Sqlcmd: jest nienazwanych, jest ona traktowana jako parametr kwerendy.

Invoke-Sqlcmd "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance "MyComputer\MyInstance"

Kontekst ścieżki w wywołać polecenie Sqlcmd

Jeśli nie używasz parametr bazy danych, polecenie Sqlcmd Invoke kontekst bazy danych jest zestaw przez ścieżka, która jest aktywna, gdy nosi nazwę polecenia.

Path

Kontekstu bazy danych

Zostanie uruchomiony z dysku innego niż SQLSERVER:

domyślna baza danych dla identyfikator logowania w wystąpienie domyślne na komputerze lokalnym.

SQLSERVER:\SQL

domyślna baza danych dla identyfikator logowania w wystąpienie domyślne na komputerze lokalnym.

SQLSERVER:\SQL\ComputerName

domyślna baza danych dla identyfikator logowania w wystąpienie domyślne na określonym komputerze.

SQLSERVER:\SQL\ComputerName\InstanceName

Domyślna baza danych dla określonego identyfikator logowania wystąpienie na określonym komputerze.

SQLSERVER:\SQL\ComputerName\InstanceName\Databases

Domyślna baza danych dla określonego identyfikator logowania wystąpienie na określonym komputerze.

SQLSERVER:\SQL\ComputerName\InstanceName\Databases\DatabaseName

Określonej bazy danych określonego wystąpienie na określonym komputerze.Dotyczy to również dłuższe ścieżki, takie jak ścieżka, która określa węzeł tabel i kolumn w bazie danych.

Na przykład załóżmy, że domyślna baza danych dla konta systemu Windows w wystąpienie domyślne komputera lokalnego jest master.Następnie zwróciłby następujące polecenia master:

Set-Location SQLSERVER:\SQL
Invoke-Sqlcmd "SELECT DB_NAME() AS DatabaseName;"

Zwróciłby następujące polecenia AdventureWorks2008R2:

Set-Location SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2008R2\Tables\Person.Person
Invoke-Sqlcmd "SELECT DB_NAME() AS DatabaseName;"

Wywołać polecenie Sqlcmd zawiera ostrzeżenie, gdy korzysta z kontekstu ścieżka bazy danych.Aby wyłączyć komunikat ostrzegawczy, można użyć parametru - SuppressProviderContextWarning.Za pomocą parametru - IgnoreProviderContext stwierdzić, wywołaj polecenie Sqlcmd zawsze używać domyślna baza danych dla logowania.

Porównanie polecenie Sqlcmd Invoke i polecenie sqlcmd, narzędzie

Wywołać polecenie Sqlcmd można uruchamiać wiele skryptów, które mogą być uruchamiane za pomocą polecenie sqlcmd narzędzia.Jednakże Polecenie Wywołaj-Sqlcmd jest uruchamiany w środowisku Windows PowerShell, który jest inny niż środowisko wiersz polecenia, polecenie sqlcmd jest uruchamiany w.Zachowanie Polecenie Wywołaj-Sqlcmd został zmodyfikowany do pracy w środowisku Windows PowerShell.

Nie wszystkie polecenie sqlcmd polecenia są wykonywane w Polecenie Wywołaj-Sqlcmd.Następujące polecenia, które nie zostały zaimplementowane: :!!, :connect, :error, :out, :ed, :list, :listvar, :reset, :perftrace, and :serverlist.

Wywołać polecenie Sqlcmd nie inicjuje polecenie sqlcmd środowiska lub wykonywanie skryptów zmiennych, takich jak SQLCMDDBNAME lub SQLCMDWORKSTATION.

Wywołać polecenie Sqlcmd nie są wyświetlane wiadomości, takie jak dane wyjściowe Drukuj wyciągi, chyba że zostanie Windows PowerShell -Verbose wspólnych parametrów.Na przykład:

Invoke-Sqlcmd -Query "PRINT N'abc';" -Verbose

Nie wszystkie polecenie sqlcmd parametry są potrzebne w środowisku PowerShell.Na przykład Windows PowerShell formatuje wszystkie dane wyjściowe poleceń, tak polecenie sqlcmd parametry określania opcji formatowania nie są implementowane w Polecenie Wywołaj-Sqlcmd.W tabela follwoing przedstawiono relacje między Polecenie Wywołaj-Sqlcmd parametry i polecenie sqlcmd opcje:

Opis

Opcja polecenie SQLCMD

Parametr wywołać polecenie Sqlcmd

Serwer i wystąpienie nazwy.

-S

-ServerInstance

Początkowe bazę danych do użycia.

-d

-Bazy danych

Uruchomienie kwerendy i Zakończ.

-Q

-Query

SQL Server identyfikator logowania uwierzytelniania logowania.

-U

-Username

SQL ServerUwierzytelnianie hasła.

-P

-Hasło

Definicja zmiennej.

-v

-Zmienna

Interwał limitu czasu kwerendy.

-t

-QueryTimeout

Zatrzymać uruchomione na błąd

-b

-AbortOnError

Dedykowanego połączenia administratora.

-A

-DedicatedAdministratorConnection

Wyłącz poleceń interakcyjnych, skrypt uruchamiania i zmienne środowiskowe.

-X

-DisableCommands

Wyłączyć podstawianie zmiennych.

-x

-DisableVariables

Poziom minimalny wskaźnik do raportu.

-V

-SeverityLevel

Błąd minimalny poziom do raportu.

-m

-ErrorLevel

Interwał limitu czasu logowania.

-l

-ConnectionTimeout

Nazwa hosta.

-H

-HbostName

Zmienianie hasła i Zakończ.

-Z

-NoweHasło

Plik wejściowy zawierający kwerendę

-i

-Plik_wejściowy

Maksymalna długość znaku.

-w

-MaxCharLength

Maksymalna długość formatu binarnego.

-w

-MaxBinaryLength

Połącz przy użyciu szyfrowanie SSL.

Brak parametru

-EncryptConnection

Wyświetl błędy

Brak parametru

-OutputSqlErrors

Komunikaty wyjściowe do obiektu stderr.

-r

Brak parametru

Użyj ustawień regionalnych klient

-R

Brak parametru

Uruchomić określonej kwerendy i działają.

-q

Brak parametru

Strona kodowa dla danych wyjściowych.

-f

Brak parametru

Zmiana hasła i działają

-z

Brak parametru

Rozmiar pakietu

-

Brak parametru

Separator kolumny

-s

Brak parametru

Nagłówki wyników kontroli

-h

Brak parametru

Określa znaki kontrolne

-k

Brak parametru

Stała długość, szerokość ekranu

-Y

Brak parametru

Wyświetlacz o zmiennej długości

-y

Brak parametru

Echo wprowadzania

-e

Brak parametru

Włącz identyfikatorów w cudzysłowach

-

Brak parametru

Usuń spacje końcowe

-W

Brak parametru

Wystąpienia listy

-L

Brak parametru

Formatowanie danych wyjściowych w formacie Unicode

-u

Brak parametru

Drukowanie statystyk

-p

Brak parametru

Polecenie zakończenia

-c

Brak parametru

Połącz przy użyciu uwierzytelniania systemu Windows

-E

Brak parametru