Uso de SQL Server 2008 R2 Enterprise Edition
Considere la siguiente declaración:
:setvar source_server_name "SERVERNAME\INSTANCENAME"
¿Es posible en modo SQLCMD obtener ese valor usando TSQL
Algo como: :setvar source_server_name = SELECT @@servername
Gracias
Actualización 15/7/2013
Las dos respuestas que se ofrecen a continuación no dieron el resultado deseado, así que estoy agregando un examen más relevante.
:setvar source_server_name [myserver]
La variable source_server_name se establece en la cadena de texto [myserver_1]
Me gustaría poder hacer esto:
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
La variable source_server_name se establecería en el valor en el servidor para id 1.
sql-server
sql-server-2008-r2
sqlcmd
Craig Efrein
fuente
fuente
Respuestas:
Creo que necesita enviar sus resultados a un archivo y traerlos de vuelta. Algo como esto debería ayudarlo a acercarse a lo que está buscando:
Puedes ver más ejemplos aquí .
fuente