2009-05-29 7 views
6

SQL सर्वर में एलडीएफ फ़ाइल के बिना मैं डेटाबेस कैसे संलग्न कर सकता हूं?एलडीएफ फाइल के बिना डेटाबेस कैसे संलग्न करें?

+1

बस यह जोड़ना होगा कि आप ऐसा करके एक असंगत डेटाबेस प्राप्त कर सकते हैं। मूल एलडीएफ के साथ इसे संलग्न करना बहुत बेहतर है। Https://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/15/632398.aspx –

उत्तर

8

आप डेटाबेस को संलग्न करने के लिए sp_attach_single_file_db का उपयोग कर सकते हैं, जो इसकी लॉग फ़ाइल अनुपलब्ध है।

+0

यह त्रुटि देता है: नया डेटाबेस 'साझाCS' नहीं खोल सका। डाटाबेस तैयार करें निरस्त कर दिया गया है। डिवाइस सक्रियण त्रुटि। भौतिक फ़ाइल नाम 'डी: \ प्रोग्राम फ़ाइलें \ Microsoft SQL Server \ MSSQL \ data \ dummy_Log.LDF' गलत हो सकता है। – Ricardo

+0

एक डमी लॉग संलग्न करने की कोशिश मत करो। क्या आप sp_attach_single_file_db कमांड को पोस्ट कर सकते हैं जो आप चल रहे हैं? –

+1

यह केवल तभी काम करता है जब लॉग फ़ाइल को नया बनाया जा सके जहां .mdf कहता है। – Joshua

1

आप "बस इसे कर सकते हैं" यह एक चेतावनी फेंक देगा कि यह .ldf नहीं ढूंढ सका, लेकिन यह अभी भी डीबी संलग्न करेगा।

+0

यह एक त्रुटि देता है और डेटाबेस संलग्न नहीं है। – Ricardo

3

आप मोहम्मदू द्वारा here पोस्ट करने का प्रयास कर सकते हैं। असल में, वह डीबीसीसी REBUILD_LOG कमांड का उपयोग करता है। यह आपके सर्वर के संस्करण के आधार पर काम करेगा।

  1. .mdf_old को
  2. ही .mdf और पुराने एक के रूप में .ldf फ़ाइल के साथ एक नया डेटाबेस बनाने के लिए मौजूदा .mdf फ़ाइल का नाम बदलें:

    ये कदम उठाएँ (विवरण के बिना) कर रहे हैं।

  3. बंद करो एसक्यूएल सर्वर .mdf_old और .ldf_old
  4. नाम बदलें .mdf को .mdf_old को
  5. नाम बदलें .mdf और .ldf नया डाटाबेस की फाइलों
  6. प्रारंभ एसक्यूएल सर्वर
  7. आप में db देखना चाहिए संदिग्ध मोड
  8. मास्टर के लिए डेटाबेस संदर्भ बदलें और सिस्टम टेबल के अपडेट की अनुमति दें
  9. आपातकाल (बाईपास रिकवरी) मोड में डेटाबेस सेट करें।
  10. SQL सर्वर को रोकें और पुनरारंभ करें।
  11. लॉग पुनर्निर्माण करें।
  12. एकल-उपयोगकर्ता मोड में डेटाबेस सेट करें और भौतिक स्थिरता को सत्यापित करने के लिए डीबीसीसी CHECKDB चलाएं।
  13. सिस्टम टेबल पर अद्यतन बंद करें।
+1

मैं 8 से 13 तक कदम कैसे करूं? –

1

यदि आप समस्याओं में भाग लेते हैं, तो सत्यापित करें कि एमडीएफ फ़ाइल केवल पढ़ने के लिए नहीं है।

0
EXEC sp_attach_single_file_db @dbname = 'DBNAME',@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\DBNAME_Data.mdf'; 

मैंने कोशिश की और यह काम किया ... उम्मीद है कि इससे मदद मिलती है।

3

