Verwenden von SQL Server 2008 R2 Enterprise Edition
Betrachten Sie die folgende Aussage:
:setvar source_server_name "SERVERNAME\INSTANCENAME"
Ist es im SQLCMD-Modus möglich, diesen Wert mit TSQL abzurufen?
Etwas wie: :setvar source_server_name = SELECT @@servername
Vielen Dank
Update 15.07.2013
Die beiden unten aufgeführten Antworten haben nicht das gewünschte Ergebnis geliefert, daher füge ich eine relevantere Exampe hinzu.
:setvar source_server_name [myserver]
Die Variable source_server_name wird auf die Textzeichenfolge [myserver_1] gesetzt.
Das möchte ich können:
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
Die Variable source_server_name würde auf den Wert in server für die ID 1 gesetzt.