Cloud & IT Cert Prep · पाठ

डेटाबेस माइग्रेशन की सर्वोत्तम विधियाँ

न्यूनतम डाउनटाइम के साथ SQL Server डेटाबेस को Azure SQL में माइग्रेट करने के लिए Azure Database Migration Service का उपयोग करें और सामान्य स्कीमा तथा संगतता समस्याओं का समाधान करें।

पाठ 4, कुल 4 में से13 चरण

डेटाबेस माइग्रेशन की सर्वोत्तम विधियाँ, CoddyKit पर Cloud & IT Cert Prep का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cloud & IT Cert Prep सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

डेटाबेस माइग्रेशन अलग क्यों है

डेटाबेस का माइग्रेशन VM को स्थानांतरित करने से अधिक जटिल है, क्योंकि डेटाबेस स्थिति-संरक्षण करने वाले होते हैं और अक्सर उनमें 24/7 सक्रिय कनेक्शन होते हैं। साधारण कॉपी और पुनर्स्थापना के लिए कई घंटे का डाउनटाइम आवश्यक होता है, जो उत्पादन सिस्टम के लिए स्वीकार्य नहीं है। डेटाबेस माइग्रेशन की सर्वोत्तम प्रथा निरंतर डेटा प्रतिकृति का उपयोग करती है, ताकि लक्ष्य डेटाबेस के सत्यापन के दौरान स्रोत और लक्ष्य सिंक रहें। इसके बाद ट्रैफ़िक को नए Azure डेटाबेस पर भेजने के लिए संक्षिप्त, नियोजित स्विचओवर किया जाता है।

Azure Database Migration Service

Azure Database Migration Service (DMS) पूरी तरह प्रबंधित सेवा है, जो लोकप्रिय ऑन-प्रिमाइसेस डेटाबेस इंजनों से Azure की प्रबंधित डेटाबेस सेवाओं में ऑनलाइन (लगभग शून्य-डाउनटाइम) और ऑफ़लाइन (डाउनटाइम-आधारित) माइग्रेशन का संचालन करती है। DMS में SQL Server, MySQL, PostgreSQL, MongoDB, Oracle जैसे स्रोत और Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL तथा Azure Cosmos DB जैसे लक्ष्य समर्थित हैं। यह सेवा माइग्रेशन से पहले संगतता जाँच के लिए Data Migration Assistant (DMA) के साथ एकीकृत होती है।

# Create a DMS instance
az dms create \
  --service-name myDMS \
  --resource-group myRG \
  --location eastus \
  --sku-name Premium_4vCores \
  --vnet myVnet \
  --subnet mySubnet

DMA के साथ माइग्रेशन-पूर्व आकलन

SQL Server का माइग्रेशन करने से पहले स्रोत डेटाबेस पर Data Migration Assistant (DMA) चलाएँ। DMA इनकी पहचान करता है: संगतता संबंधी समस्याएँ (आपके डेटाबेस में उपयोग किए गए ऐसे फ़ीचर जो Azure SQL लक्ष्य में समर्थित नहीं हैं), माइग्रेशन-रोधी बदलाव, पुराने हो चुके फ़ीचर और प्रदर्शन संबंधी सुझाव। यह एक विस्तृत HTML रिपोर्ट तैयार करता है, जिसमें समस्याओं को गंभीरता के अनुसार प्राथमिकता दी जाती है, ताकि माइग्रेशन अवधि शुरू होने से पहले आपकी टीम उन्हें ठीक कर सके।

# Run DMA assessment from CLI (Windows only)
# DmaCmd.exe /AssessmentName='SQL2022toAzureSQL' \
#   /AssessmentSourcePlatform='SqlOnPrem' \
#   /AssessmentTargetPlatform='AzureSqlDatabase' \
#   /AssessmentDatabases='Server=myServer;Initial Catalog=AdventureWorks;Integrated Security=true'

ऑनलाइन बनाम ऑफ़लाइन माइग्रेशन

ऑफ़लाइन माइग्रेशन पूरी माइग्रेशन अवधि के लिए स्रोत डेटाबेस को ऑफ़लाइन कर देता है — यह छोटे डेटाबेस या ऐसे गैर-महत्वपूर्ण सिस्टम के लिए स्वीकार्य है जहाँ रखरखाव अवधि निर्धारित की जा सकती है। ऑनलाइन माइग्रेशन नए डेटाबेस को लोड किए जाने के दौरान बदलावों को लगातार दोहराने के लिए change data capture (CDC) या ट्रांज़ैक्शन लॉग शिपिंग का उपयोग करता है, जिससे डाउनटाइम केवल अंतिम स्विचओवर चरण तक सीमित रहता है। 1 GB से बड़े या 1 घंटे से कम डाउनटाइम वाली SLA आवश्यकताओं वाले डेटाबेस के लिए ऑनलाइन माइग्रेशन की अनुशंसा की जाती है।

