उसी या किसी अन्य सर्वर पर MSSQL डेटाबेस की नकल कैसे करें?


15

मैं निम्नलिखित को पूरा करने की कोशिश कर रहा हूं:

  1. मूल डेटाबेस का एक स्नैपशॉट लें, दूसरे सर्वर पर एक डुप्लिकेट बनाएं और सटीक बनाएं?
  2. मूल डेटाबेस का एक स्नैपशॉट लें, एक सर्वर पर एक अलग डीबी नाम के तहत एक डुप्लिकेट बनाएं

हालाँकि, मैं MSSQL के साथ बहुत सीमित अनुभव के कारण नहीं कर सकता। कोई सुझाव?

अतिरिक्त जानकारी:

उत्पत्ति DB सर्वर: SQL सर्वर 2000

गंतव्य DB सर्वर: SQL सर्वर 2005

जवाबों:


17
  1. डेटाबेस का बैकअप लें
  2. एक नए नाम और / या किसी अन्य सर्वर के तहत डेटाबेस को पुनर्स्थापित करें

इन दोनों ऑपरेशनों को एंटरप्राइज मैनेजर (SQL2000) या इसके प्रतिस्थापन SQL मैनेजमेंट स्टूडियो (SQL2005 +), या TSQL से BACKUP और RESTORE कमांड से किया जा सकता है ।

नोट: आप SQL2000 से SQL2000 से समर्थित अधिकांश मामलों में समस्याएँ नहीं, बल्कि दूसरे तरीके से डेटाबेस को पुनर्स्थापित कर सकते हैं।


1
धन्यवाद डेविड। यद्यपि मैं किसी अन्य सर्वर पर एक नए नाम के तहत DB को कैसे पुनर्स्थापित करूं?
एलेक्स एन

डेटाबेस का बैकअप लेने से बैकअप फ़ाइल बनती है (या किसी मौजूदा का विस्तार होता है)। इस फ़ाइल को दूसरे सर्वर पर स्थानांतरित करें और फिर उस फ़ाइल से डेटाबेस को पुनर्स्थापित करने के लिए प्रबंधन स्टूडियो (या किसी अन्य तरीके से जारी किया गया आदेश) का उपयोग करें। पुनर्स्थापना प्रक्रिया आपको एक बार पुनर्स्थापित होने के बाद डेटाबेस के लिए एक नाम तय करने का अवसर प्रदान करती है।
डेविड स्पिलट

7

ऊपर के चरणों का पालन करते हुए मैंने इसे जोड़कर ठोकर खाई।
SQL Server 2008 R2 में कम से कम आप सर्वर पर बैकअप लोकल प्राप्त करने के लिए एक कदम छोड़ सकते हैं।

  1. राइट क्लिक डेटाबेस
  2. पुनर्स्थापना डेटाबेस पर क्लिक करें।
  3. डेटाबेस विकल्प से उस डेटाबेस पर सेट करें जिसे आप कॉपी कर रहे हैं
  4. नए नाम के लिए To डेटाबेस विकल्प सेट करें
  5. ओके पर क्लिक करें

5

संभवतः यह सबसे अच्छा समाधान है:

1) सोर्स डीबी सर्वर पर - स्थानीय फ़ाइल का बैकअप बनाएं

DECLARE @fileName nvarchar(400);
DECLARE @DB_Name nvarchar(50);

SET @DB_Name = 'NameOfSourceDatabase'
SET @fileName = 'c:\Test\original.bak'

BACKUP DATABASE @DB_Name TO DISK = @fileName

2) गंतव्य फ़ाइल को गंतव्य सर्वर पर कॉपी करें।
यदि दोनों सर्वर एक ही मशीन पर हैं, तो आप उस फ़ाइल की एक प्रति बनाना चाहते हैं:

EXEC master.dbo.xp_cmdshell 'COPY c:\Test\original.bak   c:\Test\clone.bak'

3) डेस्टिनेशन डीबी सर्वर पर : बैकअप फ़ाइल से डेटाबेस को पुनर्स्थापित करें

RESTORE DATABASE CloneDB

FROM DISK='c:\Test\clone.bak'

0

MS SQLServer 2012 का उपयोग करते हुए, आपको पहले 3 मूल चरणों को करने की जरूरत है, .sql फ़ाइल जिसमें केवल स्रोत DB की संरचना है => स्रोत DB पर राइट क्लिक करें और फिर कार्य करें तब स्क्रिप्ट उत्पन्न करें => विज़ार्ड का पालन करें और आप उसे सहेज सकते हैं। .sql फ़ाइल स्थानीय रूप से दूसरी, .sql गंतव्य db के साथ स्रोत db फ़ाइल को एक => गंतव्य फ़ाइल पर राइट क्लिक करें और नई क्वेरी और Ctrl-H दबाएं (संपादित करें - ढूंढें और बदलें - क्वेरी पुनरावृत्ति) अंत में, डेटा के साथ पॉप करें => डिटेंशन DB पर राइट क्लिक करें, फिर टास्क और उसके बाद डेटा => डेटा सोर्स ड्रॉप डॉव सेट "एसक्यूएल सर्वर के लिए .net फ्रेमवर्क डेटा प्रॉक्टर के लिए" + डेटा कनेक्शन के तहत कनेक्शन स्ट्रिंग टेक्स्ट फील्ड सेट करें: डेटा सोर्स = मेहदी \ _SLEXLEXPRESS; प्रारंभिक सूची = db_test; उपयोगकर्ता आईडी = सा? पासवर्ड = sqlrpwrd15 => गंतव्य के साथ करने के लिए एक ही बात =>उन सभी की जांच करने के लिए "स्रोत: ....." के अलावा आप जिस तालिका को स्थानांतरित या चेक करना चाहते हैं, उस तालिका को देखें

आप कर चुके हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.