Aracılığıyla paylaş


SQLcmd komut dosyalarını Query Düzenleyicisi ile düzenleme

Kullanarak Veritabanı Altyapısı Sorgu Düzenleyicisi'nde SQL Server Management Studio yazmak ve düzenlemek sorguları olarak sqlcmd komut dosyaları.Windows sistem komutları işlemek olduğunda sqlcmd komut dosyalarını kullanma ve Transact-SQL aynı komut deyimleri

sqlcmd modu

Kullanmak için Veritabanı Altyapısı yazmak veya sqlcmd komut dosyası kullanan kullanan kullanan dosyalarını düzenlemek için sorgu Düzenleyicisi, sqlcmd komut dosyası kullanan kullanan kullanan dosyası çalıştırma modu. etkinleştirmeniz gerekirVarsayılan olarak, sorgu Düzenleyicisi'nde sqlcmd modu etkin değildir.Tıklatarak komut dosyası kullanan kullanan kullanan modunu etkinleştirebilirsiniz sqlcmd modu seçerek veya araç çubuğunda simgesini sqlcmd modu dan sorgu menü.

Not

sqlcmd etkinleştirme IntelliSense modunu kapatır ve Transact-SQL , hata ayıklayıcı, Veritabanı Altyapısı sorgu Düzenleyicisi.

sqlcmd komut dosyaları sorgu Düzenleyicisi'nde kullanabileceğiniz aynı özellikleri, tüm Transact-SQL komut dosyalarını kullanın.Bu özellikler şunları içerir:

  • Renk kodlaması

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

  • Kaynak denetimi

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

  • Showplan

Sorgu Düzenleyicisi'nde sqlcmd komut dosyasını etkinleştir

Etkin bir için sqlcmd komut dosyası kullanan kullanan kullanan dosyası açmak için Veritabanı Altyapısı Query Editor Window'u kullanmak aşağıdaki yordamı.

Bir Database Engine Query Editor penceresi sqlcmd moduna geçmek için

  1. Object Explorer'da sunucuyu sağ tıklatın ve sonra tıklatın Yeni bir sorguyeni bir açmak için Veritabanı Altyapısı sorgu Düzenleyicisi penceresi.

  2. Üzerinde sorgu menüsünde'i tıklatın sqlcmd modu.

    Sorgu Düzenleyicisi'ni yürüten sqlcmd Query Editor'ın ifadeleri kapsamında.

  3. Üzerinde sql Düzenleyicisi araç, de Kullanılabilir veritabanları liste, seçme AdventureWorks2008R2.

  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. İçin F5 tuşuna yürütmek bütün bölümünü karışık Transact-SQL ve ms-dos deyimleri.

    Birinci ve üçüncü ifadeleri alınan iki sql sonuç bölmeleri dikkat edin.

  6. De sonuçları bölmesinde tıklatın iletileri üç ifade tüm gelen iletileri görmek için sekmeyi:

    • (6 satırları etkilenen)

    • <Dizin bilgisi>

    • (4 satırları etkilenen)

Önemli notÖnemli

Komut satırından çalıştırıldığında sqlcmd yardımcı programını işletim sistemiyle tam etkileşim izin verir.Sorgu Düzenleyicisi'nde kullandığınızda, sqlcmd modu, çok dikkatli olmalısınız değil yürütmek etkileşimli deyimleri.Query Editor işletim sistemi yanıt alamazsınız.

sqlcmd çalıştırma hakkında daha fazla bilgi için bkz: sqlcmd Yardımcı Programı, veya sqlcmd öğretici.

sqlcmd varsayılan olarak komut dosyasını etkinleştir

sqlcmd komut dosyası kullanan kullanan kullanan dosyası varsayılan olarak açık açmak için araçları menüsünü seçin seçenekleri, genişletin Sorgu yürütme, ve sql Server,'ı Genel sayfa ve iade Varsayılan olarak yeni sorgular sqlcmd modunda açın kutusu.

Yazma ve sqlcmd komut dosyalarını düzenleme