DMS माइग्रेशन प्रोजेक्ट कॉन्फ़िगर करना

DMS माइग्रेशन प्रोजेक्ट में स्रोत कनेक्शन (Server का नाम, प्रमाणीकरण, डेटाबेस के नाम), लक्ष्य कनेक्शन (Azure SQL कनेक्शन स्ट्रिंग) और माइग्रेशन मोड (ऑनलाइन या ऑफ़लाइन) निर्दिष्ट किए जाते हैं। आप यह भी चुनते हैं कि किन डेटाबेस और तालिकाओं को माइग्रेट करना है। DMS शुरू करने से पहले कनेक्टिविटी का सत्यापन करता है। माइग्रेशन प्रोजेक्ट Azure पोर्टल में सुरक्षित रहता है, इसलिए आप प्रगति पर नज़र रख सकते हैं, विफल तालिकाओं का पुनः प्रयास कर सकते हैं और गतिविधि लॉग का विस्तृत विवरण देख सकते हैं।

# Create a DMS project for SQL Server to Azure SQL Database
az dms project create \
  --service-name myDMS \
  --resource-group myRG \
  --name SQL2AzureSQL \
  --source-platform SQL \
  --target-platform SQLDB \
  --location eastus

पहले स्कीमा माइग्रेट करें

हमेशा डेटा से पहले स्कीमा माइग्रेट करें। लक्षित Azure SQL Database पर तालिकाएँ, दृश्य, संग्रहीत प्रक्रियाएँ, फ़ंक्शन और इंडेक्स की स्क्रिप्ट तैयार करके उन्हें लागू करने के लिए DMA या SQL Server Management Studio (SSMS) का उपयोग करें। DMS को डेटा स्थानांतरण शुरू करने देने से पहले सत्यापित करें कि सभी स्कीमा ऑब्जेक्ट मौजूद हैं और त्रुटियों के बिना संकलित होते हैं। माइग्रेशन के बीच में मिली स्कीमा त्रुटियाँ माइग्रेशन प्रक्रिया को दूषित कर सकती हैं और आपको इसे फिर से शुरू से चलाने के लिए विवश कर सकती हैं।

# Generate schema scripts using sqlpackage
sqlpackage /Action:Script \
  /SourceServerName:myOnPremServer \
  /SourceDatabaseName:AdventureWorks \
  /TargetServerName:mysqlserver.database.windows.net \
  /TargetDatabaseName:AdventureWorksAzure \
  /OutputPath:/tmp/schema.sql

प्रारंभिक डेटा लोड

DMS स्रोत डेटाबेस की तालिका-दर-तालिका रीडिंग करके और bulk insert का उपयोग करके पंक्तियों को Azure SQL लक्ष्य में लिखकर पूर्ण डेटा लोड करता है। पूर्ण लोड के दौरान, सेवा बड़ी तालिकाओं को बैचों में विभाजित करके संभालती है। थ्रूपुट को अधिकतम करने के लिए लोड के दौरान लक्ष्य पर मौजूद इंडेक्स अक्षम कर दिए जाते हैं और बाद में फिर से बनाए जाते हैं। बहुत बड़े डेटाबेस (TB-स्तर) के लिए, डेटा को पहले से लोड करने और DMS के रन समय को कम करने हेतु Azure डेटा फ़ैक्टरी या bacpac एक्सपोर्ट का उपयोग करने पर विचार करें।

ऑनलाइन सिंक के लिए Change Data Capture

ऑनलाइन माइग्रेशन के लिए, DMS स्रोत पर SQL सर्वर Change Data Capture (CDC) सक्षम करता है, ताकि पूर्ण लोड के दौरान होने वाले INSERT, UPDATE और DELETE ऑपरेशन कैप्चर किए जा सकें। पूर्ण लोड पूरा होने के बाद, DMS इन कैप्चर किए गए परिवर्तनों को लक्ष्य पर फिर से लागू करता है और अंतर को धीरे-धीरे समाप्त करता है। जब विलंबता लगभग शून्य तक घट जाती है, तब डेटाबेस cutover के लिए तैयार होता है। CDC के लिए SQL सर्वर Agent का चलना और स्रोत डेटाबेस का पूर्ण recovery मोड में होना आवश्यक है।

-- Enable CDC on source database
EXEC sys.sp_cdc_enable_db;

-- Enable CDC on specific table
EXEC sys.sp_cdc_enable_table
  @source_schema = N'dbo',
  @source_name = N'Orders',
  @role_name = NULL;

कटओवर और सत्यापन

