sql >> Database teknologi >  >> RDS >> Sqlserver

Fuldt kvalificerede tabelnavne med SP_ExecuteSql for at få adgang til fjernserver

Du bliver nødt til at gøre dette, det kan ikke parametreres

....
SET @Sql = 'UPDATE ' + @server_name_param + '.dba_sandbox.dbo.SomeTable SET SomeCol=''data'''
....

Edit:Der er en anden måde, som jeg brugte tilbage i mine rene DBA-dage

EXEC sp_setnetname 'AdhocServer', @SERVER_NAME
UPDATE AdhocServer.dba_sandbox.dbo.SomeTable SET SomeCol 'data'
EXEC sp_setnetname 'AdhocServer', 'MeaninglessValue'

sp_setnetname er der fra SQL Server 2000 til 2008

Rediger 2. Tilladelser :

Prøv UDFØR SOM LOGIN ='login_name' , hvor login_name er en superbruger

Jeg har ikke rigtig brugt dette (jeg bruger "SOM BRUGER" til test), så jeg er ikke sikker på de finere sider...

Rediger 3:for samtidighed, overvej at bruge sp_getapplock og en lagret procedure eller en anden samtidighedskontrolmekanisme.



  1. DATEDIFF_BIG() Eksempler i SQL Server

  2. Formatering af tal med kommaer i MariaDB

  3. Få låste tabeller i mysql-forespørgsel

  4. Yii - opret midlertidig tabel og brug den i næste forespørgsel giver Generel fejl:2014 Kan ikke udføre forespørgsler, mens andre ubuffrede forespørgsler er aktive