Anda harus melakukan ini, ini tidak dapat diparameterisasi
....
SET @Sql = 'UPDATE ' + @server_name_param + '.dba_sandbox.dbo.SomeTable SET SomeCol=''data'''
....
Sunting:Ada cara lain yang saya gunakan kembali di hari-hari DBA murni saya
EXEC sp_setnetname 'AdhocServer', @SERVER_NAME
UPDATE AdhocServer.dba_sandbox.dbo.SomeTable SET SomeCol 'data'
EXEC sp_setnetname 'AdhocServer', 'MeaninglessValue'
sp_setnetname
apakah ada dari SQL Server 2000 hingga 2008
Sunting2. Izin :
Coba EXECUTE AS LOGIN = 'login_name'
, di mana login_name adalah superuser
Saya belum pernah menggunakan ini (saya menggunakan "AS USER" untuk pengujian), jadi tidak yakin dengan poin yang lebih baik...
Sunting 3:untuk konkurensi, pertimbangkan untuk menggunakan sp_getapplock dan prosedur tersimpan, atau mekanisme kontrol konkurensi lainnya.