Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> डेटाबेस

SQL Server डेटाबेस को Amazon RDS में निर्बाध माइग्रेशन: एक चरण-दर-चरण गाइड

यह ब्लॉग बताता है कि Microsoft® SQL Server® डेटाबेस को ऑन-प्रिमाइसेस (या Amazon® EC2 या Azure® पर होस्ट किया गया) से Amazon Relational Database Service (RDS) में कैसे ले जाया जाए। इस कदम के लिए आपके SQL डेटाबेस का बैकअप AWS S3 बकेट में लेना और उस S3 बकेट से अपने AWS RDS इंस्टेंस पर डेटाबेस को पुनर्स्थापित करना आवश्यक है।

परिचय

Amazon RDS इंस्टेंस के पिछले संस्करण आपको .bak फ़ाइलों से डेटा पुनर्स्थापित नहीं करने देते थे। परिणामस्वरूप, उपयोगकर्ताओं को Amazon Data Migration Services का उपयोग करना पड़ता था या AWS RDS से डेटा को अंदर और बाहर ले जाने के लिए इम्पोर्ट और एक्सपोर्ट विज़ार्ड का उपयोग करना पड़ता था।

Amazon ने जुलाई 2016 में नेटिव बैकअप रिस्टोर के लिए समर्थन शुरू किया और RDS पर MSDB डेटाबेस में निम्नलिखित स्टोर्ड प्रोसीजर जोड़े:

  • rds_backup_database - एक सिंगल डेटाबेस का बैकअप S3 बकेट में लें।
  • rds_restore_database - S3 से एक सिंगल डेटाबेस पुनर्स्थापित करें।
  • rds_task_status - चल रहे बैकअप और रिस्टोर कार्य को ट्रैक करें।
  • rds_cancel_task - चल रहे बैकअप या रिस्टोर कार्य को रद्द करें।

यह ब्लॉग चर्चा करता है कि rds_restore_database प्रोसीजर का उपयोग करके S3 से .bak फ़ाइल को कैसे पुनर्स्थापित किया जाए और AWS S3 सिंक कमांड का उपयोग बैकअप फ़ाइल को AWS S3 बकेट पर अपलोड करने के लिए किया जाता है, जबकि rds_task_status प्रोसीजर का उपयोग रिस्टोर प्रगति की निगरानी के लिए किया जाता है।

पूर्वापेक्षाएँ

माइग्रेशन करने के लिए, आपके पास निम्नलिखित पूर्वापेक्षाएँ होनी चाहिए:

  • SQL Server एजेंट प्रॉक्सी
  • AWS कमांड लाइन इंटरफेस (AWS CLI)
  • ProfileName (Amazon S3 तक पहुंच वाला एक AWS उपयोगकर्ता और एक S3 बकेट जिसमें aws_access_key_id और aws_secret_access_key शामिल हों।)
  • SQLSERVER_BACKUP_RESTORE विकल्प से मैप किए गए उपयुक्त विकल्प ग्रुप के साथ AWS RDS इंस्टेंस।
  • PowerShell इंस्टॉलेशन

आपको SQL Server, S3 बकेट बनाना, AWS उपयोगकर्ता बनाना, S3 बकेट तक पहुंच प्रदान करना, और RDS इंस्टेंस बनाना के बारे में बुनियादी ज्ञान भी होना चाहिए।

समाधान

निम्न चरण निम्नलिखित अनुभागों में समाधान को कवर करते हैं:

  1. स्थानीय सर्वर पर डेटाबेस का बैकअप लें।

  2. बैकअप फ़ाइल को AWS S3 बकेट पर कॉपी करें।

  3. S3 बकेट से RDS में SQL बैकअप पुनर्स्थापित करें।

स्थानीय सर्वर पर डेटाबेस का बैकअप लें

आप स्थानीय रूप से बैकअप लेने के लिए किसी भी विधि का उपयोग कर सकते हैं। निम्न उदाहरण एक .bat स्क्रिप्ट का उपयोग करता है जिसमें sqlcmd कमांड होती है जिसे आप किसी भी SQL एजेंट जॉब में उपयोग कर सकते हैं, यदि आपको माइग्रेशन कार्य को शेड्यूल करने की आवश्यकता है:

