टेबल-स्तरीय बैकअप


जवाबों:


89

BACKUP DATABASEजब तक प्रश्न में तालिका को स्वयं के लिए आवंटित नहीं किया जाता है, तब तक आप कमांड का उपयोग एकल तालिका के बैकअप के लिए नहीं कर सकते FILEGROUP

आप क्या कर सकते हैं, जैसा कि आपने सुझाव दिया है कि सीएसवी फ़ाइल में तालिका डेटा निर्यात करें। अब अपनी तालिका की परिभाषा प्राप्त करने के लिए आप स्क्रिप्ट को 'स्क्रिप्ट आउट' कर सकते हैं CREATE TABLE

आप इसे SQL सर्वर प्रबंधन स्टूडियो के भीतर कर सकते हैं:

राइट क्लिक डेटाबेस> कार्य> स्क्रिप्ट उत्पन्न करें

फिर आप उस तालिका का चयन कर सकते हैं जिसे आप स्क्रिप्ट करना चाहते हैं और किसी भी संबंधित ऑब्जेक्ट, जैसे कि बाधाएं और अनुक्रमणिका को शामिल करने का चयन करते हैं।

DATAकेवल साथ पाने के लिए schema, आपको Advancedसेट स्क्रिप्टिंग विकल्प टैब पर चुनना होगा , और GENERALअनुभाग में Types of data to scriptचयन सेट करेंSchema and Data

आशा है कि यह मदद करता है, लेकिन अगर आपको और अधिक सहायता की आवश्यकता है, तो सीधे मुझसे संपर्क करने में संकोच न करें।


'डेटाबेस प्रकाशन विज़ार्ड' मेरे द्वारा बताए गए चरणों को स्वचालित करेगा।
जॉन सेन्सोम

25
जॉन, यह उल्लेख करना न भूलें कि सिर्फ स्कीमा के साथ डेटा प्राप्त करने के लिए, आपको Advancedसेट स्क्रिप्टिंग विकल्प टैब पर चुनना होगा , और सामान्य अनुभाग में Types of data to scriptचयन चुनें Schema and Data। यह स्पष्ट नहीं था कि मैंने पहली बार ऐसा किया था।
एलेक्स सी।

एलेक्स की टिप बहुत महत्वपूर्ण है। इसके अलावा, वहाँ एसक्यूएल सर्वर में मेनू के माध्यम से जाने के बजाय यह स्क्रिप्ट करने का एक तरीका है?
१४:१२

1
आपको PowerShell और SMO के संयोजन का उपयोग करके इसे प्राप्त करने में सक्षम होना चाहिए। फिल फैक्टर के इस लेख को एक मार्गदर्शक के रूप में देखें: simple-talk.com/sql/database-administration/…
John Sansom

@AlexC धन्यवाद! मुझे सिरदर्द से बचा लिया :)
साइमन व्हाइटहैड

55

मैं टेबल-स्तर बैकअप प्राप्त करने के लिए बल्क कॉपी उपयोगिता का उपयोग कर रहा हूं

निर्यात करने को:

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 का उपयोग करने वाले अन्य तरीकों के विपरीत स्क्रिप्टेड है।


1
बिलकुल चौकन्ना। यदि आप किसी चयनित क्वेरी के बजाय नाम का उपयोग करके तालिका को कॉपी करना चाहते हैं, तो QUERYOUT के स्थान पर OUT का उपयोग करने के लिए स्क्रिप्ट बदलें।
वलमास

45

यहां आपके लिए आवश्यक कदम हैं। यदि आप डेटा चाहते हैं तो Step5 महत्वपूर्ण है। चरण 2 वह जगह है जहाँ आप व्यक्तिगत तालिकाओं का चयन कर सकते हैं।

EDIT स्टैक का संस्करण काफी पठनीय नहीं है ... यहाँ एक पूर्ण आकार की छवि है http://i.imgur.com/y6ZCL.jpg

जॉन सेन्सोम के उत्तर के चरण यहाँ दिए गए हैं


क्या SSMS आप @Alex C का उपयोग कर रहे थे? SSMS2005 में मेरा जादूगर आपसे अलग है।
किरदपे

