Musisz to zrobić, nie można tego sparametryzować
....
SET @Sql = 'UPDATE ' + @server_name_param + '.dba_sandbox.dbo.SomeTable SET SomeCol=''data'''
....
Edycja:jest inny sposób, z którego korzystałem w moich czystych dniach DBA
EXEC sp_setnetname 'AdhocServer', @SERVER_NAME
UPDATE AdhocServer.dba_sandbox.dbo.SomeTable SET SomeCol 'data'
EXEC sp_setnetname 'AdhocServer', 'MeaninglessValue'
sp_setnetname
jest tam od SQL Server 2000 do 2008
Edytuj2. Uprawnienia :
Wypróbuj WYKONAJ JAKO ZALOGUJ ='nazwa_logowania'
, gdzie nazwa_logowania to superużytkownik
Tak naprawdę tego nie używałem (używam "AS USER" do testowania), więc nie jestem pewien co do drobniejszych punktów...
Edycja 3:w przypadku współbieżności rozważ użycie sp_getapplock i procedury składowanej lub innego mechanizmu kontroli współbieżności.