попробуйте запустить sqlcmd из powershell с некоторыми переменными.Но получите ошибку.
Простой тест.Я знаю, что этот выбор действительно прост, но этого достаточно, чтобы показать проблему.
это содержимое моего файла sql:
USE [master]
select name from sys.databases where NAME = $(db)
GO
Теперь я запускаю это: sqlcmd -S testserver -v db="Test" -i \mssql_duplicate\testvariable.sql
я получаю следующее сообщение:
Meldung "207", Ebene "16", Статус "1", Сервер "testserver", Zeile 2 "Ungültiger Spaltenname " Test "."
Итак, мой вопрос: почему sqlcmd делает это преобразование?Когда я помещаю его имя в сценарий sql, он работает нормально:
USE [master]
select name from sys.databases where NAME = "TEST"
GO
sqlcmd -S testserver -i \mssql_duplicate\testvariable.sql
Спасибо за вашу помощь!