मुझे क्षमा करें, मुझे यह उत्तर देते हुए वर्षों हो गए हैं। मुझे लगता है कि मैं शायद 2008 का उपयोग कर रहा था। मैंने अभी अपने विज़ार्ड की जाँच की और अब आपको उन्नत क्लिक नहीं करना है, बल्कि फ्रेम 5 (ऊपर) से पूरी सूची विज़ार्ड पृष्ठों में से एक के रूप में दिखाई देती है। इसके अतिरिक्त संरचना और डेटा विकल्प को अलग-अलग प्रत्येक के लिए TRUE / FALSE विकल्पों में विभाजित किया गया है। मुझे पता है कि अगर कुछ और है तो मैं मदद कर सकता हूं।
एलेक्स सी

19

आप मौजूदा तालिका का बैकअप लेने के लिए नीचे दी गई क्वेरी को चला सकते हैं जो डेटा के साथ पुरानी तालिका की मौजूदा संरचना के साथ एक नई तालिका बनाएगी।

select * into newtablename from oldtablename

केवल तालिका संरचना की प्रतिलिपि बनाने के लिए, नीचे क्वेरी का उपयोग करें।

select * into newtablename from oldtablename where 1 = 2

7

यह 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

1
क्या इसमें अड़चनें शामिल हैं?
user3071284

4

यदि आप MySQL की तरह कुछ खोज रहे हैं DUMP, तो अच्छी खबर: SQL सर्वर 2008 प्रबंधन स्टूडियो ने उस क्षमता को जोड़ा।

SSMS में, प्रश्न में DB पर बस राइट-क्लिक करें और कार्य> जनरेट लिपियों का चयन करें । फिर विकल्प विज़ार्ड के 2 पेज में, यह सुनिश्चित करना चुनें कि आप डेटा के साथ ही स्क्रिप्ट करना चाहते हैं , और यह आपके लिए एक DUMPफ़ाइल में क्या मात्रा उत्पन्न करेगा ।



2

आप SQL स्क्रिप्ट (CREATE TABLE और INSERT INTO) के साथ पाठ फ़ाइलों को बनाने के लिए Microsoft से मुक्त डेटाबेस प्रकाशन विज़ार्ड का उपयोग कर सकते हैं ।

आप एकल तालिका के लिए ऐसी फ़ाइल बना सकते हैं, और आप SQL स्क्रिप्ट को चलाकर डेटा सहित पूरी तालिका को "पुनर्स्थापित" कर सकते हैं।


+1 उन सभी लोगों के लिए जिनका उपयोग SQL स्क्रिप्ट के लिए किया जाता है, यह वह विकल्प है जिसे आप खोज रहे हैं। अलग-अलग तालिकाओं का चयन करने के लिए "चयनित डेटाबेस में स्क्रिप्ट सभी वस्तुओं को अनचेक करें"। स्क्रीनशॉट: products.secureserver.net/products/hosting/…
lep

2

