İçerisinde SQL Script’lerin bulunduğu metin dosyalarını komut satırında çalıştırmak için en iyi yöntem OSQL veya SQLCMD programcıklarını kullanmaktır (SQL Server Command Line Tool). Bilindiğim gibi bu araçlar Command Prompt’tan SQL Sunucusuna erişmeyi sağlayıp sorgu çalıştırmamıza imkan tanır. OSQL aracı SQL 2000’den beri kullanılmakta. SQL Server 2005 ile birlikte SqlCmd aracı sunuldu. Aşağıdaki ekranda bu komutların parametreleri görülmektedir.
Temelde aynı özellik ve amaca sahip görünse de SqlCmd daha gelişmiş bir araçtır.
Bu araçların “i” parametresi kullanarak bir metin dosyasındaki scriptleri SQL sunucu üzerinde çalıştırabiliriz.
SqlCmd -S Server\instanceName -i C:\ScriptDosya.sql
Input olarak verilmiş sorguları bu şekilde çalıştırabiliriz. Aynı şekilde sorgu sonucunu output olarak bir dosyaya yazdırmak için de “o” parametresi kullanılır.
SqlCmd -S Server\instanceName -i C:\ScriptDosya.sql -o C:\Liste.txt
Merhabalar;
Ben Sql Server 2014 üzerinde Lksdbnew datasında bazen delete dlg_netlock querysini çalıştırıp tablonun içini silmem gerekiyor. Tabi bunun için de sql ye girmem lazım. Bu işlemi bir bat dosyasıyla nasıl yapabilirim?
sql cmd ile..
Merhaba Hasan Bey,
örnek olarak C:\Dosya\Sorgu.sql dosyası oluşturun. Bu dosyanın içerisine aşağıdaki cümleyi yazın.
DELETE dlg_netlock
Ardından bir batch dosyası oluşturun içerisine SQLCMD’nin pathini yazarak parametrelerini girebilirsiniz. Örnek olarak aşağıdaki satırları girmeniz yeterli olacaktır.
echo off
C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SQLCMD.EXE -E -S SUNUCU_ADI -i C:\Dosya\Sorgu.sql
Buradaki -E parametresi default authentication’ı temsil etmektedir eğer kullanıcı adı ve şifre girecekseniz -U ve P parametrelerini kullanabilirsiniz.
http://technet.microsoft.com/en-us/library/ms162773.aspx
osql -s pckullanıcı -E
1> sp_password NULL,’1234’,’sa’
2> go
komut başlangıcında 1 ve 2 otomatik gelmesini nasıl sağlarım
1 ve 2 vseçeneği her zaman girilmesini istemiyorum