लिंक किए गए सर्वर पर एक ट्रिगर से एक टेबल में इंसर्ट करें - खराब निर्णय। यह स्रोत तालिका ([डीबीओ]। [टेबल_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) )
-
dbo पर ट्रिगर। SourceTable जल्दी से dbo.SyncQueue रिकॉर्ड कुंजी में सम्मिलित कर सकता है जिसे आपको सिंक्रनाइज़ करने की आवश्यकता है
- कुछ समय-समय पर निष्पादित संग्रहीत कार्यविधि तब लिंक किए गए सर्वर पर कतार से रिकॉर्ड सम्मिलित कर सकती है।