Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Nama tabel yang sepenuhnya memenuhi syarat dengan SP_ExecuteSql untuk mengakses server jarak jauh

Anda harus melakukan ini, ini tidak dapat diparameterisasi

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

Sunting:Ada cara lain yang saya gunakan kembali di hari-hari DBA murni saya

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

sp_setnetname apakah ada dari SQL Server 2000 hingga 2008

Sunting2. Izin :

Coba EXECUTE AS LOGIN = 'login_name' , di mana login_name adalah superuser

Saya belum pernah menggunakan ini (saya menggunakan "AS USER" untuk pengujian), jadi tidak yakin dengan poin yang lebih baik...

Sunting 3:untuk konkurensi, pertimbangkan untuk menggunakan sp_getapplock dan prosedur tersimpan, atau mekanisme kontrol konkurensi lainnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSRS Hapus Kolom dari Laporan

  2. Bisakah kita meneruskan parameter ke tampilan di SQL?

  3. Dapatkan semua orang tua untuk seorang anak

  4. Cara Membangun Kembali Basis Data Master di SQL Server dengan Mudah

  5. SQL Server:String Kosong VS Null