मुझे नहीं पता, यह यहाँ वर्णित समस्या से मेल खाएगा या नहीं। मुझे एक टेबल का वृद्धिशील बैकअप लेना था! (केवल नए सम्मिलित डेटा की प्रतिलिपि बनाई जानी चाहिए)। मैं एक DTS पैकेज डिज़ाइन करता था जहाँ।

  1. मैंने नए रिकॉर्ड ('स्थिति' कॉलम के आधार पर) प्राप्त किए और डेटा को गंतव्य पर स्थानांतरित किया। (ट्रांसफॉर्म डेटा टास्क के जरिए)

  2. फिर मैंने सिर्फ 'स्टेटस' कॉलम अपडेट किया। (एक्ज़िक्यूट एसक्यूएल टास्क के माध्यम से ')

मुझे 'वर्कफ़्लो' को ठीक से तय करना था।


2

SQL सर्वर आयात और निर्यात विज़ार्ड का उपयोग करें।

  1. SSMS
  2. डेटाबेस इंजन खोलें
  3. ऑल्ट। निर्यात करने के लिए तालिका युक्त डेटाबेस पर क्लिक करें
  4. "कार्य" चुनें
  5. "डेटा निर्यात करें ..." चुनें
  6. जादूगर का पालन करें

1

प्रत्येक रिकवरी मॉडल आपको एक पूर्ण या आंशिक SQL सर्वर डेटाबेस या व्यक्तिगत फ़ाइलों या डेटाबेस के फ़ाइलग्रुप का बैकअप देता है। तालिका-स्तरीय बैकअप नहीं बनाया जा सकता

से: बैकअप अवलोकन (SQL सर्वर)


0

आपके पास संभवतः दो विकल्प हैं, क्योंकि SQL सर्वर टेबल बैकअप का समर्थन नहीं करता है। दोनों तालिका निर्माण की पटकथा के साथ शुरू करेंगे। फिर आप या तो पटकथा तालिका - INSERT विकल्प का उपयोग कर सकते हैं जो बहुत सारे सम्मिलित कथन उत्पन्न करेगा, या आप डेटा को CSV या समान के रूप में निर्यात करने के लिए एकीकरण सेवाओं (2000 के साथ DTS) का उपयोग कर सकते हैं।


0

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


0

यदि आप किसी तालिका को पुनर्स्थापित करने में सक्षम होने के बाद देख रहे हैं कि किसी ने गलती से पंक्तियों को हटा दिया है तो आप डेटाबेस स्नैपशॉट पर एक नज़र डाल सकते हैं। आप स्नैपशॉट से तालिका को आसानी से (या पंक्तियों का सबसेट) पुनर्स्थापित कर सकते हैं। Http://msdn.microsoft.com/en-us/library/ms175158.aspx देखें


0

SqlTableZip नाम का एक फ्री ऐप काम करवाएगा। मूल रूप से, आप कोई भी लिखते हैं क्वेरी (जो, निश्चित रूप से [टेबल से चयन करें] भी हो सकता है) और ऐप सभी डेटा के साथ एक संपीड़ित फ़ाइल बनाता है, जिसे बाद में पुनर्स्थापित किया जा सकता है।

लिंक: http://www.doccolabs.com/products_sqltablezip.html


0

हैंडी बैकअप MSSQL 2005/2008 सहित MS SQL सर्वर से स्वचालित रूप से डंप फाइल बनाता है। ये डंप टेबल-स्तरीय बाइनरी फाइलें हैं, जिसमें विशेष डेटाबेस सामग्री की सटीक प्रतियां होती हैं।

आसान बैकअप के साथ एक साधारण डंप बनाने के लिए, कृपया अगले निर्देश का पालन करें:

  1. हैंडी बैकअप स्थापित करें और एक नया बैकअप कार्य बनाएं।
  2. डेटा स्रोत के रूप में चरण 2 पर "MSSQL" का चयन करें। एक नई विंडो पर, बैकअप के लिए एक डेटाबेस चिह्नित करें।
  3. उन विभिन्न गंतव्यों में से चुनें, जहाँ आप अपना बैकअप स्टोर करेंगे।
  4. चरण 4 पर, "पूर्ण" बैकअप विकल्प चुनें। जरूरत पड़ने पर टाइम स्टैम्प सेट करें।
  5. चरण 5 को छोड़ें जब तक कि आपको परिणामस्वरूप डंप फ़ाइल को संपीड़ित या एन्क्रिप्ट करने की आवश्यकता न हो।
  6. चरण 6 पर, समय-समय पर डंप बनाने के लिए किसी कार्य के लिए शेड्यूल सेट करें (अन्यथा कार्य को मैन्युअल रूप से चलाएं)।
  7. फिर से, चरण 7 को छोड़ें, और अपने कार्य को एक चरण 8 पर एक नाम दें। आप कार्य समाप्त कर रहे हैं!

अब अपने नाम से पहले एक आइकन पर क्लिक करके अपना नया कार्य चलाएं, या निर्धारित समय की प्रतीक्षा करें। आसान बैकअप स्वचालित रूप से आपके डेटाबेस के लिए एक डंप बना देगा। फिर अपना बैकअप गंतव्य खोलें। आपको अपने MS SQL बैकअप के साथ एक फ़ोल्डर (या कुछ जोड़े) मिलेंगे। इस तरह के किसी भी फ़ोल्डर में एक टेबल-स्तर डंप फ़ाइल होगी, जिसमें कुछ बाइनरी टेबल और सेटिंग्स एक ही ज़िप में संपीड़ित होंगी।

अन्य डेटाबेस

आसान बैकअप MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, लोटस नोट्स और ODBC ड्राइवर वाले किसी भी सामान्य SQL डेटाबेस के लिए डंप को बचा सकता है। इनमें से कुछ डेटाबेस को DBMS और हैंडी बैकअप के बीच संबंध स्थापित करने के लिए अतिरिक्त चरणों की आवश्यकता होती है।

ऊपर वर्णित उपकरण अक्सर तालिका-स्तरीय SQL कमांड अनुक्रम के रूप में SQL डेटाबेस को डंप करते हैं, जिससे इन फ़ाइलों को आपके द्वारा आवश्यक किसी भी मैनुअल संशोधनों के लिए तैयार किया जाता है।

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