एसक्यूएल सर्वर प्रबंधन स्टूडियो

  1. ओपन SSMS के माध्यम से इस चरण आज़माएं और डेटाबेस पर राइट क्लिक कर दिया।
  2. विकल्प संलग्न करें
  3. फिर एमडीएफ फ़ाइल संलग्न करने के लिए जोड़ें पर क्लिक करें।
  4. सूची से फ़ाइल का चयन करें और ठीक
  5. पर क्लिक करें अब स्क्रीन MDF फ़ाइल और एलडीएफ फ़ाइल (नहीं मिला)
  6. एलडीएफ फ़ाइल चुनें और निकालें विकल्प पर क्लिक करें पता चलता है।
  7. एलडीएफ फ़ाइल को हटाने के बाद ठीक क्लिक करें।
  8. एमडीएफ फ़ाइल डेटाबेस सूची में सफलतापूर्वक संलग्न है।
+0

यह मेरे लिए काम नहीं कर रहा है। क्या आप अन्य समाधान का सुझाव दे सकते हैं? –

+0

यहां एक महान लेख है [एलडीएफ के बिना एमडीएफ कैसे संलग्न करें] (http: //www.sqlserverlogexplorer।com/how-to-attach-mdf-file-without-ldf-file /) –

3

एमडीएफ फ़ाइल को संलग्न डेटाबेस संवाद में जोड़कर इसे संलग्न करने का प्रयास करें। आप ध्यान दें कि संवाद लापता एलडीएफ फ़ाइल की रिपोर्ट करेगा।के रूप में चित्र में दिखाया गया चरणों का पालन करें:

enter image description here

+1

SQL सर्वर 2012 में यह काम नहीं करेगा। मैंने कोशिश की। –

+0

यह 2012 एक्सप्रेस पर मेरे लिए काम करता है – Juan

1

यहाँ कोड स्निपेट्स फ़ाइलों

.ldf बनाने के बाद 3 तरीके हैं programaticaly कर रहे हैं।

विधि -1

मेरे मामले में मैं डेटा फ़ोल्डर में मेरी डाटाबेस है।

आप राइट क्लिक करके अपने डेटाबेस का पूर्ण पथ प्राप्त कर सकते हैं और उसके बाद गुण के लिए जा रहा है तो आप अपने डाटाबेस

का पूर्ण पथ कॉपी कर सकते हैं में मेरे मामले पथ इस प्रकार है के रूप में।

C: \ Program Files \ Microsoft SQL सर्वर \ MSSQL11.DRIBBLEE \ MSSQL \ आंकड़े

अब यहाँ दुकान प्रक्रिया (sp_attach_single_file_db) का उपयोग कर और तर्क (डेटाबेस नाम और भौतिक पथ)

यह पारित करके सबसे पहले विधि है
USE [master] 
GO 

EXECUTE sp_attach_single_file_db 
@dbname='AdventureWorksDW_2012', 
@physname=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.DRIBBLEE\MSSQL\DATA\AdventureWorksDW2012_Data.mdf' 

GO 

कोड को निष्पादित करने के बाद कोड को निष्पादित करने के बाद आपके डेटाबेस फ़ोल्डर में जाएं जहां यह रहता है आप वहां मौजूद .ldf फ़ाइल देखेंगे।

हालांकि आप अपने अपने डेटाबेस

The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW2012_log.ldf" may be incorrect. 
New log file 'C:\Program Files\Microsoft SQL Server\MSSQL11.DRIBBLEE\MSSQL\DATA\AdventureWorksDW_2012_log.ldf' was created. 

अब आप संलग्न कर सकते हैं में और डाटाबेस सही वस्तु Explorer में अपने सर्वर नाम पर क्लिक करें और ताज़ा अटैच किया जा रहा करने के बाद निम्न संदेश मिल जाएगा।

विधि-2

अगर अपने डेटाबेस लापता एक या अधिक लॉग फाइल है क्या आप डेटाबेस केवल एक लॉग है

CREATE DATABASE db_namehere ON 
(
    FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\db_namehere.mdf') 

FOR ATTACH_REBUILD_LOG 
GO 

विधि-3

निम्न का उपयोग कर सकते हैं फ़ाइल मिसग आप इस

CREATE DATABASE db_name ON 
(FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TestDb.mdf') 
FOR ATTACH 
GO 
का उपयोग कर सकते हैं

आगे आप अधिक जानकारी प्राप्त करने के लिए ऑनलाइन बुक में पढ़ सकते हैं।

संबंधित मुद्दे