Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

दूरस्थ सर्वर तक पहुँचने के लिए SP_ExecuteSql के साथ पूरी तरह से योग्य तालिका नाम

आपको यह करना होगा, इसे पैरामीटरयुक्त नहीं किया जा सकता

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

संपादित करें:एक और तरीका है जिसका उपयोग मैंने अपने शुद्ध डीबीए दिनों में किया था

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 और एक संग्रहीत कार्यविधि, या कुछ अन्य समवर्ती नियंत्रण तंत्र का उपयोग करने पर विचार करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सर्वर से कनेक्ट नहीं हो सकता - नेटवर्क से संबंधित या उदाहरण-विशिष्ट त्रुटि

  2. एसक्यूएल तारीख से कम नजदीकी पर शामिल हों

  3. SQL - पंक्तियों की संख्या के आधार पर लौटाई गई पंक्तियों की संख्या को सीमित करें

  4. फीफो कतार के लिए एसक्यूएल थ्रेडसेफ अद्यतन शीर्ष 1

  5. SQL सर्वर में डेटाबेस इंडेक्स डिज़ाइन के लिए शीर्ष पाँच विचार