2009-05-08 11 views

cevap

56

sqlCmd.exe en iyi yolu ise, SSMS ayrıca bir SQLCMD yürütebileceği bir SQLCMD modu vardır senaryo. Bu modu etkinleştirmek için menü çubuğunda Sorgu'u tıklatın, ardından SQLCMD Modu'u seçin.

": r filename.sql" komutu, bir sql komut dosyasını içe aktarmak ve yürütmek için SQLCMD komut dosyası komutudur. SQLCMD modunda olduğunuzu biliyorsunuz, çünkü SQLCMD komut dosyası komutları herhangi bir satır renkli (gri sanırım) arka plan ile görünecektir.

:setvar path "c:\Path_to_scripts\" 
:r $(path)\file1.sql 
:r $(path)\file2.sql 
+1

Notlar - dosya yolları sunucuya değil, SSMS çalıştıran makineye göre değişir. Bu özelliğe alışmak için, SQLCMD düğmesini araç çubuğuna eklemek daha kolaydır ve ardından modda etkinleştirilmiş/devre dışı bırakılmış modu görebilirsiniz, '' 'komutunun arka rengi de sorgu penceresinde gri/beyaz olarak değişir. –

+0

sqlcmd neden bu gönderide önerilen çözümden daha iyi? –

+0

Çalıştırmak için sqlcmd.exe yaklaşımını asla alamıyorum. Eminim ki, sunucu, kullanıcı adı veya şifre ile ilgili olarak parametrelerden birini yanlış belirtiyordum. Ancak bu cevabı kullanabildim ve SSQL'de SQLCMD modunu herhangi bir sorun olmadan kullanabildim. Belki de her zaman SSMS'de yaptığım gibi veritabanına bağlanabildim. Mükemmel bir yaklaşım. –

17

SqlCmd.exe'u kullanın. example için

:

sqlcmd -S myServer\instanceName -i C:\myScript.sql 

veya bir dosyaya çıktı kaydetmek için:

sqlcmd -S myServer\instanceName -i C:\myScript.sql -o C:\EmpAdds.txt 
+0

Basit ve zarif. Bana bir sürü zaman kurtardı. Thx ... –