जब CDC lag न्यूनतम हो जाए, तो DMS पोर्टल में cutover शुरू करें। DMS नए CDC इवेंट स्वीकार करना बंद कर देता है, बचे हुए परिवर्तनों को लागू करता है और माइग्रेशन को पूर्ण चिह्नित करता है। इस बिंदु पर, एप्लिकेशन connection strings को Azure SQL endpoint पर भेजें। महत्वपूर्ण तालिकाओं के लिए स्रोत और लक्ष्य के बीच पंक्ति-गणना और checksum aggregate की तुलना करने वाली डेटा सत्यापन क्वेरी चलाएँ। यदि rollback की आवश्यकता पड़े, तो cutover के बाद 24–48 घंटे तक स्रोत डेटाबेस को केवल-पठन मोड में रखें।

-- Validate row counts post-cutover
SELECT TABLE_NAME, TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
ORDER BY TABLE_NAME;

माइग्रेशन के बाद प्रदर्शन ट्यूनिंग

माइग्रेशन के बाद, अलग-अलग query plan cache, statistics और hardware के कारण Azure SQL Database का प्रदर्शन on-premises SQL सर्वर से अलग हो सकता है। Azure लक्ष्य पर workload traces को दोबारा चलाने और execution plans की तुलना करने के लिए Database Experimentation Assistant (DEA) चलाएँ। Azure SQL में Automatic Tuning सक्षम करें, ताकि सेवा स्वतः इंडेक्स बना या हटा सके और regression-मुक्त query plans लागू कर सके। इससे मैन्युअल हस्तक्षेप के बिना समय के साथ प्रदर्शन बेहतर होता रहेगा।

-- Enable Automatic Tuning on Azure SQL Database
ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
  FORCE_LAST_GOOD_PLAN = ON,
  CREATE_INDEX = ON,
  DROP_INDEX = OFF
);

अन्य डेटाबेस इंजन का माइग्रेशन

DMS open-source इंजन को भी माइग्रेट करता है: MySQL को Azure Database for MySQL में mysqldump + binlog replication पैटर्न का उपयोग करके, और PostgreSQL को Azure Database for PostgreSQL में logical replication slots का उपयोग करके। MongoDB से Cosmos DB माइग्रेशन के लिए Cosmos DB for MongoDB API और native mongodump / mongorestore pipeline या incremental CDC के लिए Azure डेटा फ़ैक्टरी के MongoDB connector का उपयोग करें। लाइव डेटा पर चलाने से पहले माइग्रेशन का परीक्षण हमेशा non-production कॉपी पर करें।

# Offline MySQL migration using mysqldump
mysqldump -h source-server -u admin -p \
  --single-transaction --routines --triggers \
  myDatabase > /tmp/myDatabase.sql

# Restore to Azure Database for MySQL
mysql -h myserver.mysql.database.azure.com \
  -u adminUser@myserver -p myDatabase < /tmp/myDatabase.sql

त्वरित जाँच

इस पाठ में Microsoft Azure Fundamentals (AZ-900) की अवधारणाओं की अपनी समझ जाँचें।

पाठ का पुनरावलोकन

इस पाठ में आपने सीखा: Azure Database Migration Service ऑनलाइन और ऑफलाइन डेटाबेस माइग्रेशन को व्यवस्थित करता है, DMA के साथ प्री-माइग्रेशन आकलन माइग्रेशन विंडो से पहले संगतता संबंधी समस्याओं का पता लगाता है, और change data capture production डेटाबेस के लिए लगभग शून्य-डाउनटाइम cutover सक्षम करता है। अब हम Azure लागतों को अनुकूलित करने पर ध्यान केंद्रित करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Cloud & IT Cert Prep सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
150
पाठ
600

अक्सर पूछे जाने वाले प्रश्न

क्या “डेटाबेस माइग्रेशन की सर्वोत्तम विधियाँ” पाठ निःशुल्क है?

हाँ—“डेटाबेस माइग्रेशन की सर्वोत्तम विधियाँ” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cloud & IT Cert Prep पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“डेटाबेस माइग्रेशन की सर्वोत्तम विधियाँ” में मैं क्या सीखूँगा?

न्यूनतम डाउनटाइम के साथ SQL Server डेटाबेस को Azure SQL में माइग्रेट करने के लिए Azure Database Migration Service का उपयोग करें और सामान्य स्कीमा तथा संगतता समस्याओं का समाधान करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cloud & IT Cert Prep का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cloud & IT Cert Prep शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cloud & IT Cert Prep शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“डेटाबेस माइग्रेशन की सर्वोत्तम विधियाँ” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cloud & IT Cert Prep पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cloud & IT Cert Prep पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. 6-R माइग्रेशन ढाँचा
  2. Azure Migrate: खोज और आकलन
  3. Azure Migrate से Rehost करना (Lift and Shift)
  4. डेटाबेस माइग्रेशन की सर्वोत्तम विधियाँ
← Cloud & IT Cert Prep पर वापस जाएँ