Sqlcmd -S SourceInstanceName -U sa -P password_here -Q "Declare @DBName nvarchar(200)='MigrationTestDB' DECLARE @BackupLocation NVARCHAR(2000) = 'C:\Temp\RDSmigration\backup\'+@DBName+ + REPLACE(CONVERT(VARCHAR(20), GETDATE(), 120) + '.bak', ':', ''); BACKUP DATABASE @DBName TO DISK = @BackupLocation with compression;"

बैकअप फ़ाइल को AWS S3 बकेट पर कॉपी और अपलोड करें

आप इसे AWS S3 copy या AWS S3 sync कमांड का उपयोग करके कर सकते हैं। हालांकि, सिंक कमांड उद्योग में बहुत लोकप्रिय और व्यापक रूप से उपयोग किया जाता है, इसलिए निम्न उदाहरण इसका उपयोग करता है।

डिफ़ॉल्ट रूप से, AWS सिंक कमांड फ़ाइलों को नहीं हटाता। यह केवल नई या संशोधित फ़ाइलों को गंतव्य पर कॉपी करता है। आप निम्न PowerShell स्क्रिप्ट का उपयोग SQL एजेंट जॉब में कर सकते हैं। आपको बैकअप और इस कॉपी चरण दोनों को SQL एजेंट प्रॉक्सी खाते का उपयोग करके चलाने की आवश्यकता है जो cmdExec और PowerShell सबसिस्टम चलाने के लिए कॉन्फ़िगर किया गया है।

$LogDate = Get-Date -Format yyyy-MM-dd 
$Global:LogFile = "C:\Temp\RDSmigration\Logs\$LogDate.log" 
$env:Path += ';C:\Program Files\Amazon\AWSCLI\bin' 
Set-AWSCredential -ProfileName backuptos3user 
aws configure set aws_access_key_id AKIAVIH6FYWVO62BZ7QA 
aws configure set aws_secret_access_key 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 
aws configure set region ap-south-1 
try { 
$now = (Get-Date -Format G) 
aws s3 sync C:\Temp\RDSmigration\backup s3://ramkrdsrestore --sse | out-file $LogFile 
} 
catch { 
Write-Host $_.Exception.Message -ForegroundColor Green 
}

S3 बकेट से RDS में SQL बैकअप पुनर्स्थापित करें

MigrationTestDB2019-08-15 181640.bak फ़ाइल को MigrationTestDB डेटाबेस के रूप में पुनर्स्थापित करने के लिए निम्न कमांड चलाएं:

EXEC msdb.dbo.rds_restore_database @restore_db_name = 'MigrationTestDB', @S3_arn_to_restore_from = 'arn:aws:s3:::ramkrdsrestore/MigrationTestDB2019-08-15 181640.bak'
SQL Server डेटाबेस को Amazon RDS में निर्बाध माइग्रेशन: एक चरण-दर-चरण गाइड

स्टोर्ड प्रोसीजर को दिए गए पैरामीटर पर ध्यान दें। आपको निम्नलिखित पैरामीटर निर्दिष्ट करने की आवश्यकता है:

  • पुनर्स्थापित करने के लिए डेटाबेस का नाम।
  • बैकअप फ़ाइल का Amazon Resource Name (ARN)। S3 ऑब्जेक्ट के लिए, ARN यहां दिखाए गए फॉर्मेट का अनुसरण करता है।

SQL Server एक रिस्टोर कार्य शुरू करता है और इसे एक TaskID असाइन करता है। आप निम्न कमांड के साथ कार्य की स्थिति को आसानी से ट्रैक कर सकते हैं:

EXEC msdb.[dbo].[rds_task_status] @db_name ='DestinationDBName'

आप @db_name के बजाय प्रगति को ट्रैक करने के लिए TaskID का उपयोग कर सकते हैं।

