नोट:
- Windows फ़ेलओवर क्लस्टरिंग जिसमें दो नोड होते हैं।
- दो SQL सर्वर फ़ेलओवर क्लस्टर उदाहरण। यह कॉन्फ़िगरेशन हार्डवेयर का अनुकूलन करता है। IN01 को Node1 पर और IN02 को Node2 पर प्राथमिकता दी जाती है।
- पोर्ट नंबर:IN01 पोर्ट 1435 पर सुनता है और IN02 पोर्ट 1436 पर सुनता है।
- उच्च उपलब्धता। दोनों नोड्स एक दूसरे का बैकअप लेते हैं। विफलता के मामले में विफलता स्वचालित है।
- कोरम मोड नोड और डिस्क बहुमत है।
- बैकअप लैन जगह पर है और रूटीन बैकअप वेरिटास का उपयोग करके कॉन्फ़िगर किया गया है
परिचय
यह असामान्य नहीं है कि डेवलपर्स और प्रोजेक्ट मैनेजर प्रत्येक नए एप्लिकेशन या सेवा के लिए SQL सर्वर के नए इंस्टेंस की मांग करते हैं। जबकि वर्चुअलाइजेशन और क्लाउड जैसी तकनीकों ने नए उदाहरणों को हवा देना आसान बना दिया है, SQL सर्वर के साथ अंतर्निहित कुछ पुरानी तकनीकें कम टर्न-अराउंड समय प्राप्त करना संभव बनाती हैं जब एक नई सेवा या एप्लिकेशन के लिए एक नया डेटाबेस प्रदान करने की आवश्यकता होती है। यह स्थिति एक डीबीए द्वारा बनाई जा सकती है जो संगठन द्वारा आवश्यक अधिकांश SQL सर्वर डेटाबेस का समर्थन करने में सक्षम एक बड़े SQL सर्वर क्लस्टर को डिज़ाइन और तैनात कर सकता है। इस तरह के समेकन के अतिरिक्त लाभ हैं जैसे कम लाइसेंस लागत, बेहतर शासन और प्रशासन में आसानी। लेख में, हम उन कुछ बातों पर प्रकाश डालेंगे, जिन्हें SQL सर्वर डेटाबेस को समेकित करने के साधन के रूप में क्लस्टरिंग और स्टैकिंग का उपयोग करते समय हमें अनुभव करने का अवसर मिला है।
क्लस्टरिंग
विंडोज सर्वर फेलओवर क्लस्टरिंग एक बहुत ही प्रसिद्ध उच्च उपलब्धता समाधान है जो विंडोज सर्वर के कई संस्करणों से बच गया है और जिसमें माइक्रोसॉफ्ट निवेश और सुधार करना चाहता है। SQL सर्वर फ़ेलओवर क्लस्टर इंस्टेंसेस WSFC पर निर्भर करते हैं। SQL सर्वर के दोनों मानक और एंटरप्राइज़ संस्करण SQL सर्वर फ़ेलओवर क्लस्टर इंस्टेंस का समर्थन करते हैं लेकिन मानक संस्करण केवल दो नोड्स तक सीमित है। एकल SQL सर्वर FCI पर डेटाबेस को समेकित करने से निम्न लाभ मिलते हैं:
- HA डिफ़ॉल्ट रूप से — संकुल SQL सर्वर आवृत्ति पर परिनियोजित सभी डेटाबेस डिफ़ॉल्ट रूप से अत्यधिक उपलब्ध होते हैं! एक बार क्लस्टर इंस्टेंस बनने के बाद, समय से पहले HA के संदर्भ में नए परिनियोजन का ध्यान रखा जाता है।
- प्रशासन में आसानी - कम डीबीए कई अनुप्रयोगों का समर्थन करने वाले एक क्लस्टर इंस्टेंस को कॉन्फ़िगर करने, निगरानी करने और आवश्यक समस्या निवारण में समय व्यतीत कर सकते हैं। उचित रूप से, एक बड़े परिवेश के साथ व्यवहार करते समय उदाहरण का दस्तावेजीकरण करना भी बहुत आसान बना दिया जाता है। अपने परिवेश में सभी डेटाबेस को संभालने के लिए एंटरप्राइज़ बैकअप समाधान को कॉन्फ़िगर करना इस तथ्य से आसान बना दिया गया है कि समेकित उदाहरणों का उपयोग करते समय आपको यह कॉन्फ़िगरेशन केवल एक ही करना होगा।
- अनुपालन - एक ही प्रशासनिक प्रयास में बड़ी संख्या में डेटाबेस पर न्यूनतम डाउनटाइम के साथ पैचिंग, और यहां तक कि हार्डनिंग जैसी प्रमुख आवश्यकताएं एक बार की जा सकती हैं। हमारी दुकान में, हमने डेटाबेस को आपदाओं के जोखिम से सुरक्षित रखने के लिए दो डेटा केंद्रों पर क्लस्टर इंस्टेंस के बीच ट्रांजेक्शन लॉग शिपिंग का उपयोग किया है।
- मानकीकरण - आपकी दुकान के आकार के आधार पर सिर्फ एक या दो वातावरणों के साथ व्यवहार करते समय नामकरण सम्मेलनों, एक्सेस प्रबंधन, विंडोज प्रमाणीकरण, ऑडिटिंग और नीति-आधारित प्रबंधन जैसे मानकों को लागू करना बहुत आसान है
लिस्टिंग 1: अपने उदाहरण के बारे में जानकारी निकालें
- इंस्टेंस विवरण निकालें-- यह जांचने के लिए एक कॉलम शामिल है कि क्या इंस्टेंस क्लस्टर्ड है या नहीं [मशीननाम], सर्वरप्रॉपर्टी ('सर्वरनाम') एएस [सर्वरनाम], सर्वरप्रॉपर्टी ('इंस्टेंसनाम') के रूप में चुनें [ इंस्टेंस], सर्वरप्रॉपर्टी ('IsClustered') AS [IsClustered], SERVERPROPERTY('ComputerNamePhysicalNetBIOS') AS [ComputerNamePhysicalNetBIOS] , सर्वरप्रॉपर्टी ('संस्करण') AS [संस्करण], SERVER'स्तर') ASPRO [Product] ProductVersion') AS [ProductVersion], SERVERPROPERTY('ProcessID') AS [ProcessID], SERVERPROPERTY('Collation') AS [Collation], SERVERPROPERTY('IsFullTextInstalled') AS [IsFullTextInstalled], SERVERProperty('ProcessID') AS [IsFullTextInstalled] ], SERVERPROPERTY('IsHadrEnabled') AS [IsHadrEnabled], SERVERPROPERTY('HadrManagerStatus') AS [HadrManagerStatus], SERVERPROPERTY('IsXTPSupported') AS [IsXTPSupported];
स्टैकिंग
SQL सर्वर एक सर्वर पर पचास सिंगल इंस्टेंस और Windows सर्वर फ़ेलओवर क्लस्टर पर 25 फ़ेलओवर क्लस्टर इंस्टेंस तक का समर्थन करता है। SQL सर्वर के विभिन्न संस्करणों को एक ही वातावरण पर एक मजबूत वातावरण प्रदान करने के लिए स्टैक किया जा सकता है जो विभिन्न अनुप्रयोगों का समर्थन करेगा। इस तरह के कॉन्फ़िगरेशन में, डेटाबेस को अपग्रेड करना हार्डवेयर युग तक एक ही क्लस्टर में एक SQL सर्वर इंस्टेंस से अगले संस्करण में उन्हें बढ़ावा देने का रूप ले सकता है। SQL सर्वर को स्टैक करते समय ध्यान में रखने वाली एक महत्वपूर्ण बात यह है कि आपको प्रत्येक इंस्टेंस को इस तरह से मेमोरी आवंटित करनी चाहिए कि आवंटित मेमोरी की कुल मात्रा ऑपरेटिंग सिस्टम पर उपलब्ध मेमोरी से अधिक न हो। इस दिशा में दूसरा बिंदु यह सुनिश्चित करना है कि प्रत्येक उदाहरण के लिए SQL सर्वर सेवा खाते में स्मृति विशेषाधिकारों में लॉक पृष्ठ होने चाहिए। मेमोरी में लॉक पेज असाइन करना सुनिश्चित करता है कि जब SQL सर्वर मेमोरी प्राप्त करता है, तो ऑपरेटिंग सिस्टम ऐसी मेमोरी को पुनर्प्राप्त करने का प्रयास नहीं करता है जब सर्वर पर अन्य प्रक्रियाओं को मेमोरी की आवश्यकता होती है। SQL सर्वर इंस्टेंस को स्टैक करते समय एक परिभाषित SQL सर्वर सेवा खाता सेट करना, MAX_SERVER_MEMORY को कॉन्फ़िगर करना, और मेमोरी विशेषाधिकार में लॉक पेज को ग्रेट करना एक आवश्यक तिकड़ी है।
Microsoft कुछ हज़ार डॉलर प्रति जोड़ी CPU कोर चार्ज करता है। स्टैकिंग SQL सर्वर इंस्टेंसेस आपको इस लाइसेंसिंग मॉडल का लाभ उठाने की अनुमति देता है, जिसमें इंस्टेंसेस CPU के समान सेट (संपत्ति को पसीना) साझा करते हैं। हमने पहले ही उल्लेख किया है कि आप SQL सर्वर के विभिन्न संस्करणों को स्टैक कर सकते हैं, उदाहरण के लिए SQL सर्वर 2016 से पुराने संस्करणों को चलाने वाले विरासत अनुप्रयोगों का ध्यान रखते हुए। SQL सर्वर के विभिन्न संस्करणों का उपयोग करते समय आप इस आलेख में ग्लेन बेरी द्वारा वर्णित प्रोसेसर एफ़िनिटी का उपयोग करने पर विचार कर सकते हैं। प्रोसेसर एफ़िनिटी का उपयोग यह नियंत्रित करने के लिए भी किया जा सकता है कि जैसे आप मेमोरी को नियंत्रित करते हैं, वैसे ही सीपीयू संसाधनों को कैसे साझा किया जाता है। स्टैकिंग उन अनुप्रयोगों के लिए सुरक्षा चिंताओं को भी संबोधित करता है जिन्हें उदाहरण के लिए SA खाते का उपयोग करना चाहिए या उन अनुप्रयोगों के लिए कॉन्फ़िगरेशन चिंताएं जिन्हें एक समर्पित उदाहरण की आवश्यकता होती है, या ऐसे विकल्प एक विशिष्ट संयोजन होते हैं। साझा किए गए TempDB के प्रदर्शन के बारे में चिंता एक और कारण है कि आप सभी डेटाबेस को एक क्लस्टर इंस्टेंस पर ढेर करने के बजाय ढेर करना चाहते हैं।
यह ध्यान देने योग्य है कि पहले हाइलाइट किए गए क्लस्टरिंग का मूल्य स्टैकिंग के साथ और भी आगे बढ़ता है। उदाहरण के लिए, SQL सर्वर इंस्टेंस को कई FCI के साथ पैच करते समय, सभी FCI को एक बार में पैच किया जा सकता है।
ध्यान देने योग्य बातें
क्लस्टरिंग का उपयोग करते समय, कुछ परंपराएं पर्यावरण के प्रशासन और प्रबंधन को थोड़ा आसान बना देंगी और परिसंपत्तियों को बेहतर तरीके से पसीना बहाएंगी। हम उनमें से कुछ पर संक्षेप में बात करेंगे:
- वर्तमान क्लाइंट उपकरण - SQL सर्वर प्रबंधन स्टूडियो 2012 का उपयोग करके SQL सर्वर 2016 इंस्टेंस को प्रबंधित करने का प्रयास करते समय आप स्वयं को असामान्य त्रुटियां प्राप्त कर सकते हैं। त्रुटियां विशेष रूप से आपको यह नहीं बताती हैं कि समस्या क्लाइंट टूल संस्करण है। हमारे पास आमतौर पर क्लाइंट पर SQL सर्वर प्रबंधन स्टूडियो 17.3 इंस्टेंस होता है जिसे हम अपने इंस्टेंस से कनेक्ट करने के लिए उपयोग करना चाहते हैं।
- नामकरण परंपराएं - एक नामकरण परंपरा आपके लिए यह सुनिश्चित करना आसान बनाती है कि आप किसी भी समय किस उदाहरण पर काम कर रहे हैं। उपनामों का उपयोग करके, आप उन अंतिम उपयोगकर्ताओं पर लंबे उदाहरण के नाम को याद रखने के बोझ को और कम कर सकते हैं, जिन्हें डेटाबेस तक पहुंच की आवश्यकता होती है।
- पसंदीदा नोड - विफलता क्लस्टर प्रबंधक पर प्रत्येक SQL सर्वर भूमिका के लिए एक पसंदीदा नोड सेट करना एक अच्छा विचार है, यह सुनिश्चित करने का एक अच्छा तरीका है कि आपके सभी क्लस्टर नोड्स की प्रसंस्करण शक्ति का उपयोग किया जा रहा है। हमारी दुकान में, पसंदीदा नोड्स स्थापित करने के बाद, हमने अनजाने में विफलता होने की स्थिति में 0500 HRS और 0600 HRS के बीच विफल होने के लिए भूमिका को कॉन्फ़िगर किया।
- लेन-देन लॉग शिपिंग - एफसीआई के लिए डिजास्टर रिकवरी को कॉन्फ़िगर करते समय वर्चुअल नामों का उपयोग करके सभी यूएनसी पथों की पहचान करना समझ में आता है, न कि क्लस्टर नोड्स के नाम या आईपी पते। यह सुनिश्चित करता है कि विफलता होने पर चीजें ठीक से काम करती रहें। यह सुनिश्चित करना भी बहुत महत्वपूर्ण है कि दोनों साइटों पर SQL सर्वर एजेंट खातों का इन पथों पर पूर्ण नियंत्रण है।
लिस्टिंग 2: ईमेल का उपयोग करके लेनदेन लॉग शिपिंग के लिए निगरानी कॉन्फ़िगर करें
--स्टोर करने के लिए टेबल बनाएं लॉग शिपिंग डेटाक्रिएट टेबल msdb dbo log_shipping_report (स्टेटस बिट, is_primary bit, सर्वर sysname, database_name sysname, time_since_last_backup int, last_backup_file nvarchar (500), backup_threshold int, is_backup_alert_enabled bit, timecharied 500 int, timecharied ), time_since_last_restore int, last_restored_file nvarchar(500), last_restored_latency int, restore_threshold int, is_restore_alert_enabled bit); go-- निम्न स्क्रिप्ट के साथ एक SQL एजेंट जॉब बनाएं-- यह जॉब शेड्यूल द्वारा निर्धारित अंतराल पर एक ईमेल भेजेगा-- जॉब को लॉग शिपिंग सेकेंडरी क्लस्टर इंस्टेंस पर बनाया जाना चाहिए-- इस जॉब के लिए आवश्यक है कि डेटाबेस मेल सक्षम हो। तालिका msdb dbo log_shipping_report msdb dbo log_shipping_report EXEC sp_help_log_shipping_monitor में सम्मिलित करें; go/* चुनें [सर्वर], डेटाबेस_नाम [डेटाबेस], time_since_last_copy [अंतिम कॉपी समय], last_copied_file [अंतिम कॉपी की गई फ़ाइल], time_since_last_restore [अंतिम पुनर्स्थापना समय], last_restored_file [अंतिम पुनर्स्थापित फ़ाइल], पुनर्स्थापना_थ्रेशोल्ड [दहलीज को पुनर्स्थापित करें], समय_थ्रेशोल्ड - समय को पुनर्स्थापित करें [रिस्टोर लेटेंसी] msdb.dbo.log_shipping_report से; go */DECLARE @tableHTML NVARCHAR(MAX);DECLARE @SecServer SYSNAME;SET @SecServer =@@SERVERNAMESET @tableHTML =N'सेकेंडरी सर्वर से ट्रांजेक्शन लॉगशीपिंग स्थिति ' + @SecServer + N'
' +N'कृपया नीचे स्थिति देखें माध्यमिक डेटाबेस की:
' +N'<टेबल बॉर्डर ="1" शैली ="बॉर्डर-संकुचित:पतन" सीमा रंग ="# 111111" सेलपैडिंग ="0" चौड़ाई ="2000" bgColor ="# ffffff" सीमारंगलाइट ="# 000000" सीमा =" 1">' +N'Secondary Server सेकेंडरी डेटाबेस आखिरी कॉपी समय ' +N'आखिरी कॉपी की गई फ़ाइल आखिरी पुनर्स्थापना समय ' +N'पिछली पुनर्स्थापित फ़ाइल दहलीज पुनर्स्थापित करें विलंबता बहाल करें ' +CAST ( ( चुनें td =lsr.server, '',td =lsr [database_name], td =lsr time_since_last_copy '', td =lsr last_copied_file td =lsr time_since_last_restore '' , td =lsr last_restored_file, '',td =lsr restore_threshold '',td =case जब lsr restore_thresholdlsr time_since_last_restore <0 तब + '' + 'CRITICAL' + ' 'जब lsr restore_thresholdlsr time_since_last_restore <20 और lsr restore_thresholdlsr time_since_last_restore> 0 तब + '' + 'WARNING' + ' 'जब lsr restore_thresholdlsr time_since_last_restore> 20 तब + '' + 'OK' + ' 'end , ''FROM msdb dbo log_shipping_report as lsrORDER BY lsr .[database_name]XML PATH('tr'), TYPE के लिए) AS NVARCHAR(MAX) ) +N'' + ' ';EXEC msdb dbo.sp_send_dbmail@recipients='[email protected]', @copy_recipients='[email protected]',@subject ='लेन-देन लॉग शिपिंग रिपोर्ट',@body =@tableHTML,@body_format ='HTML';डिस्क ड्राइव
SQL सर्वर इंस्टेंस को स्टैक करने और कई डेटाबेस के लिए प्रावधान करने का एक पक्ष प्रभाव ड्राइव अक्षरों से बाहर निकलने की प्रवृत्ति है। हमने वॉल्यूम माउंट पॉइंट्स को कॉन्फ़िगर करके इस समस्या को दूर किया। क्लस्टर भूमिका के लिए असाइन की गई प्रत्येक डिस्क को एक ड्राइव अक्षर के साथ माउंट पॉइंट के रूप में कॉन्फ़िगर किया गया है जो प्रति उदाहरण केवल एक या दो ड्राइव के लिए आवश्यक है। क्लस्टर पर वॉल्यूम माउंट पॉइंट का उपयोग करते समय ध्यान देने योग्य एक महत्वपूर्ण बात यह है कि भविष्य में जब आपको समान रखरखाव कार्यों को करने के लिए और अधिक माउंट पॉइंट जोड़ने की आवश्यकता होगी, तो दोनों को प्राथमिक ड्राइव रखना आवश्यक होगा जो ड्राइव अक्षर और माउंट का मालिक है क्लस्टर पर रखरखाव मोड में बिंदु।
हमारे मामले में, हमने क्लस्टर भूमिका के आधार पर प्रत्येक वॉल्यूम माउंट पॉइंट का नाम पाया, जिसे इसे सौंपा गया था। आपके साथ व्यवहार करने के लिए इतनी सारी ड्राइव के साथ निश्चित रूप से आपको और स्टोरेज एडमिनिस्ट्रेटर दोनों के लिए एक डिस्क की पहचान करने के लिए एक तरह से काम करने की आवश्यकता होगी ताकि डिस्क को स्टोरेज स्तर पर बनाए रखा जा सके, उदाहरण के लिए, ज्यादा परेशानी नहीं होगी।पी>
लिस्टिंग 3: वॉल्यूम माउंट पॉइंट का उपयोग करते समय डिस्क स्थान के उपयोग की निगरानी करें
-- निम्न स्क्रिप्ट SQL सर्वर के भीतर से डिस्क स्थान उपयोग दिखाएगा - वॉल्यूम माउंट पॉइंट्स का उपयोग करते समय यह विशेष रूप से सहायक होता है-- वॉल्यूम माउंट पॉइंट स्पेस उपयोग को कंप्यूटर प्रबंधन (OS स्तर) से भी मॉनिटर किया जा सकता है DISTINCT बनाम Volume_mount_point चुनें , बनाम file_system_type , बनाम logical_volume_name, CONVERT(DECIMAL!18 2 vs Total_bytes 1073741824.0) AS [कुल आकार (GB)], CONVERT(DECIMAL(18 2 vs available_bytes 1073741824.0' AS [उपलब्ध आकार (GB)], CAST(CAST(v)) उपलब्ध_बाइट्स एएस फ्लोट)/ कास्ट (बनाम टोटल_बाइट्स एएस फ्लोट) दशमलव के रूप में (18,2)) * 100 एएस [स्पेस फ्री%] sys.master_files से एफ के साथ (NOLOCK) क्रॉस लागू sys.dm_os_volume_stats f database_id, f [file_id] मैं एएस बनाम विकल्प (रीकंपाइल);डेटाबेस परिनियोजन
हमारे मामले में, हमारी रणनीति यह सुनिश्चित करने की थी कि नए डेटाबेस हमारे मानक का पालन करें। पुराने डेटाबेस को थोड़ी अधिक देखभाल के साथ संभाला गया क्योंकि हम एक ही समय में समेकित और उन्नयन कर रहे थे। डेटाबेस माइग्रेशन असिस्टेंट ने हमें यह बताने में मदद की कि कौन से डेटाबेस निश्चित रूप से हमारे पवित्र SQL सर्वर 2016 इंस्टेंस के साथ संगत नहीं होंगे और हमने उन्हें शांति से छोड़ दिया (कुछ संगतता स्तर 100 से कम हैं)। प्रत्येक परिनियोजित डेटाबेस में अपने आकार के आधार पर डेटा और लॉग फ़ाइलों के लिए अपना वॉल्यूम होना चाहिए। प्रत्येक डेटाबेस के लिए अलग-अलग वॉल्यूम का उपयोग करना एक बहुत ही सुव्यवस्थित वातावरण होने की दिशा में एक और कदम है जो इस समेकित वातावरण की संभावित जटिलता को देखते हुए महत्वपूर्ण है। अंतिम कथन का तात्पर्य यह भी है कि जब आप किसी एप्लिकेशन को अपना डेटाबेस बनाने की अनुमति देते हैं, तो आपको डीबीए के रूप में तैनाती के बाद डेटा फ़ाइलों को स्थानांतरित करना होगा क्योंकि एप्लिकेशन मॉडल डेटाबेस द्वारा उपयोग किए गए समान फ़ाइल स्थानों का उपयोग करेगा।
सूचीकरण 4: उपयोगकर्ता डेटाबेस को स्थानांतरित करना
-- 1. डेटाबेस को ऑफलाइन सेट करें-- DB_NAME को वास्तविक डेटाबेस नाम से बदलना सुनिश्चित करें। OS स्तर-- आपको डेटा फ़ाइल पर SQL सर्वर सेवा खाते को पूर्ण अनुमति देने की भी आवश्यकता हो सकती है-- 3. स्थानांतरित की गई प्रत्येक फ़ाइल के लिए, निम्न कथन चलाएँ। )-- 4. डेटाबेस को वापस ऑनलाइन लाएं।पहुंच प्रबंधन
आप सहमत होंगे कि हमारे समेकित वातावरण में, हमारे पास सर्वर स्तर की वस्तुओं की एक बहुत लंबी सूची हो सकती है जैसे कि लॉगिन। Windows Groups का उपयोग करने से इस सूची को छोटा करने और प्रत्येक क्लस्टर इंस्टेंस पर एक्सेस प्रबंधन को सरल बनाने में मदद मिलेगी। आमतौर पर, आपको उन एप्लिकेशन एडमिन के लिए सक्रिय निर्देशिका पर बनाए गए समूहों की आवश्यकता होगी, जिन्हें एक्सेस की आवश्यकता होती है, एप्लिकेशन सर्विस अकाउंट्स, व्यावसायिक उपयोगकर्ता जिन्हें रिपोर्ट खींचने की आवश्यकता होती है और निश्चित रूप से डेटाबेस एडमिनिस्ट्रेटर। विंडोज ग्रुप्स का उपयोग करने का एक प्रमुख लाभ यह है कि इन समूहों की सदस्यता को सीधे सक्रिय निर्देशिका में प्रबंधित करके एक्सेस दिया या निरस्त किया जा सकता है।
यह शायद अब तक स्पष्ट है कि एक्सेस प्रबंधन के क्षेत्र में यह लाभ केवल विंडोज प्रमाणीकरण के साथ ही संभव है। SQL सर्वर लॉगिन को समूहों में प्रबंधित नहीं किया जा सकता है।
लिस्टिंग 5: इंस्टेंस लॉगिन, डेटाबेस उपयोगकर्ता और उनकी भूमिकाएं
तालिका बनाएं #userlist ([सर्वर नाम] varchar(20),[Database Name] varchar(50),[Database User] varchar(50), [Database role] varchar(50), [Instance Login] varchar( 50), [स्थिति] वर्कर(15)) #userlistexec sp_MSforeachdb @command1 ='USE [?]IF ''?'' में नहीं जाता है ("tempdb", "मॉडल" J "msdb" J "मास्टर") BEGINचयन करें @@servername as instance_name , ''?'' as database_name , rp.name as database_user , mp.name as database_role , sp.name as example_login , casewhen sp.is_disabled =1 तब ''अक्षम'' जब sp.is_disabled =0 फिर ''सक्षम'' अंत [login_status] से sys.database_principals rpleft बाहरी जुड़ना sys.database_role_members drm ऑन (drm.member_principal_id =rp.principal_id)बाएं बाहरी जुड़ाव sys.database_principals mp ऑन (drm.role_principal_id)बाएं बाहरी (drm.role_principal_id) sys.server_principals sp पर शामिल हों (rp.sid=sp.sid)जहाँ rp.type_desc in (''WINDOWS_GROUP'', ''WINDOWS_USER'', ''SQL_USER'')END' goselect * #userlist godrop तालिका #userlist सेनिष्कर्ष
हमने बहुत उच्च स्तर पर उन लाभों की जांच की है जो समेकन, लागत अनुकूलन और प्रबंधन में आसानी प्राप्त करने के साधन के रूप में SQL सर्वर इंस्टेंस को क्लस्टरिंग और स्टैकिंग द्वारा प्राप्त किए जा सकते हैं। यदि आप अपने आप को बड़ा हार्डवेयर खरीदने में सक्षम पाते हैं, तो आप इस विकल्प का पता लगा सकते हैं और हमारे द्वारा ऊपर वर्णित लाभों को प्राप्त कर सकते हैं।