Korzystanie z SQL Server 2008 R2 Enterprise Edition
Rozważ następujące oświadczenie:
:setvar source_server_name "SERVERNAME\INSTANCENAME"
Czy w trybie SQLCMD można uzyskać tę wartość za pomocą TSQL
Coś jak: :setvar source_server_name = SELECT @@servername
Dziękuję Ci
Aktualizacja 15.07.2013
Dwie przedstawione poniżej odpowiedzi nie dały pożądanego rezultatu, więc dodaję bardziej odpowiedni przykład.
:setvar source_server_name [myserver]
Zmienna nazwa_serwera_źródłowego jest ustawiona na ciąg tekstowy [myserver_1]
Chciałbym móc to zrobić:
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
Zmienna nazwa_serwera_źródłowego byłaby ustawiona na wartość dla serwera dla id 1.