2012-06-14 20 views
12

मिरर करते समय मैं SQL सर्वर में डेटाबेस को मिरर करने का प्रयास कर रहा हूं। मैंने एक डेटाबेस बनाया और इसका बैकअप लिया और दूसरे सर्वर पर बहाल किया। लेकिन सभी परिचालन करने के बाद और प्रारंभ मिररिंग पर क्लिक करें, फिर यह निम्न त्रुटि दिखा रहा है। मैंने साक्षी सर्वर विकल्प enter image description here पर "नहीं" रखा।त्रुटि को हल करने के लिए कैसे करें: 1418 sql सर्वर में

मैं इस link यहाँ यह कहना है के चरणों का मिररिंग, दोनों प्राचार्य और कदम 3. में एक ही पहचान के साथ दर्पण सर्वर पर कोई उपयोगकर्ता यह दोनों सर्वर पर एक ही उपयोगकर्ता बनाने के लिए आवश्यक है बनाने पीछा किया? या कोई वैकल्पिक समाधान है?

+0

मुझे लगता है कि उपरोक्त समस्या पोर्ट नंबरों के कारण हुई थी। उदाहरण के लिए दिया गया वही पोर्ट नंबर उदाहरण 1 और उदाहरण 2। सिद्धांत सर्वर के लिए डिफ़ॉल्ट पोर्ट नंबर 5022 है, मिरर 5023 है और गवाह 5024 है। तो एक बार पोर्ट नंबरों की जांच करें । – sandy

उत्तर

17

मुझे भी एक ही समस्या का सामना करना पड़ा। आपको एक बार निम्नलिखित आइटमों की जांच करनी होगी।

  1. गोटो services.msc और जाँच एसक्यूएल सर्वर जिसके तहत खाता चल रहा है। सुनिश्चित करें कि SQL सर्वर और SQL सर्वर एजेंट सेवाओं को समान प्रमाण-पत्रों के साथ चलाना चाहिए।

  2. दर्पण डेटाबेस सर्वर में आपको चरण 1 के समान चरण करना चाहिए। वही प्रमाण-पत्र मूल सर्वर के रूप में दें। यदि वह उपयोगकर्ता मौजूद नहीं है तो दोनों प्रमाण पत्र वाले दोनों सर्वरों पर एक नया बनाएं।

  3. अब प्रिंसिपल सर्वर मिला है और एसक्यूएल सर्वर में सुरक्षा -> लॉगिन के तहत नया लॉगिन जोड़ें। Sysadmin और जनता के रूप में सर्वर भूमिकाएं दें। दर्पण सर्वर पर भी वही उपयोगकर्ता जोड़ें।

  4. अब प्रिंसिपल डेटाबेस में दर्पण करें। आपको वहां कोई त्रुटि नहीं मिली।

+0

आप कहते हैं "सुनिश्चित करें कि एसक्यूएल सर्वर और एसक्यूएल सर्वर एजेंट सेवाओं को सिद्धांत और मिरर दोनों पर समान प्रमाण-पत्रों के साथ चलाना चाहिए"। मैं एक विंडोज सक्रिय निर्देशिका डोमेन में नहीं चल रहा हूँ। मेरी सेवाओं को स्थानीय उपयोगकर्ता खातों के तहत चलाना है। क्या आपका उत्तर यह मानता है कि उपयोगकर्ता सक्रिय निर्देशिका उपयोगकर्ता हैं? – Dave

+0

धन्यवाद, डोमेन खाते के तहत SQL सर्वर चलाने से यह मेरे लिए तय हो गया है। क्या स्थानीय खाते की बजाय कोई नीचे की तरफ हैं? –

+0

समान प्रमाण-पत्र कहकर, क्या उपयोगकर्ताओं के लिए एक ही पासवर्ड होना आवश्यक है? मैंने कोशिश की और प्रतिकृति सफल नहीं हुआ। प्रत्याशित सर्वर उपयोगकर्ता डोमेन खाता और दर्पण एक ही नाम के साथ स्थानीय व्यवस्थापक का उपयोग करता है लेकिन शायद अलग पासवर्ड। क्या सामान्य रूप से काम करना चाहिए? – RayofCommand

1

