Использование SQL Server 2008 R2 Enterprise Edition
Рассмотрим следующее утверждение:
:setvar source_server_name "SERVERNAME\INSTANCENAME"
Можно ли в режиме SQLCMD получить это значение с помощью TSQL
Что-то вроде: :setvar source_server_name = SELECT @@servername
Спасибо
Обновление 15.07.2013
Два приведенных ниже ответа не совсем дали желаемый результат, поэтому я добавляю более актуальный экзамен.
:setvar source_server_name [myserver]
Переменная source_server_name установлена в текстовую строку [myserver_1]
Я хотел бы иметь возможность сделать это:
create table #tmp(
id int identity(1,1),
server sysname
)
insert into #tmp values('myserver_1'),('myserver_2');
:setvar source_server_name = SELECT server FROM #tmp WHERE id = 1
select '$(source_server_name)'
(No column name)
myserver_1
Переменная source_server_name будет установлена в значение на сервере для идентификатора 1.
sql-server
sql-server-2008-r2
sqlcmd
Крейг Эфрейн
источник
источник
Ответы:
Я думаю, что вам нужно вывести свои результаты в файл и вернуть их обратно. Нечто подобное должно помочь вам приблизиться к тому, что вы ищете:
Вы можете увидеть больше примеров здесь .
источник