एक भ्रष्टाचार पुनर्प्राप्त SQL Server एमडीएफ डेटाबेस

जेव्हा आपण SQL Server एमडीएफ डेटाबेस दूषित झाला आहे, तो डेटा कमी करण्यासाठी आपण खालील पद्धतींचा वापर करू शकता:

टीपः कोणतीही डेटा पुनर्प्राप्ती ऑपरेशन्स करण्यापूर्वी, कृपया आपल्या भ्रष्ट MDF आणि NDF डेटाबेस फायलींचा प्रथम बॅकअप घ्या.

  1. सर्व प्रथम, आपण प्रयत्न करू शकता SQL Server अंगभूत आदेश डीबीसीसी CHECKDB आपला डेटाबेस पुनर्प्राप्त करण्यासाठी. दूषित डेटाबेस फाईल 'मायडाटाबेस.एमडीएफ' आहे असे गृहीत धरून आपण त्यातील डेटा पुनर्प्राप्त करण्यासाठी खालीलप्रमाणे करू शकता:
    1. Restart SQL Server.
    2. कोणतीही ऑपरेशन्स करू नका.
    3. In SQL Server मॅनेजमेंट स्टुडियो, खालील एसक्यूएल स्टेटमेंट्स कार्यान्वित करा.
      मास्टर घोषित @dat databasename varchar (255) सेट @ डेटाबेस = 'MyDatedia.mdf' exec sp_dboption @dat databasename, Nsingle ', N'true' - गंतव्य डेटाबेस एकल-वापरकर्ता मोड dbcc चेकडीबी (@ डेटाबेस, REPAIR_ALLOW_DATA_LOSS वर सेट करा) ) डीबीसीसी चेकडीबी (@ डेटाबेस, आरपीएआयआरआरबीबीयूआयएलडी) एक्झीकटीपी_डबोपशन @ डेटाबेसनाव, एनसिंगल ', एनफल्से' - गंतव्य डेटाबेस एकाधिक-वापरकर्ता मोडवर परत सेट करा
      

      विधान

      डीबीसीसी चेकडीबी (@ डेटाबेस, REPAIR_ALLOW_DATA_LOSS)
      

      दुरुस्ती ऑपरेशन करता तेव्हा आपल्या डेटाबेसमधील काही डेटा गमावू शकतो.

      विधान करताना

      डीबीसीसी चेकडीबी (@ डेटाबेस, REPAIR_REBUILD)
      

      दुरूस्तीच्या कारवाई दरम्यान कोणत्याही डेटाचे नुकसान होणार नाही, परंतु ते अधिक वेळखाऊ आहे.

      जर आपण तत्पर नसल्यास, आपण प्रथम केवळ दुसरे डीबीसीसी चेकडीबी स्टेटमेंट करण्याचा प्रयत्न करू शकता, जर ते विधान डेटाबेस पुनर्प्राप्त करण्यात मदत करत नसेल तर आपण प्रथम आणि द्वितीय डीबीसीसी चेकडीबी आदेश देऊ शकता.

      दुरुस्ती ऑपरेशननंतर, आपण कॉल करू शकता

      डीबीसीसी चेकडीबी ('मायडाटाबेस.एमडीएफ')
      

      डेटाबेस निश्चित केला आहे की नाही हे पुन्हा पहा.

      डीबीसीसी चेकडीबी कमांड बद्दल अधिक माहिती येथे उपलब्ध आहे https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15

  2. पद्धत 1 वापरल्यानंतर, डीबीसीसी चेकडीबी अद्याप काही सारण्यांमधील त्रुटी नोंदविते, आपण प्रयत्न करू शकता SQL Server आपल्या डेटाबेसमध्ये या सारण्या पुनर्प्राप्त करण्यासाठी बिल्ट-इन कमांड डीबीसीसी तपासा. दूषित डेटाबेस फाईल ही 'मायडाटाबेस.एमडीएफ' आहे आणि आपण दुरुस्त करू इच्छित सारणी ही 'मायटेबल' आहे, असे गृहीत धरुन नंतर आपण त्याची दुरुस्ती करण्यासाठी पुढीलप्रमाणे कार्य करू शकता:
    1. Restart SQL Server.
    2. कोणतीही ऑपरेशन्स करू नका.
    3. In SQL Server मॅनेजमेंट स्टुडियो, खालील एसक्यूएल स्टेटमेंट्स कार्यान्वित करा.
      MyDatedia.mdf @dbname वरचर घोषित करा (२255) सेट @ dbname = 'MyDatedia.mdf' exec sp_dboption @ dbname, 'एकल वापरकर्ता', 'सत्य' dbcc चेकटेबल ('MyTable', REPAIR_ALLOW_DATA_LOSS) dbc चेकटीबल, 'MyTatable' आरपीआयएल ) एक्स्पीपी_डबोपशन @ डीबीनेम, 'एकल वापरकर्ता', 'खोटे'
      

      विधान

      डीबीसीसी चेकटेबल ('मायटेबल', REPAIR_ALLOW_DATA_LOSS)
      

      दुरुस्ती ऑपरेशन करता तेव्हा आपल्या टेबलमधील काही डेटा गमावू शकतो.

      विधान करताना

      डीबीसीसी चेकटेबल ('मायटेबल', रेपायर एआरबीबीआयएलडी)
      

      दुरूस्तीच्या कारवाई दरम्यान कोणत्याही डेटाचे नुकसान होणार नाही, परंतु ते अधिक वेळखाऊ आहे.

      जर आपण तत्पर नसल्यास, आपण प्रथम केवळ दुसरे डीबीसीसी चेकटेबल स्टेटमेंट करण्याचा प्रयत्न करू शकता, जर ते विधान डेटाबेस पुनर्प्राप्त करण्यात मदत करत नसेल तर आपण प्रथम आणि द्वितीय डीबीसीसी चेकटेबल आज्ञा देऊ शकता.

      सर्व भ्रष्ट सारण्यांसाठी आपण दुरुस्तीचे कार्य पूर्ण केल्यानंतर आपण कॉल करू शकता

      डीबीसीसी चेकडीबी ('मायडाटाबेस.एमडीएफ')
      

      डेटाबेसमधील टेबल्स निश्चित आहेत की नाही ते पुन्हा पहा.

    डीबीसीसी चेकटेबल कमांडबद्दल अधिक तपशीलवार माहिती येथे आढळू शकते https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checktable-transact-sql?view=sql-server-ver15

  3. पद्धत 1 आणि 2 अद्याप दूषित डेटाबेस किंवा तक्त्यांचे निराकरण करू शकत नाही किंवा या पद्धती आपल्याला पाहिजे असलेला डेटा पुनर्प्राप्त करू शकत नाहीत तर आपण वापरू शकता DataNumen SQL Recovery आपल्या एमडीएफ डेटाबेसमधून डेटा पुनर्प्राप्त करण्यासाठी.