SQL Server डेटाबेस को Amazon RDS में निर्बाध माइग्रेशन: एक चरण-दर-चरण गाइड

निम्नलिखित चिंताओं से अवगत रहें:

  • बकेट बैकअप फ़ाइल नाम rds_restore_database प्रोसीजर में केस सेंसिटिव है।
  • विकल्प ग्रुप में उपयोग की जाने वाली IAM भूमिका की S3 बकेट तक पहुंच है।
  • S3 बकेट पॉलिसी IAM भूमिका को बाहर करने के लिए प्रतिबंधात्मक नहीं है।
  • RDS SQL इंस्टेंस सही विकल्प ग्रुप का उपयोग करता है जहां आपने बैकअप/रिस्टोर विकल्प जोड़ा था। यह सेटिंग महत्वपूर्ण है। इसके बिना, रिस्टोर शुरू नहीं होता।

Amazon RDS में SQL Server नेटिव बैकअप और रिस्टोर की सीमाएं

Amazon RDS में SQL Server नेटिव बैकअप और रिस्टोर की कुछ सीमाएं निम्नलिखित हैं:

  • कोई डिफरेंशियल, ट्रांजैक्शन लॉग, फाइलग्रुप बैकअप, या रिस्टोर संभव नहीं है, जो डेटा रिकवरी के लिए बाधा नहीं है। Amazon RDS आपको शेड्यूल्ड इंस्टेंस स्नैपशॉट बनाने की अनुमति देता है, और वे स्नैपशॉट 35-दिन की रोलिंग अवधि के लिए पहुंच योग्य रखे जाते हैं। आप अंतिम पैंतीस दिनों में निर्दिष्ट समय के पांच मिनट के भीतर इंस्टेंस को पुनर्स्थापित कर सकते हैं।
  • आप S3 से ऑन-प्रिमाइसेस पर KMS-एन्क्रिप्टेड बैकअप को पुनर्स्थापित नहीं कर सकते।
  • आप उसी RDS इंस्टेंस में डेटाबेस को पुनर्स्थापित नहीं कर सकते।
  • आप ट्रांसपेरेंट डेटा एन्क्रिप्शन (TDE) सक्षम डेटाबेस के बैकअप को पुनर्स्थापित नहीं कर सकते।
  • लक्ष्य RDS इंस्टेंस को S3 बकेट तक पहुंच की आवश्यकता होती है।
  • RDS SQL Server नेटिव बैकअप और रिस्टोर कमांड चलाने वाला उपयोगकर्ता खाता उपयुक्त अनुमतियों वाला होना चाहिए।

निष्कर्ष

इस ब्लॉग ने आपको दिखाया कि क्लाउड डेस्टिनेशन पर डेटाबेस का बैकअप कैसे लें और इसे AWS RDS इंस्टेंस पर पुनर्स्थापित करें। RDS इंस्टेंस ड्राइव या सर्वर तक पहुंच प्रदान नहीं करता। कुंजी बैकअप फ़ाइल को AWS S3 बकेट पर स्थानांतरित करना और फिर वहां से पुनर्स्थापित करना है।

इस लेख का एक और उपयोग मामला आपके SQL बैकअप को सीधे AWS S3 पर संग्रहीत करना है, जो डेटा उपलब्धता, सुरक्षा, और प्रदर्शन वृद्धि प्रदान करता है। Amazon S3 को 99.999999999% (ग्यारह 9s) स्थायित्व के लिए डिज़ाइन किया गया है। डेटाबेस बैकअप संग्रहीत करने के मामले में यह दृष्टिकोण लागत प्रभावी है क्योंकि यह बहुत सारे हार्ड स्टोरेज की बचत करता है।

टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें।

विशेषज्ञ प्रशासन, प्रबंधन और कॉन्फ़िगरेशन के साथ अपने वातावरण को अनुकूलित करें

