これを行う必要があります。パラメータ化することはできません
....
SET @Sql = 'UPDATE ' + @server_name_param + '.dba_sandbox.dbo.SomeTable SET SomeCol=''data'''
....
編集:純粋な DBA 時代に使用した別の方法があります
EXEC sp_setnetname 'AdhocServer', @SERVER_NAME
UPDATE AdhocServer.dba_sandbox.dbo.SomeTable SET SomeCol 'data'
EXEC sp_setnetname 'AdhocServer', 'MeaninglessValue'
sp_setnetname
SQL Server 2000 から 2008 まであります
編集2. パーミッション :
EXECUTE AS LOGIN ='login_name'<を試してください。 /コード>
ここで、login_name はスーパーユーザーです
私はこれを実際に使用したことがないので (テストには "AS USER" を使用します)、細かい点はわかりません...
編集 3:同時実行のために、sp_getapplock とストアド プロシージャ、またはその他の同時実行制御メカニズムの使用を検討してください。