Dies müssen Sie tun, es kann nicht parametrisiert werden
....
SET @Sql = 'UPDATE ' + @server_name_param + '.dba_sandbox.dbo.SomeTable SET SomeCol=''data'''
....
Bearbeiten:Es gibt einen anderen Weg, den ich in meinen reinen DBA-Tagen verwendet habe
EXEC sp_setnetname 'AdhocServer', @SERVER_NAME
UPDATE AdhocServer.dba_sandbox.dbo.SomeTable SET SomeCol 'data'
EXEC sp_setnetname 'AdhocServer', 'MeaninglessValue'
sp_setnetname
gibt es von SQL Server 2000 bis 2008
Bearbeiten2. Berechtigungen :
Versuchen Sie EXECUTE AS LOGIN = 'login_name'
, wobei login_name ein Superuser ist
Ich habe das nicht wirklich benutzt (ich benutze "AS USER" zum Testen), also bin ich mir der Feinheiten nicht sicher ...
Bearbeiten 3:Für Parallelität sollten Sie die Verwendung von sp_getapplock und einer gespeicherten Prozedur oder eines anderen Mechanismus zur Steuerung der Parallelität in Betracht ziehen.