तुम भी प्रति एक बहाल राज्य है, जो उस में छोड़ दिया जाना चाहिए मिरर को चालू करने में मिरर लिए करना छोड़ने नहीं किया जा सकता।

आमतौर पर, एसक्यूएल सर्वर मिरर करने के लिए प्रक्रिया है:

1) बैकअप मूल डेटाबेस और सर्वर मिरर लिए करना करने के लिए इसे कॉपी।

2) लेनदेन लॉग का बैकअप लें और इसे मिररिंग के लिए सर्वर पर कॉपी करें।

3) एमएमसी से डेटाबेस को पुनर्स्थापित करें और डेटाबेस के बैकअप का पता लगाएं और लेन-देन की कोई रोलबैक नहीं होने के साथ गैर-कार्यशील स्थिति में जाने के लिए सेट विकल्पों के साथ इसे पुनर्स्थापित करें।

4) चेस पुनर्स्थापित करें और फ़ाइलों को चुना और फिर लॉग फ़ाइलों का चयन करें और रोल रोल बैकअप को रोलबैक और गैर-फ़ंक्शनिंग के विकल्प के साथ पुनर्स्थापित करें। एसक्यूएल सर्वर 2008 पर विकल्प पृष्ठ के नीचे यह दूसरा रेडियो बटन है।

5) मूल डेटाबेस कॉपी सर्वर पर जाएं और मिररिंग चालू करें। आपको मिररिंग वार्तालाप शुरू करने के लिए दोनों सर्वरों पर sysadmin अधिकार रखने वाले खाते का उपयोग करने की आवश्यकता होगी।

2

एक ही समस्या, त्रुटि 1418. यहाँ सब कुछ सुझाव दिया है: link

मसा में यह स्पष्ट था। मिररिंग> कॉन्फ़िगरेशन सुरक्षा विज़ार्ड को पूरा करते समय आपको परिणाम समझाते हुए एक पृष्ठ मिलता है। SQL1 और SQL2 को देखते हुए नोड्स इस लाइन कुंजी गया था:

On the principal server instance, SQL1 
Listener Port: 5022 
Encryption: **Yes** 


On the mirror server instance, SQL2 
Listener Port: 5022 
Encryption: **No** 

समाधान।सभी एसक्यूएल नोड्स पर विज़ार्ड खत्म करने के बाद निष्पादित करें:

drop endpoint Mirroring 
go 


CREATE ENDPOINT Mirroring 
STATE = STARTED 
AS TCP (LISTENER_PORT = 5022) 
FOR DATABASE_MIRRORING 
(ENCRYPTION = DISABLED,ROLE=ALL) 
GO 

हिट शुरू करें, समस्या हल हो गई।

आशा है कि मदद करता है किसी को स्कॉट

0

मैं इस मुद्दे से पहले सभी मान्यता पास से मुलाकात की,। आखिरकार एक नया एंडपॉइंट का उपयोग करें, यह काम करता है। मूल कारण 5022 अन्य सत्र को अवरुद्ध कर सकता है।

0

मेरे त्रुटि 1418 दोनों सर्वर पर एक ही ड्राइव पत्र का उपयोग करके हल किया गया था ...

हालांकि एमएस पता चलता है कि आप अलग अलग अक्षरों का उपयोग कर सकते हैं, मैं एक ही ड्राइव पत्र का उपयोग करने का फैसला किया ...

एमएस से:

Also, we recommend that, if it is possible, the file path (including the drive letter) of the mirror database be identical to the path of the principal database. If the file paths must differ, for example, if the principal database is on drive 'F:' but the mirror system lacks an F: drive, you must include the MOVE option in the RESTORE statement.

2

उपरोक्त वर्णित सभी विकल्पों को समाप्त करने के बाद, मेरे पास मिररिंग वातावरण में भिन्नता थी। हमारे पास प्रिंसिपल-मिरर कॉन्फ़िगरेशन में 2014 सर्वर में SQL सर्वर 2008 योगदान था। 2014 एसक्यूएल सर्वर का उपयोग कुछ अन्य डीबी के एचए के लिए AlwaysOn कॉन्फ़िगरेशन में भी किया जा रहा था। अंतिम अंक अब एसक्यूएल 2008 और एसक्यूएल 2014 पर अलग-अलग नामित किए गए हैं।

