У меня есть большой файл сценария, и мне нужно использовать его на другом сервере. Мне нужно изменить имя сервера один раз в начале с помощью Declare, чтобы я мог использовать один и тот же скрипт на нескольких серверах только путем изменения значения переменной.Объявить имя сервера как переменную в MS Sql Server 2016
что-то подобное:
Declare @Quell nvarchar(100)
SET @Quell = '[server1].[dbo]'
SELECT * From @Quell.[Documents]
, но это не сработало.
как это сделать? спасибо
Вы можете сделать это только с динамическим SQL – HoneyBadger
Вы не можете параметризовать identifires в SQL. Вы можете использовать динамический sql или редактировать файл с помощью текстового редактора, который имеет функцию поиска и замены, чтобы вы могли каждый раз изменять каждое имя сервера. –
Вот ссылка на [Microsoft динамические документы SQL] (https://msdn.microsoft.com/en-us/library/ms709342%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396). Альтернативный подход заключается в использовании [SSIS] (https://msdn.microsoft.com/en-us/library/ms141026.aspx) для циклизации по вашим серверам, выполняя каждый раз сценарий. –