2013-07-29 5 views
8

से मूल एमडीएफ फ़ाइल को बहाल करने के लिए मुझे एक बाक फ़ाइल मिली है (जो एक SQL सर्वर एक्सप्रेस 2005 एमडीएफ फ़ाइल के लिए बैकअप डेटाबेस फ़ाइल है) और मुझे एमडीएफ फ़ाइल प्राप्त करनी चाहिए ताकि मैं इसकी टेबल पर कैसे काम कर सकूं, क्या मैं इस बीक फ़ाइल से मूल एमडीएफ फ़ाइल प्राप्त कर सकता हूं? मैं विजुअल स्टूडियो 2012 का उपयोग कर रहा हूं, क्या प्रबंधन स्टूडियो रखना आवश्यक है? मैंने इस बाक फ़ाइल को एसक्यूएल सर्वर एक्सप्रेस मैनेजमेंट स्टूडियो 2008 युक्त किसी अन्य सिस्टम में रिक्त डेटाबेस में पुनर्स्थापित करने का प्रयास किया है, लेकिन यह कहता है कि डेटाबेस मेल नहीं खाते हैं, क्या गलत हो रहा है?बाक फ़ाइल

उत्तर

5

यदि आपने बैकअप के साथ इसे ओवरराइट करने के लिए रिक्त डेटाबेस बनाया है, तो आपको REPLACE पैरामीटर निर्दिष्ट करने की आवश्यकता होगी।

इसके अलावा, आपको फ़ाइलों को सही स्थानों में रखने के लिए MOVE पैरामीटर निर्दिष्ट करना पड़ सकता है।

आप वैकल्पिक रूप से आप कर सकते हैं काफी आसानी से जब बहाल कर जीयूआई में इन विकल्पों को खोजने में सक्षम होना चाहिए, या यहाँ संदर्भ का उपयोग करके इसे स्क्रिप्ट आउट:

How to: Restore a Database to a New Location and Name (Transact-SQL)

+0

धन्यवाद के आधार और नाम अपडेट करें, लेकिन मैं कोड के माध्यम से यह क्रिया कैसे कर सकता हूं? मुझे आपके लिंक में प्रदान किए गए कोड नमूने को कहां चलाया जाना चाहिए? मुझे SQLCommand ऑब्जेक्ट बनाना चाहिए और उन स्क्रिप्ट को चलाएं? –

+0

आप ऐसा कर सकते हैं, या आप केवल SQL प्रबंधन स्टूडियो – steoleary

11

ध्यान रखें कि एक बहाल रखें डेटाबेस बैकअप फ़ाइल मूल एमडीएफ (और एलडीएफ) फाइलें नहीं देगी। मूल MDF फ़ाइल प्राप्त करने का एकमात्र तरीका यह है कि इसे कॉपी करें आप विजुअल स्टूडियो में स्टीलेरी द्वारा सुझाए गए टी-एसक्यूएल को निष्पादित कर सकते हैं, यहां और देखें: How to: Run SQL Scripts in Solution Explorer। आप SQL सर्वर प्रबंधन स्टूडियो में भी ऐसा कर सकते हैं।

आपके द्वारा बनाए गए रिक्त डेटाबेस में बहुत मदद नहीं होती है, जब तक कि आप बैकअप को सिंक्रनाइज़ नहीं करना चाहते। लेकिन इसके लिए आपको एक तृतीय पक्ष टूल

सबसे पहले, अपने बैकअप में लॉजिकल फ़ाइल नामों को जानने के लिए निम्न निष्पादित करना होगा। इस उदाहरण TestFull.bak नामित बैकअप ई में संग्रहीत के लिए है: \ टेस्ट

RESTORE FILELISTONLY 
FROM DISK = 'E:\Test\TestFull.bak' 
GO 

enter image description here

तार्किक नाम अगले लिपि में इस्तेमाल किया जाना चाहिए। साथ ही,

RESTORE DATABASE YourDB 
FROM DISK = 'E:\Test\TestFull.bak' 
WITH MOVE 'test1' TO 'E:\test\TestMDFFile.mdf', 
MOVE 'test1_log' TO 'E:\test\TestLDFFile.ldf' 
+0

धन्यवाद आदेशों में चला सकते हैं धन्यवाद, मुझे प्रबंधन स्टूडियो का उपयोग करके एमडीएफ फ़ाइल मिली है, लेकिन वास्तव में मुझे कोड के माध्यम से यह ऑपरेशन करना चाहिए, यानी मेरे उपयोगकर्ता सक्षम होना चाहिए बाक फ़ाइल से डेटा पढ़ें, इसलिए मुझे कोड के माध्यम से बाक फ़ाइल से एमडीएफ को पुनर्स्थापित करने में सक्षम होना चाहिए, और फिर एमडीएफ से कनेक्ट करें और डेटाबेस पढ़ें, मैं अपने ऑपरेशन को अपने सी # कोड में कैसे कर सकता हूं? क्या कोई नमूना है? –

+0

@Ali_dotNet मैं सी # :( –

+0

के साथ मदद नहीं कर सकता, ठीक है, क्या आप दूसरी भाषा का उपयोग करते हैं? –