उपर्युक्त त्रुटि प्राप्त करने के बाद, मैंने पाया कि 2008 के लिए एन्क्रिप्शन आरसी 4 है और 2014 के लिए एईएस है। नतीजतन, यह SQL2014 एंडपॉइंट के साथ हैंडशेक विफल रहा था। मैंने नीचे दिए गए कमांड और व्हायोला का उपयोग कर SQL 2008 के मिलान के लिए एन्क्रिप्शन बदल दिया !!

ALTER ENDPOINT [Hadr_endpoint] 
    FOR DATA_MIRRORING (ENCRYPTION = REQUIRED ALGORITHM RC4) 
0

मेरे लिए, मैं इस मुद्दे फसल ऊपर था और छोड़ने और पुनः मिरर अंतिमबिंदुओं द्वारा अंतत: इसका समाधान नहीं होता (SSMS -> सर्वर वस्तुओं -> अंतिम बिंदु -> डेटाबेस मिररिंग)

0

ड्रॉप endpoint मिररिंग

जाओ

CREATE ENDPOINT Mirroring 
STATE = STARTED 
AS TCP (LISTENER_PORT = 5022) 
FOR DATABASE_MIRRORING 
(ENCRYPTION = DISABLED,ROLE=ALL) 
GO 

हिट मिरर शुरू, समस्या हल हो।

आशा है कि मदद करता है किसी को स्कॉट

यह वास्तव में मुझे स्कॉट

Tnx रिट्ज

0

करने के लिए धन्यवाद मदद की है इसके बाद के संस्करण के मामले से कोई भी में काम किया, यहाँ क्या मेरी समस्या का कारण बना है। दोनों सर्वर पर निम्न क्वेरी चलाएँ और करीब से देखो

SELECT @@Version 

मैं अपने प्रिंसिपल सर्वर है कि मेरे दर्पण सर्वर पर स्थापित नहीं किया गया पर कुछ अपडेट किया था।

इसके अलावा, आप SQL सर्वर लॉग में अतिरिक्त जानकारी देख सकते हैं क्योंकि मिररिंग क्यों काम नहीं करती है। इस तरह मुझे एहसास हुआ कि मेरे पास दोनों सर्वरों पर एक अलग संस्करण था।

0

SQL सर्वर 2016 पर, समाधान आपके [डोमेन खाते] को प्रिंसिपल और दर्पण सर्वर दोनों पर sysadmin के रूप में रखना है।उसके बाद निम्न

प्रधान सर्वर के रूप में एक नया खाता बनाने

use [master] 
GO 
CREATE LOGIN [domain\mirrorservername$] FROM WINDOWS 
GO 
GRANT CONNECT ON ENDPOINT::[Mirroring] TO [domain\mirrorservername$] 
GO 

मिरर सर्वर

use [master] 
GO 
CREATE LOGIN [domain\principalservername$] FROM WINDOWS 
GO 
GRANT CONNECT ON ENDPOINT::[Mirroring] TO [domain\principalservername$] 
GO 

आप उन खाता बनाने और कनेक्ट अनुमति देनी होगी के रूप में उन खातों के दौरान इस्तेमाल होते हैं प्रिंसिपल और मिरर सर्वर के बीच हैंडशेक।

त्रुटि के बारे में अधिक जानकारी के लिए, अपने एसक्यूएल त्रुटि लॉग की जांच करें।

आशा है कि यह पोस्ट किसी की सहायता करेगी।

0

मुझे एक ही समस्या थी। मैं एक डोमेन सेटअप पर विंडोज 2008 - आर 2 पर मिररिंग सेट करने की कोशिश कर रहा था। जैसा कि विशेषज्ञों में से एक ने ऊपर बताया है, मैंने SQL सर्वर 'लॉगऑन' खातों को SQLSERVER और SQLSERVERAGENT के लिए चेक किया है और दोनों मशीनों पर SQL सर्वर सेवाओं के लिए एक ही डोमेन खाता उपयोग किया है। मैं मिररिंग स्थापित करने में सक्षम था।

सहायता के लिए धन्यवाद!