U moet dit doen, het kan niet worden geparametriseerd
....
SET @Sql = 'UPDATE ' + @server_name_param + '.dba_sandbox.dbo.SomeTable SET SomeCol=''data'''
....
Bewerken:er is een andere manier die ik in mijn pure DBA-dagen gebruikte
EXEC sp_setnetname 'AdhocServer', @SERVER_NAME
UPDATE AdhocServer.dba_sandbox.dbo.SomeTable SET SomeCol 'data'
EXEC sp_setnetname 'AdhocServer', 'MeaninglessValue'
sp_setnetname
is er van SQL Server 2000 tot 2008
Bewerken2. Machtigingen :
Probeer EXECUTE AS LOGIN = 'login_name'
, waarbij login_name een supergebruiker is
Ik heb dit niet echt gebruikt (ik gebruik "AS USER" om te testen), dus ik weet niet zeker hoe het precies zit...
Bewerken 3:voor gelijktijdigheid, overweeg om sp_getapplock en een opgeslagen procedure te gebruiken, of een ander mechanisme voor gelijktijdigheidscontrole.