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

किसी लिंक किए गए एसक्यूएल सर्वर में डालने को सही तरीके से कैसे ट्रिगर करें?

लिंक किए गए सर्वर पर एक ट्रिगर से एक टेबल में इंसर्ट करें - खराब निर्णय। यह स्रोत तालिका ([डीबीओ]। [टेबल_1]) में सम्मिलित प्रदर्शन पर बहुत प्रभाव डालता है और एक वितरित लेनदेन भी होता है, और वितरित लेनदेन का समर्थन करने के लिए सर्वर को कॉन्फ़िगर करना - दुःस्वप्न।

एक संभावित समाधान है:

  1. स्रोत सर्वर पर आप एक सिंक्रनाइज़ेशन कतार तालिका बना सकते हैं। उदाहरण के लिए:

    CREATE TABLE dbo.SyncQueue
    (
        QueueId INT IDENTITY(1,1),        
        KeyForSync INT, -- Primary key value of record in dbo.SourceTable
        SyncStatus INT  -- statuses can be: 0 - New, 1 - Synchronized, 2 - Error
    )
    
    suppose you source table is
    
    CREATE TABLE dbo.SourceTable
    (
            Key INT, -- primary key of the table
            Data varchar(xxx)
    )
    
  2. dbo पर ट्रिगर। SourceTable जल्दी से dbo.SyncQueue रिकॉर्ड कुंजी में सम्मिलित कर सकता है जिसे आपको सिंक्रनाइज़ करने की आवश्यकता है

  3. कुछ समय-समय पर निष्पादित संग्रहीत कार्यविधि तब लिंक किए गए सर्वर पर कतार से रिकॉर्ड सम्मिलित कर सकती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ASP.NET वेबसाइट में File.CreateFile का उपयोग करके Sql Server 2012 FileTable में फ़ाइल डालने पर पहुँच अस्वीकृत

  2. Sql सर्वर में केवल पढ़ने योग्य दृश्य बनाना

  3. मैं अपने ASP.NET MVC एप्लिकेशन में Microsoft.SqlServer.Management.Common को नहीं जोड़ सकता

  4. डेटाबेस डिज़ाइन:एक विशाल टेबल या अलग टेबल?

  5. मैं SQL सर्वर में किसी दिनांक से माह संख्या (महीने का नाम नहीं) कैसे प्राप्त कर सकता हूं?