Aracılığıyla paylaş


SQLCMD KomutDosyaları Query Düzenleyicisi ile düzenleme

Kullanarak Database Engine Sorgu Düzenleyicisi'nde SQL Server Management Studio Yazma ve sorguları SQLCMD komut dosyaları düzenleyin. Windows sistem komutlarını işleyecek olduğunda SQLCMD komut dosyalarını kullanma ve Transact-SQL aynı kod deyimleri.

SQLCMD modu

Kullanılacak Database Engine Yazmak veya SQLCMD komut dosyası kullanan kullanan dosyaları düzenlemek için sorgu Düzenleyicisi SQLCMD komut dosyası kullanan kullanan dosyası kullanan modunu etkinleştirmeniz gerekir. Varsayılan olarak, Query düzenleyicide SQLCMD modu etkin değil.komut dosyası kullanan kullanan dosyası kullanan modu'i tıklatarak etkinleştirebilirsiniz SQLCMD modu seçerek veya araç çubuğunda bir simgeSQLCMD modu from the Sorgu menüsü.

Not

SQLCMD etkinleştirme modu ıntellisense devre dışı bırakır ve Transact-SQL ' de hata ayıklayıcı Database Engine Sorgu Düzenleyicisi.

SQLCMD komut dosyalarında Query Düzenleyicisi'nde aynı özelliklerinin tüm Transact-SQL komut dosyalarını kullanın. Bu özellikler şunlardır:

  • Renk kodlaması

  • Komut dosyalarını çalıştırma

  • Kaynak denetimi

  • Komut dosyalarını ayrıştırma

  • gösterim planı

Query Düzenleyicisi'nde SQLCMD komut dosyası kullanan etkinleştir

Etkin bir SQLCMD komut dosyası kullanan kullanan dosyalarını etkinleştirmek için Database Engine Düzenleyicisi penceresini sorgulamak için aşağıdaki yordamı kullanın.

veritabanı altyapısı Query Düzenleyicisi penceresi SQLCMD moduna geçmek için

  1. Nesne Explorer'da sunucuyu sağ tıklatın ve sonra Yeni bir sorgu yeni bir açmak içinDatabase Engine Sorgu Düzenleyicisi penceresini açın.

  2. Üzerinde Sorgu menüsünde tıklatın.SQLCMD modu.

    Query Düzenleyici yürütür. sqlCmd deyimleri Query Düzenleyicisi'nin içeriğinde.

  3. Üzerinde SQL Düzenleyicisi araçKullanılabilir veritabanları Seçim listesiAdventureWorks.

  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. Için F5 tuşuna basarak yürütmek karma tüm bölümü Transact-SQL ve MS-DOS deyimleri.

    Birinci ve üçüncü ifadeleri gelen iki SQL sonuç bölmeleri dikkat edin.

  6. Içinde sonuçlar bölmesinde tıklatın.Iletileri sekmesi tüm üç bildirimlerine gelen iletileri görmek için:

    • (6 satırları etkilenen)

    • <Dizin bilgisi>

    • (4 satırları etkilenen)

Important noteImportant Note:

Komut satırından çalıştırıldığında sqlCmd yardımcı programı, işletim sistemiyle tam etkileşim izin verir.Query düzenleyicide kullandığınızda SQLCMD modu, etkileşimli ifadeleri yürütmek dikkatli olmalısınız.Query Düzenleyici, işletim sistemi istekleri için yanıt veremezsiniz.

SQLCMD çalıştırma hakkında daha fazla bilgi için bkz: SQLCMD yardımcı programı, veya SQLCMD öğretici.

Varsayılan olarak SQLCMD komut dosyası kullanan etkinleştir

SQLCMD komut dosyası kullanan kullanan dosyası kullanan varsayılan olarak, üzerinde açmak için Araçları menü seçinSeçenekleri, expand Sorgu yürütme, and SQL Server tıklatın.Genel sayfa ve ardından onay Varsayılan olarak SQLCMD Modu'nda yeni bir sorgu açın... box.