komut dosyası kullanan kullanan kullanan dosyası kullanan modunu etkinleştirdikten sonra sqlcmd komutları yazabilirsiniz ve Transact-SQL deyimleri.Aşağıdaki kurallar uygulanır:

  • sqlcmd komutları satırdaki ilk deyim olmalıdır.

  • Her satırda tek bir sqlcmd komut izin verilir.

  • sqlcmd komutları yorumlar veya beyaz boşluk önlerine.

  • İçindeki yorum karakterlerinin sqlcmd komutları yürütülmez.

  • Tek satırlı yorum karakterlerdir iki tire (--) ve gerekir görünür başındaki satırı.

  • İki ünlem işletim sistemi komutlarını öncesinde (!!).Çift-ünlem işareti komutu kullanılarak yürütülecek ünlem aşağıdaki deyim neden olan cmd.exe komut işlemci.Sonra metin !! geçirilir bir parametre olarak cmd.exe, son komut satırı olacak şekilde yürütmek olarak: "%SystemRoot%\system32\cmd.exe /c <text after !!>".

  • sqlcmd komutları arasında NET bir ayrım yapmak ve Transact-SQL, tüm sqlcmd komutlar, iki nokta üst üste ile öneki gerekiyor (:).

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

  • The Veritabanı Altyapısı 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 processing by SQL Server Management Studio is case sensitive for variables.Örneğin, Yazdır '$ (bilgisayaradı)' üretir (bilgisayaradı) PRINT '$' ancak doğru sonucu bir hata döndürür.

Dikkat notuDikkat

SQL Server Management Studio uses Microsoft .NET Framework SqlClient for execution in regular and SQLCMD mode.sqlcmd komut satırından çalıştırıldığında, ole db kullanır sağlayıcı.Farklı bir varsayılan seçenekleri geçerli olabilir çünkü, aynı sorguyu yürütürken farklı davranışı elde etmek mümkündür SQL Server Management Studio sqlcmd modu ve sqlcmd yardımcı programı.

Desteklenen sqlcmd sözdizimi

The Veritabanı Altyapısı 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 de :error ve :out, stderr ve stdout göndermek için iletiler sekmesini tıklatın, çıkış

Sorgu Düzenleyicisi'nde yukarıda listelenen sqlcmd komutlar desteklenir.Desteklenmeyen sqlcmd anahtar sözcükleri içeren bir komut dosyası yürütüldüğünde, Query Editor göndereceğiniz bir "komutu yok sayarak <komut göz ardı>" ileti hedef desteklenmeyen her anahtar sözcük için.Komut dosyası olur yürütmek başarılı bir şekilde, ancak desteklenmeyen komutlar yoksayılır.

Dikkat notuDikkat

Sizin sqlcmd komut satırından başlatma değil çünkü bazı sınırlamalar vardır Query Editor sqlcmd modunda çalışırken.Değişkenleri gibi komut satırı parametreleri geçirilemez ve sorgu Düzenleyicisi işletim sistemi yanıtlamasına olanağı olmadığı için çok dikkatli olmalısınız değil yürütmek etkileşimli deyimleri.

sqlcmd komut dosyalarını kodlama rengi

komut dosyası kullanan kullanan kullanan dosyaları etkin sqlcmd komut dosyası kullanan kullanan kullanan dosyası ile renk kodlu olacaktır.Renkli için kodlama Transact-SQL anahtar sözcükler aynı kalır.sqlcmd komutları gölgeli arka plan ile sunulur.

Örnek

Aşağıdaki örnek bir sqlcmd deyim , testoutput.txt adlı bir çıktı dosyası oluşturmak için iki yürütür Transact-SQL seçin deyims (geçerli dizini yazdırmak için) bir işletim sistemi komutu ile birlikte.İleti çýktýsý sonuçlar dosyasını içeren DIR deyim, elde edilen sonuçlar Çıktı arkasından Transact-SQL deyimleri.

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

Ayrıca bkz.

Başvuru

Kavramlar