Aracılığıyla paylaş


ı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