Menggunakan SQL Server 2008 R2 Enterprise Edition
Pertimbangkan pernyataan berikut:
:setvar source_server_name "SERVERNAME\INSTANCENAME"
Apakah mungkin dalam mode SQLCMD untuk mendapatkan nilai itu menggunakan TSQL
Sesuatu seperti: :setvar source_server_name = SELECT @@servername
Terima kasih
Pembaruan 7/15/2013
Dua jawaban yang ditawarkan di bawah ini tidak cukup memberikan hasil yang diinginkan, jadi saya menambahkan contoh yang lebih relevan.
:setvar source_server_name [myserver]
Source_server_name variabel diatur ke string teks [myserver_1]
Saya ingin dapat melakukan ini:
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 variabel akan diatur ke nilai di server untuk id 1.
sql-server
sql-server-2008-r2
sqlcmd
Craig Efrein
sumber
sumber
Jawaban:
Saya pikir Anda perlu menampilkan hasil Anda ke file dan membawanya kembali. Sesuatu seperti ini akan membantu Anda mendekati apa yang Anda cari:
Anda dapat melihat lebih banyak contoh di sini .
sumber