Herkese Merhaba ,
Anlatacağım konu özellikle SQL Express kullananların çok işine yarayacak nedeni ise SQL'in Express sürümünde Agent service'i çalışmıyor bu nedenle bu scriptler Agent'ın yaptığı işi yapacak. Lisanslı bir sql'iniz olsa bile birden fazla sunucuda çalıştırmanız gereken procedure ve sql uzantılı bir dosya olduğunda schedule task olarak tanımlayıp DB'lerinizde çalıştırabilirsiniz. Örnek kullanımları aşağıda paylaşıyorum ama öncesinde bu scriptlerin çalışabilmesi için SQL sunucunuz üzerinde bir ayarı aktif etmeniz gerekiyor bu ayarı aktif edebilmeniz için SQL sunucunuza sağ tıklayıp açılan menüde Facets seçiniz. Sonrasında Facet : kısmından Surface Area Configuration seçip gelen ekranda XPCmdShellEnabled kısmını true yapmanız gerekmektedir.
Procedure çalıştırmak isterseniz kullanılacak komut
sqlcmd.exe -S "DBIP" -d DBADI -U "sql kullanıcı adı" -P "sql şifre" -Q "EXEC procedure adı"
Sql uzantılı dosya içerisindeki kodları çalıştırmak isterseniz kullanılacak komut
sqlcmd.exe -S "DBIP" -d DBADI -U "sql kullanıcı adı" -P "sql şifre" -i "TableCreate.sql"
İşim gereği birden fazla SQL sunucusunda bazı procedure ve sciptler çalıştırmam gerekiyor. Ayrı Ayrı SQL sunucularının Agent servislerinde uğraşıcağıma tek bir BAT dosyası ile birden fazla DB sunucusunda istediğim komutları çalıştırabiliyorum umarım sizinde işinize yarar.
BAT Dosyasından SQL Procedure ve sql uzantılı dosyaları çalıştırmak
0
●977