Yazma ve SQLCMD komut dosyalarını düzenleme

komut dosyası kullanan kullanan dosyası kullanan modu etkinleştirildikten sonra SQLCMD komutları yazabilirsiniz ve Transact-SQL ifadeler. Aşağıdaki kurallar uygulanır:

  • SQLCMD komutları, bir satırdaki ilk deyim olmalıdır.

  • Yalnızca bir SQLCMD komutu, her satırda izin verilir.

  • SQLCMD komutları açıklama ya da boşluk önlerine.

  • Açıklama karakterleri içinde SQLCMD komutlar yürütülür.

  • Tek satırlı yorum iki tire (karakterleridir--) ve satırın başında yer almalıdır.

  • Işletim sistemi komutları tarafından iki ünlem işareti nokta () gelmelidir.!!). Ünlem işareti noktaları kullanılarak çalıştırılacak izleyen deyim çift ünlem noktaları komutu neden cmd.exe Komut işlemciyi. Metinden sonra !! parametre olarak geçildi cmd.exe, son komut satırı olacak şekilde yürütmek olarak: "%SystemRoot%\system32\cmd.exe /c <text after !!>".

  • SQLCMD komutları arasında açık bir ayrım yapmak için ve Transact-SQL, tüm SQLCMD komutlar, öneki bir iki nokta üst üste işareti () ile gerekir:).

  • 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.Işleme SQLCMD SQL Server Management Studio büyük/küçük durum değişkenleri duyarlıdır. Örneğin, PRINT '(BILGISAYARADı) $' doğru sonucunu verir, ancak PRINT '(bilgisayaradı) $' hata verir.

Uyarı

SQL Server Management Studio uses Microsoft .NET FrameworkSqlClient for execution in regular and SQLCMD mode.Komut satırından çalıştırmak SQLCMD OLE DB sağlayıcı kullanır.Farklı bir varsayılan seçenekleri geçerli olabilir, çünkü aynı sorguda yürütülürken davranış elde etmek mümkündür SQL Server Management Studio SQLCMD modu ve SQLCMD yardımcı programı.

Desteklenen SQLCMD sözdizimi

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

Not

Her ikisi için :error ve :out, stderr ve stdout Çıkış için iletiler sekmesini gönderin.

Yukarıda listelenmeyen SQLCMD komutları Query Düzenleyicisi'nde desteklenmez.Desteklenmeyen SQLCMD anahtar sözcükleri içeren bir komut dosyası yürütüldüğünde, Query Düzenleyici bir "Ignoring komut gönderir <komut yoksayıldı.>"desteklenmeyen her anahtar sözcük için bir hedef ileti.Komut başarıyla yürütür, ancak desteklenmeyen komutları yoksayılacaktır.

Uyarı

SQLCMD komut satırından başlatıyorsanız değildir, çünkü bazı kısıtlamalar bulunmaktadır Query Editor SQLCMD Modu'nda çalışırken.Komut satırı parametreleri değişkenleri gibi geçirilemez ve Query Düzenleyici için işletim sistemi istekleri yanıtlayamayacak özelliği olmadığından, etkileşimli ifadeleri yürütmek dikkatli olmalısınız.

Renk SQLCMD komut dosyaları kodlama

SQLCMD etkin komut dosyası kullanan kullanan dosyası kullanan ile komut dosyası kullanan kullanan dosyaları, renk kodu olacaktır.Için kodlama rengi Transact-SQL anahtar sözcükler aynı kalır. SQLCMD komutları, gölgelendirilmiş arka plan olarak sunulur.

Örnek

Aşağıdaki örnek bir sqlCmd iki deyim testoutput.txt, adlı bir çıktı dosyası oluşturmak için yürütürTransact-SQL (Geçerli dizin dışında yazdırmak için ) bir işletim sistemi komutu ile birlikte ifadeleri SELECT. sonuçlar dosyası ileti çıktısını içeren DIR Deyim, sonuçlar çıktısı peşinden Transact-SQL ifadeler.

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

See Also

Concepts

Other Resources