Dovrai farlo, non può essere parametrizzato
....
SET @Sql = 'UPDATE ' + @server_name_param + '.dba_sandbox.dbo.SomeTable SET SomeCol=''data'''
....
Modifica:c'è un altro modo che ho usato ai miei giorni DBA puri
EXEC sp_setnetname 'AdhocServer', @SERVER_NAME
UPDATE AdhocServer.dba_sandbox.dbo.SomeTable SET SomeCol 'data'
EXEC sp_setnetname 'AdhocServer', 'MeaninglessValue'
sp_setnetname
esiste da SQL Server 2000 a 2008
Modifica2. Autorizzazioni :
Prova EXECUTE AS LOGIN = 'login_name'
, dove login_name è un superutente
Non l'ho usato davvero (uso "AS USER" per i test), quindi non sono sicuro dei punti più fini...
Modifica 3:per la concorrenza, considera l'utilizzo di sp_getapplock e una stored procedure o qualche altro meccanismo di controllo della concorrenza.