کله چې تاسو SQL Server د MDF ډیټابیس فاسد دی ، تاسو کولی شئ پدې کې د ډیټا بیرته ترلاسه کولو لپاره لاندې میتودونه وکاروئ ، د زیان کمولو لپاره:
یادونه: مخکې له دې چې د ډیټا بیرته راستنیدو عملیات ترسره کړئ ، مهرباني وکړئ لومړی خپل فاسد MDF او NDF ډیټابیس فایلونه بیک اپ کړئ.
- له هرڅه دمخه ، تاسو کوښښ کولی شئ SQL Server جوړ شوی بولۍ د DBCC CHECKDB ستاسو د ډیټابیس راګرځول. د فاسدو ډیټابیس فایل فرض کول 'MyDat ډیابیس. mdf' دی ، نو تاسو کولی شئ په لاندې ډول د معلوماتو بیرته راګرځولو لپاره لاندې کار وکړئ:
- بیاکتنهtart SQL Server.
- هیڅ عملیات مه کوئ.
- In SQL Server د مدیریت سټوډیو ، لاندې د SQL بیانونه اجرا کړئ:
ماسټر اعلان کړئ چې د ډیټابیس نوم ورچر (255) سیټ @ ډیټابیس نوم = 'MyDatbox.mdf' exec sp_dboptiondat databasename ، N'single '، N'true' - د ډیټابیس واحد - کارونکي حالت dbcc چیکډب ته تنظیم کړئ (@ ډیټابیس نوم ، REPAIR_ALLOW_DATA_LOSS ) د dbcc چیکډب (@ ډیټابیس نوم ، REPAIR_REBUILD) اجراییه sp_dboptiondat databasename ، N'single '، N'false' - د ډیټابیس ډیټابیس بیرته ملټي کارونکي حالت ته تنظیم کړئ.
بیان
د dbcc چیکډب (@ د ډیټابیس نوم ، REPAIR_ALLOW_DATA_LOSS)
کیدی شي ستاسو د ډیټابیس کې د ډیټا ضایع کیدو لامل شي کله چې د ترمیم عملیات ترسره کوي.
پداسې حال کې چې بیان
د dbcc چیکډب (@ ډیټابیس نوم ، REPAIR_REBUILD)
د ترمیم عملیاتو په جریان کې به د معلوماتو له لاسه ورکولو لامل نه شي ، مګر دا ډیر وخت نیسي.
نو که تاسو عاجل نه یاست ، تاسو لومړی هڅه کولی شئ یوازې د dbcc دوهم چیک ډی بی بیان ترسره کړئ ، که چیرې دا بیان د ډیټابیس په ترلاسه کولو کې مرسته ونکړي ، نو تاسو کولی شئ د لومړي او دویم dbcc چیکډب حکمونه ترسره کړئ.
د ترمیم عملیاتو وروسته ، تاسو زنګ وهلی شئ
د dbcc چیکډب ('MyDatabase.mdf')
بیا وګورو چې ایا ډیټابیس سم دی که نه.
د dbcc چیکډب قوماندې په اړه نور تفصيلي معلومات موندلی شئ دلته https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver15
- که د 1 میتود کارولو وروسته ، د dbcc چیکډب لاهم په ځینې جدولونو کې د غلطیو راپور ورکوي ، تاسو کوالی شئ هڅه وکړئ SQL Server ستاسو په ډیټابیس کې دا جدولونو بیرته ترلاسه کولو لپاره د کورټ انډ کمانډ DBCC چیک ټبل. د فاسد ډیټابیس فایل ګ Assل 'MyDatabase.mdf' دی او هغه جدول چې تاسو یې ترمیم کول غواړئ د 'MyTable' دی ، نو تاسو کولی شئ د دې ترمیم لپاره لاندې کار وکړئ:
- بیاکتنهtart SQL Server.
- هیڅ عملیات مه کوئ.
- In SQL Server د مدیریت سټوډیو ، لاندې د SQL بیانونه اجرا کړئ:
د میډاټابیس.یمډیف اعلان کړئdbname varchar اعلان کړئ (255) سیټ @ dbname = 'MyDatabase.mdf' اجراییه sp_dboption @ dbname ، 'واحد کارونکی' ، 'ریښتیني' dbcc چیکټبل ('MyTable' ، REPAIR_ALLOW_DATA_LOSS) dbcc checktable ('MyTab ) اجرا کړئ sp_dboption @ dbname ، 'واحد کارونکی' ، 'غلط'
بیان
د dbcc چیکټبل ('MyTable'، REPAIR_ALLOW_DATA_LOSS)
ممکن د ترمیم عملیات ترسره کولو په وخت ستاسو په میز کې د ځینې معلوماتو ضایع کیدو لامل شي.
پداسې حال کې چې بیان
د dbcc چیکټبل ('MyTable'، REPAIR_REBUILD)
د ترمیم عملیاتو په جریان کې به د معلوماتو له لاسه ورکولو لامل نه شي ، مګر دا ډیر وخت نیسي.
نو که تاسو عاجل نه یاست ، تاسو لومړی هڅه کولی شئ یوازې د dbcc دوهم چیک چیکینټ بیان کړئ ، که دا بیان د ډیټابیس په راټیټولو کې مرسته ونکړي ، نو تاسو کولی شئ د لومړي او دویم dbcc چیکټ کولو امرونه ترسره کړئ.
وروسته له هغه چې تاسو د ټولو فاسدو میزونو لپاره د ترمیم عملیات بشپړ کړئ ، تاسو زنګ وهلی شئ
د dbcc چیکډب ('MyDatabase.mdf')
بیا به وګورو چې ایا په ډیټابیس کې میزونه تنظیم شوي دي که نه.
د dbcc چیکټایبل کمانډ په اړه نور تفصيلي معلومات موندلی شئ دلته https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checktable-transact-sql?view=sql-server-ver15
- که چیرې 1 او 2 میتود لاهم فاسد ډیټابیس یا میزونه نشي سمولی ، یا که دا طریقې نشي کولی هغه ډاټا بیرته ترلاسه کړي چې تاسو یې غواړئ نو تاسو یې کارولی شئ DataNumen SQL Recovery ستاسو د MDF ډیټابیس څخه ډاټا ترلاسه کولو لپاره.