偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL Server 崩潰的恢復(fù)方法

數(shù)據(jù)庫(kù) SQL Server
我們今天主要向大家講述的是SQL Server 崩潰的恢復(fù)方案,在實(shí)際操作中出現(xiàn)SQL Server 崩潰的情況算是十分常見(jiàn)的,以下的文章就是對(duì)其情況的解決。

以下的文章主要向大家描述的是SQL Server 崩潰的恢復(fù)方法,我們大家都知道任何數(shù)據(jù)庫(kù)系統(tǒng)在實(shí)際操作中都會(huì)遭遇SQL Server 數(shù)據(jù)庫(kù)崩潰的這一狀況,即使你使用了Clustered,雙機(jī)熱備……仍然無(wú)法完全根除系統(tǒng)中的單點(diǎn)故障。

何況對(duì)于大部分用戶(hù)來(lái)說(shuō),無(wú)法承受這樣昂貴的硬件投資。所以,在系統(tǒng)崩潰的時(shí)候,如何恢復(fù)原有的寶貴數(shù)據(jù)就成為一個(gè)極其重要的問(wèn)題了。

 

在恢復(fù)的時(shí)候,最理想的情況就是你的數(shù)據(jù)文件和日志文件都完好無(wú)損了,這樣只需要sp_attach_db,把數(shù)據(jù)文件附加到新的數(shù)據(jù)庫(kù)上即可,或者在停機(jī)的時(shí)候把所有數(shù)據(jù)文件(一定要有master等)都copy到原有路徑下也行,不過(guò)一般不推薦這樣的做法,sp_attach_db比較好,雖然麻煩許多。

 

 

但是呢,一般SQL Server 崩潰的時(shí)候系統(tǒng)是未必能有時(shí)間把未完成的事務(wù)和臟頁(yè)等寫(xiě)入磁盤(pán)的,這樣的情況sp_attach_db就會(huì)失敗。那么,寄期望于DBA制定了一個(gè)良好的災(zāi)難恢復(fù)計(jì)劃吧。按照你的恢復(fù)計(jì)劃,還原***的完全備份,增量備份或者事務(wù)日志備份,然后如果你的活動(dòng)事務(wù)日志還能讀得出來(lái)的話(huà),這樣的話(huà)你可以還原到崩潰前的狀態(tài)。

 

 

一般的單位都是沒(méi)有專(zhuān)職的DBA的,如果沒(méi)有可用的備份,更可能是最近一次備份的時(shí)間過(guò)于久遠(yuǎn)而導(dǎo)致不可接受的數(shù)據(jù)損失,而且你的活動(dòng)事務(wù)日志也處于不可用的狀態(tài),那就是最麻煩的情況了。

 

 

不幸的是,一般SQL Server 崩潰都是由于存儲(chǔ)子系統(tǒng)引起的,而這樣的情況是幾乎不可能有可用的日志用于恢復(fù)的。

 

 

首先,你可以試一下sp_attach_single_file_db,試著恢復(fù)一下你的數(shù)據(jù)文件,雖然能恢復(fù)的可能性不大,不過(guò)假如這個(gè)數(shù)據(jù)庫(kù)剛好執(zhí)行了一個(gè)checkpoint的話(huà),還是有可能成功的。

 

 

我們可以試著重新建立一個(gè)Log,先把數(shù)據(jù)庫(kù)設(shè)置為emergency mode,sysdatabases的status為32768 就表示數(shù)據(jù)庫(kù)處于此狀態(tài)。

 

 

不過(guò)系統(tǒng)表是不能隨便改的,設(shè)置一下先Use MasterGosp_configure 'allow updates', 1reconfigure with overrideGo然后 update sysdatabases set status = 32768 where name = '' 現(xiàn)在,祈求滿(mǎn)天神佛的保佑吧,重新建立一個(gè)log文件。成功的機(jī)會(huì)還是相當(dāng)大的,系統(tǒng)一般都會(huì)認(rèn)可你新建立的日志。如果沒(méi)有報(bào)告什么錯(cuò)誤,現(xiàn)在就可以松一口氣了。

 

 

