MS SQL Server 2005/2008 में टेबल-लेवल बैकअप (डंप) कैसे लें?
जवाबों:
BACKUP DATABASE
जब तक प्रश्न में तालिका को स्वयं के लिए आवंटित नहीं किया जाता है, तब तक आप कमांड का उपयोग एकल तालिका के बैकअप के लिए नहीं कर सकते FILEGROUP
।
आप क्या कर सकते हैं, जैसा कि आपने सुझाव दिया है कि सीएसवी फ़ाइल में तालिका डेटा निर्यात करें। अब अपनी तालिका की परिभाषा प्राप्त करने के लिए आप स्क्रिप्ट को 'स्क्रिप्ट आउट' कर सकते हैं CREATE TABLE
।
आप इसे SQL सर्वर प्रबंधन स्टूडियो के भीतर कर सकते हैं:
राइट क्लिक डेटाबेस> कार्य> स्क्रिप्ट उत्पन्न करें
फिर आप उस तालिका का चयन कर सकते हैं जिसे आप स्क्रिप्ट करना चाहते हैं और किसी भी संबंधित ऑब्जेक्ट, जैसे कि बाधाएं और अनुक्रमणिका को शामिल करने का चयन करते हैं।
DATA
केवल साथ पाने के लिए schema
, आपको Advanced
सेट स्क्रिप्टिंग विकल्प टैब पर चुनना होगा , और GENERAL
अनुभाग में Types of data to script
चयन सेट करेंSchema and Data
आशा है कि यह मदद करता है, लेकिन अगर आपको और अधिक सहायता की आवश्यकता है, तो सीधे मुझसे संपर्क करने में संकोच न करें।
Advanced
सेट स्क्रिप्टिंग विकल्प टैब पर चुनना होगा , और सामान्य अनुभाग में Types of data to script
चयन चुनें Schema and Data
। यह स्पष्ट नहीं था कि मैंने पहली बार ऐसा किया था।
मैं टेबल-स्तर बैकअप प्राप्त करने के लिए बल्क कॉपी उपयोगिता का उपयोग कर रहा हूं
निर्यात करने को:
bcp.exe "select * from [MyDatabase].dbo.Customer " queryout "Customer.bcp" -N -S localhost -T -E
आयात करने के लिए:
bcp.exe [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
जैसा कि आप देख सकते हैं, आप किसी भी क्वेरी के आधार पर निर्यात कर सकते हैं, इसलिए आप इसके साथ वृद्धिशील बैकअप भी कर सकते हैं। साथ ही, यह SSMS का उपयोग करने वाले अन्य तरीकों के विपरीत स्क्रिप्टेड है।
यहां आपके लिए आवश्यक कदम हैं। यदि आप डेटा चाहते हैं तो Step5 महत्वपूर्ण है। चरण 2 वह जगह है जहाँ आप व्यक्तिगत तालिकाओं का चयन कर सकते हैं।
EDIT स्टैक का संस्करण काफी पठनीय नहीं है ... यहाँ एक पूर्ण आकार की छवि है http://i.imgur.com/y6ZCL.jpg
आप मौजूदा तालिका का बैकअप लेने के लिए नीचे दी गई क्वेरी को चला सकते हैं जो डेटा के साथ पुरानी तालिका की मौजूदा संरचना के साथ एक नई तालिका बनाएगी।
select * into newtablename from oldtablename
केवल तालिका संरचना की प्रतिलिपि बनाने के लिए, नीचे क्वेरी का उपयोग करें।
select * into newtablename from oldtablename where 1 = 2
यह qntmfred के समाधान के समान है , लेकिन प्रत्यक्ष टेबल डंप का उपयोग करना। यह विकल्प थोड़ा तेज़ है ( BCP डॉक्स देखें ):
निर्यात करने को:
bcp "[MyDatabase].dbo.Customer " out "Customer.bcp" -N -S localhost -T -E
आयात करने के लिए:
bcp [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
यदि आप MySQL की तरह कुछ खोज रहे हैं DUMP
, तो अच्छी खबर: SQL सर्वर 2008 प्रबंधन स्टूडियो ने उस क्षमता को जोड़ा।
SSMS में, प्रश्न में DB पर बस राइट-क्लिक करें और कार्य> जनरेट लिपियों का चयन करें । फिर विकल्प विज़ार्ड के 2 पेज में, यह सुनिश्चित करना चुनें कि आप डेटा के साथ ही स्क्रिप्ट करना चाहते हैं , और यह आपके लिए एक DUMP
फ़ाइल में क्या मात्रा उत्पन्न करेगा ।
नया फ़ाइल समूह बनाएं, इस तालिका को उस पर रखें, और इस फ़ाइल समूह को केवल बैकअप दें।
आप SQL स्क्रिप्ट (CREATE TABLE और INSERT INTO) के साथ पाठ फ़ाइलों को बनाने के लिए Microsoft से मुक्त डेटाबेस प्रकाशन विज़ार्ड का उपयोग कर सकते हैं ।
आप एकल तालिका के लिए ऐसी फ़ाइल बना सकते हैं, और आप SQL स्क्रिप्ट को चलाकर डेटा सहित पूरी तालिका को "पुनर्स्थापित" कर सकते हैं।
मुझे नहीं पता, यह यहाँ वर्णित समस्या से मेल खाएगा या नहीं। मुझे एक टेबल का वृद्धिशील बैकअप लेना था! (केवल नए सम्मिलित डेटा की प्रतिलिपि बनाई जानी चाहिए)। मैं एक DTS पैकेज डिज़ाइन करता था जहाँ।
मैंने नए रिकॉर्ड ('स्थिति' कॉलम के आधार पर) प्राप्त किए और डेटा को गंतव्य पर स्थानांतरित किया। (ट्रांसफॉर्म डेटा टास्क के जरिए)
फिर मैंने सिर्फ 'स्टेटस' कॉलम अपडेट किया। (एक्ज़िक्यूट एसक्यूएल टास्क के माध्यम से ')
मुझे 'वर्कफ़्लो' को ठीक से तय करना था।
प्रत्येक रिकवरी मॉडल आपको एक पूर्ण या आंशिक SQL सर्वर डेटाबेस या व्यक्तिगत फ़ाइलों या डेटाबेस के फ़ाइलग्रुप का बैकअप देता है। तालिका-स्तरीय बैकअप नहीं बनाया जा सकता ।
आपके पास संभवतः दो विकल्प हैं, क्योंकि SQL सर्वर टेबल बैकअप का समर्थन नहीं करता है। दोनों तालिका निर्माण की पटकथा के साथ शुरू करेंगे। फिर आप या तो पटकथा तालिका - INSERT विकल्प का उपयोग कर सकते हैं जो बहुत सारे सम्मिलित कथन उत्पन्न करेगा, या आप डेटा को CSV या समान के रूप में निर्यात करने के लिए एकीकरण सेवाओं (2000 के साथ DTS) का उपयोग कर सकते हैं।
BMC रिकवरी मैनेजर (पहले SQLBacktrack के रूप में जाना जाता है) एक डेटाबेस (उर्फ तालिकाओं) में व्यक्तिगत वस्तुओं की पॉइंट-इन-टाइम रिकवरी की अनुमति देता है। यह सस्ता नहीं है, लेकिन एक शानदार काम करता है: http://www.bmc.com/products/proddocview/0,2832,19052_19429_70025639_147752,00.html
http://www.bmc.com/products/proddocview/0,2832,19052_19429_67883151_147636,00.html
यदि आप किसी तालिका को पुनर्स्थापित करने में सक्षम होने के बाद देख रहे हैं कि किसी ने गलती से पंक्तियों को हटा दिया है तो आप डेटाबेस स्नैपशॉट पर एक नज़र डाल सकते हैं। आप स्नैपशॉट से तालिका को आसानी से (या पंक्तियों का सबसेट) पुनर्स्थापित कर सकते हैं। Http://msdn.microsoft.com/en-us/library/ms175158.aspx देखें
SqlTableZip नाम का एक फ्री ऐप काम करवाएगा। मूल रूप से, आप कोई भी लिखते हैं क्वेरी (जो, निश्चित रूप से [टेबल से चयन करें] भी हो सकता है) और ऐप सभी डेटा के साथ एक संपीड़ित फ़ाइल बनाता है, जिसे बाद में पुनर्स्थापित किया जा सकता है।
हैंडी बैकअप MSSQL 2005/2008 सहित MS SQL सर्वर से स्वचालित रूप से डंप फाइल बनाता है। ये डंप टेबल-स्तरीय बाइनरी फाइलें हैं, जिसमें विशेष डेटाबेस सामग्री की सटीक प्रतियां होती हैं।
आसान बैकअप के साथ एक साधारण डंप बनाने के लिए, कृपया अगले निर्देश का पालन करें:
अब अपने नाम से पहले एक आइकन पर क्लिक करके अपना नया कार्य चलाएं, या निर्धारित समय की प्रतीक्षा करें। आसान बैकअप स्वचालित रूप से आपके डेटाबेस के लिए एक डंप बना देगा। फिर अपना बैकअप गंतव्य खोलें। आपको अपने MS SQL बैकअप के साथ एक फ़ोल्डर (या कुछ जोड़े) मिलेंगे। इस तरह के किसी भी फ़ोल्डर में एक टेबल-स्तर डंप फ़ाइल होगी, जिसमें कुछ बाइनरी टेबल और सेटिंग्स एक ही ज़िप में संपीड़ित होंगी।
आसान बैकअप MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, लोटस नोट्स और ODBC ड्राइवर वाले किसी भी सामान्य SQL डेटाबेस के लिए डंप को बचा सकता है। इनमें से कुछ डेटाबेस को DBMS और हैंडी बैकअप के बीच संबंध स्थापित करने के लिए अतिरिक्त चरणों की आवश्यकता होती है।
ऊपर वर्णित उपकरण अक्सर तालिका-स्तरीय SQL कमांड अनुक्रम के रूप में SQL डेटाबेस को डंप करते हैं, जिससे इन फ़ाइलों को आपके द्वारा आवश्यक किसी भी मैनुअल संशोधनों के लिए तैयार किया जाता है।