Rackspace के एप्लिकेशन सर्विसेज (RAS) विशेषज्ञ अनुप्रयोगों के एक विस्तृत पोर्टफोलियो में निम्नलिखित पेशेवर और प्रबंधित सेवाएं प्रदान करते हैं:

  • ईकॉमर्स और डिजिटल एक्सपीरियंस प्लेटफॉर्म
  • एंटरप्राइज रिसोर्स प्लानिंग (ERP)
  • बिजनेस इंटेलिजेंस
  • सेल्सफोर्स कस्टमर रिलेशनशिप मैनेजमेंट (CRM)
  • डेटाबेस
  • ईमेल होस्टिंग और उत्पादकता

हम प्रदान करते हैं:

  • निष्पक्ष विशेषज्ञता: हम आपकी आधुनिकीकरण यात्रा को सरल बनाते हैं और मार्गदर्शन करते हैं, उन क्षमताओं पर ध्यान केंद्रित करते हैं जो तत्काल मूल्य प्रदान करती हैं।
  • फैनैटिकल एक्सपीरियंस™: हम समर्पित तकनीकी सहायता के साथ प्रोसेस फर्स्ट, टेक्नोलॉजी सेकंड® दृष्टिकोण को जोड़कर व्यापक समाधान प्रदान करते हैं।
  • अद्वितीय पोर्टफोलियो: हम आपको सही क्लाउड पर सही तकनीक चुनने और तैनात करने में मदद करने के लिए व्यापक क्लाउड अनुभव लागू करते हैं।
  • एजाइल डिलीवरी: हम आपकी यात्रा में जहां आप हैं वहां मिलते हैं और अपनी सफलता को आपके साथ संरेखित करते हैं।

डेटाबेस के बारे में और जानें

टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें। आप हमारे साथ बातचीत भी शुरू कर सकते हैं।

  1. Microsoft SQL Server में उन्नत भ्रष्टाचार पहचान और पुनर्प्राप्ति Microsoft SQL Server में उन्नत भ्रष्टाचार पहचान और पुनर्प्राप्ति

    यह ब्लॉग Microsoft® SQL Server® में डेटाबेस स्तर पर होने वाली भ्रष्टाचार का वर्णन करता है, उनका पता कैसे लगाया जाए, और उन्नत पुनर्स्थापना और मरम्मत तकनीकों का उपयोग करके उन्हें कैसे ठीक किया जाए। परिचय वर्तमान में, SQL Server अपनी उन्नत आंतरिक संरचना और उच्च विश्वसनीयता के कारण सबसे लोकप्रिय और व्या

  1. अपने AWS SQL नेटिव डेटाबेस को सुरक्षित रूप से बैकअप, पुनर्स्थापित और मॉनिटर करें अपने AWS SQL नेटिव डेटाबेस को सुरक्षित रूप से बैकअप, पुनर्स्थापित और मॉनिटर करें

    डेटाबेस बैकअप तब होता है जब आप किसी डेटाबेस के ऑपरेशनल स्टेट, आर्किटेक्चर और संग्रहीत डेटा का बैकअप लेते हैं। यह आपको अपने डेटाबेस का डुप्लिकेट इंस्टेंस या प्रति बनाने में सक्षम बनाता है यदि प्राथमिक डेटाबेस क्रैश हो जाता है, भ्रष्ट हो जाता है, या खो जाता है। यह ब्लॉग पोस्ट Amazon® वेब सेवाओं (AWS)

  1. निर्बाध माइग्रेशन: अपने MS एक्सेस डेटा को SQL सर्वर 2014 में ले जाएं निर्बाध माइग्रेशन: अपने MS एक्सेस डेटा को SQL सर्वर 2014 में ले जाएं

    हाल ही में, मुझे एक एक्सेस डेटाबेस से डेटा को SQL सर्वर 2014 में माइग्रेट करना पड़ा क्योंकि मेरा डेटाबेस एक्सेस के लिए संभालने के लिए बहुत बड़ा हो रहा था। भले ही प्रक्रिया काफी सरल है, मैंने सोचा कि मैं चरण-दर-चरण निर्देशों के साथ एक लेख लिखूंगा। सबसे पहले, आपको यह सुनिश्चित करने की आवश्यकता है कि आ