Если вам необходимо различать определенные части ваших сценариев в зависимости от того, где вы их выполняете, вы можете использовать SQLCMD.
У меня был успех с этим подходом в прошлом, когда мне нужно было выполнить восстановление базы данных, и я знал, что пути к данным различаются между блоками.
Должно работать что-то вроде следующего:
SQLCMD -SMyDatabaseServer
-Q "RESTORE DATABASE $(DatabaseName) FROM DISK = '$(BackupLocation)\$(DatabaseName).bak' WITH NORECOVERY, STATS=10, REPLACE;"
-v
DatabaseName = MyDatabase
BackupLocation = "C:\SomeLocation"
-d master
-u [User]
-p [Password]
Это версия встроенного запроса. Если вам нужно работать с файлами сценариев SQL, измените раздел -Q «...» на -i yourFile.sql, а затем скопируйте и вставьте сам запрос в файл sql. SQLCMD примет ваши переменные, определенные ключом -v, и заменит их аналоги в вашем запросе, определенные как -Q или -i.
Для более подробной информации см .: http://msdn.microsoft.com/en-us/library/ms180944.aspx.