ınvoke sqlCmd cmdlet'i kullanma
Çağır sqlCmd is a SQL Server diller (deyimlerinden içeren bir komut çalıştırır cmdlet'iTransact-SQL ve XQuery) tarafından desteklenen komutları ve sqlCmd yardımcı programı.
Invoke sqlCmd kullanma
The Invoke-Sqlcmd cmdlet lets you run your sqlcmd script files in a Windows PowerShell environment.Çoğu ile yapabilecekleriniz sqlCmd de yapılabilir kullanmaÇağır sqlCmd.
Arama örneği budur. Çağır sqlCmd belirtmek için benzer basit sorgu yürütmek içinsqlCmd with the -Q and -S options:
Invoke-Sqlcmd -Query "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance "MyComputer\MyInstance"
Arama örneği budur. Çağır sqlCmdbir giriş dosyasını belirtmek ve çıktı aktarmak, dosya bu belirtmekle benzersqlCmd with the -i and -o options:
Invoke-Sqlcmd -InputFile "C:\MyFolder\TestSQLCmd.sql" | Out-File -filePath "C:\MyFolder\TestSQLCmd.rpt"
Bir örnek, bir Windows PowerShell dizi birden çok geçirmek için kullanma sqlCmd değişkenler komut dosyası kullanan kullanan dosyası kullananÇağır sqlCmd.Tanımlama "$" karakteri sqlCmd deyim içinde komut dosyası kullanan kullanan dosyası kullanan değişkenleri Windows PowerShell geri onay'ı kullanarak öncesinde "`" kaçış karakteri:
$MyArray = "MyVar1 = 'String1'", "MyVar2 = 'String2'"
Invoke-Sqlcmd -Query "SELECT `$(MyVar1) AS Var1, `$(MyVar2) AS Var2;" -Variable $MyArray
Bir örnek kullanmanın SQL Server Sağlayıcı örneğine gidin Database Engineve sonra da Windows PowerShell kullanma GET-öğe cmdlet'i SMO sunucu nesnesi örneği ve için geçirmeden almak içinÇağır sqlCmd:
Set-Location SQLSERVER:\SQL\MyComputer\MyInstance
Invoke-Sqlcmd -Query "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance (Get-Item .)
Sorgu parametresi konum, adlandırılmış olması gerekmez.Ilki, dize, geçirilir Çağır sqlCmd: olan adlandırılmamış, onu sorgu parametresi olarak nitelenir.
Invoke-Sqlcmd "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance "MyComputer\MyInstance"
Invoke sqlCmd de yol içerik
Kullanmazsanız, veritabanı bağlamının veritabanı parametresi Çağır sqlCmd cmdlet'i çağrıldığında etkin olan yol tarafından küme.
Yol |
Veritabanı içerik |
---|---|
SQLSERVER dışında bir sürücü ile başlar: |
Oturum açma KIMLIĞI'nde ilişkin varsayılan veritabanı varsayılan örnek yerel bilgisayardaki. |
SQLSERVER:\SQL |
Oturum açma KIMLIĞI'nde ilişkin varsayılan veritabanı varsayılan örnek yerel bilgisayardaki. |
SQLSERVER:\SQL\ComputerName |
Varsayılan veritabanı için varsayılan örnek belirtilen bilgisayardaki oturum açma KIMLIĞI. |
SQLSERVER:\SQL\ComputerName\InstanceName |
Varsayılan veritabanı içinde belirtilen örnek belirtilen bilgisayardaki oturum açma kimliği. |
SQLSERVER:\SQL\ComputerName\InstanceName\Databases |
Varsayılan veritabanı içinde belirtilen örnek belirtilen bilgisayardaki oturum açma kimliği. |
SQLSERVER:\SQL\ComputerName\InstanceName\Databases\DatabaseName |
Belirtilen örnek belirtilen bilgisayardaki belirli veritabanında.Bu veritabanındaki tabloları ve sütunları düğümünü belirten bir yol gibi daha uzun yolları için de geçerlidir. |
Örneğin, yerel bilgisayardaki Varsayılan örneğindeki Windows hesabınıza ilişkin varsayılan veritabanı ana olduğu varsayılmaktadır.Ardından, aşağıdaki komutları ana döndürür:
Set-Location SQLSERVER:\SQL
Invoke-Sqlcmd "SELECT DB_NAME() AS DatabaseName;"
Aşağıdaki komutlar, AdventureWorks döndürür:
Set-Location SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks\Tables\Person.Contact
Invoke-Sqlcmd "SELECT DB_NAME() AS DatabaseName;"
Çağır sqlCmd , veritabanı yol içerik kullandığında bir uyarı sağlar.Kullanabileceğiniz uyarı iletisini devre dışı bırakmak için SuppressProviderContextWarning parametresi.Kullanabileceğiniz IgnoreProviderContext parametre bildirmek için Çağır sqlCmd varsayılan veritabanı her zaman oturum açma için kullanılacak.
Invoke sqlCmd ve sqlcmd yardımcı programı ile karşılaştırma
Çağır sqlCmd kullanarak çalıştırabileceğiniz komut dosyalarının çoğunu çalıştırmak için kullanılabilir:sqlCmd yardımcı programı.Ancak, Çağır sqlCmd bu komut istemi istemini Ortamı'den farklı olan bir Windows PowerShell ortamında çalışırsqlCmd is run in.Davranışı Çağır sqlCmd , bir Windows PowerShell ortamda çalışmaları için değiştirildi.
Tüm sqlCmd komutları uygulandığıÇağır sqlCmd.Uygulanmadı komutları şunları içerir: :!!, : bağlanma, : hata, : öğrenin, : ed, : listesi, : listvar, : sıfırlama, : perftrace, ve : serverlist.
Çağır sqlCmd başlatılamıyorsqlCmd ortam veya SQLCMDDBNAME veya SQLCMDWORKSTATION gibi değişkenleri komut dosyası kullanan kullanan dosyası kullanan.
Çağır sqlCmd Belirttiğiniz sürece Windows PowerShell PRINT deyimlerini çıkışını gibi iletileri görüntülemiyor-Verbose genel parametre.Örneğin:
Invoke-Sqlcmd -Query "PRINT N'abc';" -Verbose
Tüm sqlCmd parametreleri, bir Windows PowerShell ortamında gereklidir.Örneğin, bu Windows PowerShell davranırlar, gelen tüm çıkış biçimleri nedenle sqlCmd parametreleri biçimlendirme seçeneklerini belirtme uygulanmadıÇağır sqlCmd.Aşağıdaki tablo arasındaki ilişkiyi gösterir Çağır sqlCmd parametreleri ve sqlCmd options:
Açıklama |
SQLCmd seçeneği |
Çağır sqlCmd parametresi |
---|---|---|
Sunucu ve örnek adı. |
-S |
-ServerInstance |
Kullanmak istediğiniz ilk veritabanını. |
-d |
-Veritabanı |
Belirtilen sorgu ve çıkış'ı çalıştırın. |
-Q |
-Sorgu |
SQL Server Kimlik doğrulaması oturum açma kimliği |
-U |
-Kullanıcı adı |
SQL Server kimlik doğrulaması parolası. |
-P |
-Parola |
Değişken tanımı. |
v- |
-Değişken |
Sorgu zaman aşımı aralığı. |
-t |
-QueryTimeout |
Hata üzerinde çalışmıyor |
-b |
-AbortOnError |
Özel yönetici bağlantısı. |
-A |
-DedicatedAdministratorConnection |
Etkileşimli komutları, başlangıç komut dosyası ve ortam değişkenleri devre dışı bırakın. |
-X |
-DisableCommands |
Değişken değişimi devre dışı bırakın. |
-x |
-DisableVariables |
Rapor için en düşük önem düzey. |
v- |
-SeverityLevel |
Raporlanacak minimum hata düzey. |
-m |
-ErrorLevel |
Oturum açma zaman aşımı aralığı. |
-l |
-ConnectionTimeout |
Ana bilgisayar adı. |
-H |
-HbostName |
Parola değiştirme ve çıkış. |
-Z |
-YeniParola |
Sorgu içeren bir giriş dosyası |
-i |
-GirdiDosyası |
En fazla uzunluğu karakter çıktı. |
-w |
-MaxCharLength |
Ikili çıkış en fazla uzunluğu. |
-w |
-MaxBinaryLength |
SSL şifrelemesini kullanarak bağlan. |
Parametre |
-EncryptConnection |
Hataları görüntüle |
Parametre |
-OutputSqlErrors |
Stderr iletileri çıktı. |
-r |
Parametre |
Istemcinin bölgesel ayarları kullan |
-R |
Parametre |
Belirtilen sorgu çalıştırmak ve çalışmaya devam eder. |
-q |
Parametre |
Çıktı için kullanılacak kod sayfa. |
-f |
Parametre |
Parola değiştirme ve çalışmaya devam eder |
-z |
Parametre |
Paket boyutu |
-a |
Parametre |
Sütun ayırıcı |
-s |
Parametre |
Çıkış üstbilgi denetimi |
-h |
Parametre |
Denetim karakteri belirtin. |
-k |
Parametre |
Sabit uzunlukta ekran genişliği |
-Y |
Parametre |
Değişken uzunlukta ekran genişliği |
-y |
Parametre |
Yankı giriş |
-e |
Parametre |
Teklif edilen tanımlayıcıları etkinleştir |
-İ |
Parametre |
Izleyen boşlukları kaldırma |
-W |
Parametre |
Liste Örnekleri |
-L |
Parametre |
Unicode olarak biçiminde çıktı |
-u |
Parametre |
Istatistiklerini yazdır |
-p |
Parametre |
Komut son |
-c |
Parametre |
Windows kimlik doğrulaması kullanarak bağlanma |
-E |
Parametre |
See Also