雖然數(shù)據(jù)是恢復(fù)了,可是別以為事情就算完成了,正在進(jìn)行的事務(wù)肯定是丟失了,原來(lái)的數(shù)據(jù)也可能受到一些損壞:

 

 

先把SQL Server 重新啟動(dòng)一下,然后檢查你的數(shù)據(jù)庫(kù)吧;

 

 

先設(shè)置成單用戶(hù)模式,然后做

  1. dbcc sp_dboption '', 'single user', 'true'DBCC CHECKDB(''); 

 

 

如果沒(méi)有什么大問(wèn)題就可以把數(shù)據(jù)庫(kù)狀態(tài)改回去了,記得別忘了把系統(tǒng)表的修改選項(xiàng)關(guān)掉。update sysdatabases set status = 28 where name = '' ,當(dāng)然你的數(shù)據(jù)庫(kù)狀態(tài)可能不是這個(gè),自己改為合適的值吧。也可以用:

 

 

  1. sp_resetstatusgosp_configure 'allow updates', 0reconfigure with overrideGo 

checkdb的時(shí)候可能報(bào)告有一些錯(cuò)誤,這些錯(cuò)誤的數(shù)據(jù)你可能就只好丟棄了;checkdb有幾種修復(fù)選項(xiàng),自己看著用吧,不過(guò)***你可能還是得REPAIR_ALLOW_DATA_LOSS,完成所有修復(fù);chekcdb并不能完成所有的修復(fù),我們需要更進(jìn)一步的修復(fù),用DBCC CHECKTABLE對(duì)每一個(gè)表做檢查吧。

 

表的列表可以用sysobjects里面得到,把OBJECTPROPERTY是IsTable的全部找出來(lái)檢查一下吧,這樣能夠基本上解決問(wèn)題了,如果還報(bào)告錯(cuò)誤,試著把數(shù)據(jù)select into到另一張表檢查一下。

 

 

這些都做完了之后,把所有索引、視圖、存儲(chǔ)過(guò)程、觸發(fā)器等重新建立一下??梢詮腄BCC DBREINDEX得到幫助。上述的相關(guān)內(nèi)容就是對(duì)SQL Server 崩潰的恢復(fù)之法的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。

 

【編輯推薦】

  1. 升級(jí)SQL Server系統(tǒng)的簡(jiǎn)潔方案
  2. 實(shí)現(xiàn)SQL Server動(dòng)態(tài)游標(biāo)的創(chuàng)建步驟
  3. 如何實(shí)現(xiàn)SQL Server臨時(shí)表的創(chuàng)建?
  4. SQL Server數(shù)據(jù)庫(kù)如何正確加密?
  5. SQL Server2005數(shù)據(jù)庫(kù)連接中易出現(xiàn)的錯(cuò)誤列舉

 

責(zé)任編輯:佚名 來(lái)源: 新浪博客
相關(guān)推薦

2010-10-19 14:19:07

SQL Server恢

2010-07-15 08:50:11

2010-09-02 09:37:36

SQL刪除

2010-10-19 14:11:20

SQL SERVER恢

2010-07-05 11:32:23

SQL Server自

2010-09-03 11:57:20

SQL刪除

2010-05-04 09:36:02

Unix文件

2010-07-19 15:21:03

Win2000 Tel

2011-02-28 13:31:17

Oracle數(shù)據(jù)庫(kù)

2011-04-12 15:44:08

Oracle數(shù)據(jù)庫(kù)

2010-08-04 14:38:34

路由器密碼

2010-09-02 14:04:20

2021-10-20 14:38:27

物聯(lián)網(wǎng)災(zāi)難恢復(fù)IOT

2010-11-10 13:22:41

SQL Server備

2011-05-13 13:15:52

SYBASE ASA數(shù)

2009-08-29 08:44:05

Windows 7Aero恢復(fù)

2009-11-11 09:50:25

思科路由器口令恢復(fù)

2011-03-30 14:19:56

MySQL數(shù)據(jù)庫(kù)修改恢復(fù)

2011-03-24 09:45:34

SQL Server數(shù)恢復(fù)

2010-07-02 13:11:41

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)