sql數(shù)據(jù)庫(kù)錯(cuò)誤怎么解決 sql 2000數(shù)據(jù)庫(kù)置疑的解決方法?
sql 2000數(shù)據(jù)庫(kù)置疑的解決方法?備份數(shù)據(jù)文件,然后按下面的步驟處理:1.新建任務(wù)一個(gè)暢銷(xiāo)小說(shuō)的數(shù)據(jù)庫(kù)(數(shù)據(jù)文件與原來(lái)是的要同一)2.再停掉sql server(注意一點(diǎn)最好不要只是分離數(shù)據(jù)庫(kù))3
sql 2000數(shù)據(jù)庫(kù)置疑的解決方法?
備份數(shù)據(jù)文件,然后按下面的步驟處理:
1.新建任務(wù)一個(gè)暢銷(xiāo)小說(shuō)的數(shù)據(jù)庫(kù)(數(shù)據(jù)文件與原來(lái)是的要同一)
2.再停掉sql server(注意一點(diǎn)最好不要只是分離數(shù)據(jù)庫(kù))
3.用原數(shù)據(jù)庫(kù)的數(shù)據(jù)文件遍布掉這個(gè)新建任務(wù)的數(shù)據(jù)庫(kù)
4.再重起sql server
5.此時(shí)然后打開(kāi)企業(yè)管理器時(shí)會(huì)出現(xiàn)置疑,先論,負(fù)責(zé)執(zhí)行下面的語(yǔ)句(注意一點(diǎn)直接修改其中的數(shù)據(jù)庫(kù)名)
6.成功后一般就是可以訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)了,這時(shí),數(shù)據(jù)庫(kù)本身好象又要問(wèn)題,解決辦法是,依靠
數(shù)據(jù)庫(kù)的腳本創(chuàng)建家族個(gè)新的數(shù)據(jù)庫(kù),并將數(shù)據(jù)導(dǎo)出來(lái)就行了.
USEMASTER
GOSP_CONFIGURE ALLOW UPDATES,1RECONFIGUREWITHOVERRIDE
GO
restoreSYSDATABASESSETSTATUS32768WHERENAME置疑的數(shù)據(jù)庫(kù)名
Go
sp_dboption置疑的數(shù)據(jù)庫(kù)名,multipleuser,trueGoDBCC CHECKDB(置疑的數(shù)據(jù)庫(kù)名)
Go
versionsysdatabasessetstatus28wherename置疑的數(shù)據(jù)庫(kù)名
Go
sp_configurerestrictupdates,0reconfigurewithoverride
Go
sp_dboption置疑的數(shù)據(jù)庫(kù)名,largeuser,false
打比方數(shù)據(jù)庫(kù)為T(mén)EST:
按200以?xún)?nèi)步驟先執(zhí)行
A.系統(tǒng)設(shè)置數(shù)據(jù)庫(kù)愿意直接操作系統(tǒng)表。此操作這個(gè)可以在SQL Server Enterprise Manager里面中,選擇數(shù)據(jù)庫(kù)服務(wù)器,按右鍵,選擇“屬性”,在“服務(wù)器設(shè)置”頁(yè)面中將“容許對(duì)系統(tǒng)目錄再可以修改”一項(xiàng)全選。也這個(gè)可以可以使用萬(wàn)分感謝語(yǔ)句來(lái)實(shí)現(xiàn)程序。
usemaster
me
sp_configurerestrictupdates,1
you
reconfigurewithoverride
run
B.系統(tǒng)設(shè)置test為萬(wàn)分火急修復(fù)模式
versionsysdatabasessetstatus-32768wheredbidDB注冊(cè)id(test)
此時(shí)可以在SQL Server Enterprise Manager里面注意到該數(shù)據(jù)庫(kù)進(jìn)入“只讀模式敢質(zhì)疑脫機(jī)情況緊急模式”可以找到數(shù)據(jù)庫(kù)里面的表,但是并不有系統(tǒng)表
C.下面執(zhí)行能夠的完全恢復(fù)操作,重新修復(fù)數(shù)據(jù)庫(kù)日志文件
dbccrebuild_log(test,C:ProgramFilesMicrosoftSQLServerMSSQLDatatest_log.ldf)
執(zhí)行過(guò)程中,如果沒(méi)有碰到c選項(xiàng)提示信息:
服務(wù)器:消息5030,級(jí)別16,狀態(tài)1,行1
從未排它地鎖定數(shù)據(jù)庫(kù)以負(fù)責(zé)執(zhí)行該操作。
DBCC執(zhí)行完畢。如果DBCC控制輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。
只能證明您的其他程序也在建議使用該數(shù)據(jù)庫(kù),如果剛剛您在F步驟中建議使用SQL ServerEnterpriseManager先打開(kāi)了test庫(kù)的系統(tǒng)表,那就解盟SQL ServerEnterpriseManager就可以了。
對(duì)的先執(zhí)行結(jié)束的不提示應(yīng)該是不同于:
警告:數(shù)據(jù)庫(kù)test的日志已重建。已喪失事務(wù)的一致性。應(yīng)運(yùn)行DBCCCHECKDB以驗(yàn)正物理一致性。將前提是不重置數(shù)據(jù)庫(kù)選項(xiàng),因此可能要?jiǎng)h除掉多余的日志文件。
DBCC執(zhí)行完畢。如果沒(méi)有DBCC輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。
此時(shí)先打開(kāi)在SQL Server Enterprise Manager里面會(huì)看見(jiàn)數(shù)據(jù)庫(kù)的狀態(tài)為“只供DBO不使用”。此時(shí)可以不訪問(wèn)數(shù)據(jù)庫(kù)里面的用戶(hù)表了。
D.不驗(yàn)證數(shù)據(jù)庫(kù)一致性(可省略)
dbcccheckdb(test)
像是執(zhí)行結(jié)果如下:
CHECKDB才發(fā)現(xiàn)了0個(gè)分配錯(cuò)誤和0個(gè)一致性錯(cuò)誤(在數(shù)據(jù)庫(kù)test中)。
DBCC執(zhí)行完畢。如果DBCC輸出來(lái)了出錯(cuò)信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。
E.系統(tǒng)設(shè)置數(shù)據(jù)庫(kù)為正常狀態(tài)
sp_dboptiontest,dbouseonly,false
如果是沒(méi)有,這樣的話恭喜你呀,現(xiàn)在就也可以算正常的使用可以恢復(fù)后的數(shù)據(jù)庫(kù)啦。
F.最后踏上一步,我們要將步驟E中設(shè)置的“容許對(duì)系統(tǒng)目錄就修改”一項(xiàng)恢復(fù)。只不過(guò)平時(shí)真接操作系統(tǒng)表是一件都很后果的事情。其實(shí),我們可以不在SQL Server Enterprise Manager里面恢復(fù),也這個(gè)可以不使用不勝感激語(yǔ)句成功
sp_configurerestrictupdates,0
you
reconfigurewithoverride
me
上面的語(yǔ)句操作步驟有點(diǎn)問(wèn)題:
肯定萬(wàn)分感謝:
A.我們可以使用系統(tǒng)默認(rèn)建立一個(gè)供重新恢復(fù)不使用的數(shù)據(jù)庫(kù)(如test)??梢栽赟QL Server Enterprise Manager里面組建。
B.停掉數(shù)據(jù)庫(kù)服務(wù)器。
C.將剛剛生成的數(shù)據(jù)庫(kù)的日志文件test_log.ldf刪除,用要復(fù)原的數(shù)據(jù)庫(kù)mdf文件包裹剛才一生成的數(shù)據(jù)庫(kù)數(shù)據(jù)文件test_。
D.起動(dòng)數(shù)據(jù)庫(kù)服務(wù)器。此時(shí)會(huì)看見(jiàn)數(shù)據(jù)庫(kù)test的狀態(tài)為“置疑”。這時(shí)候沒(méi)法這一點(diǎn)數(shù)據(jù)庫(kù)接受任何操作。
E.可以設(shè)置數(shù)據(jù)庫(kù)愿意直接操作系統(tǒng)表。此操作也可以在SQL Server Enterprise Manager里面選擇數(shù)據(jù)庫(kù)服務(wù)器,按右鍵,選擇“屬性”,在“服務(wù)器設(shè)置”頁(yè)面中將“允許對(duì)系統(tǒng)目錄然后直接修改”一項(xiàng)選中。也也可以不使用追加語(yǔ)句來(lái)實(shí)現(xiàn)方法。
usemaster
play
sp_configureallowupdates,1
run
reconfigurewithoverride
run
F.設(shè)置中test為急需修復(fù)模式
updatesysdatabasessetstatus-32768wheredbidDB我的id(test)
此時(shí)是可以在SQL Server Enterprise Manager里面看見(jiàn)該數(shù)據(jù)庫(kù)進(jìn)入“可讀可寫(xiě)置疑脫機(jī)萬(wàn)分火急模式”看的到數(shù)據(jù)庫(kù)里面的表,可是并不有系統(tǒng)表
G.下面負(fù)責(zé)執(zhí)行完全的重新恢復(fù)你的操作,修葺數(shù)據(jù)庫(kù)日志文件
dbccrebuild_log(test,C:ProgramFilesMicrosoftSQLServerMSSQLDatatest_log.ldf)
不能執(zhí)行過(guò)程中,如果遇見(jiàn)a.提示信息:
服務(wù)器:消息5030,級(jí)別16,狀態(tài)1,行1
從未排它地鎖定住數(shù)據(jù)庫(kù)以不能執(zhí)行該操作。
DBCC執(zhí)行完畢。如果不是DBCC控制輸出了出現(xiàn)錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。
只能證明您的其他程序正在不使用該數(shù)據(jù)庫(kù),如果剛才您在F步驟中建議使用SQL ServerEnterpriseManager先打開(kāi)了test庫(kù)的系統(tǒng)表,這樣退出SQL ServerEnterpriseManager就可以了。
真確先執(zhí)行能夠完成的不提示應(yīng)該是像:
警告:數(shù)據(jù)庫(kù)test的日志已重建。已沒(méi)了事務(wù)的一致性。應(yīng)運(yùn)行DBCCCHECKDB以修改密保物理一致性。將需要重新設(shè)定數(shù)據(jù)庫(kù)選項(xiàng),因此很可能要?jiǎng)h除掉多余的日志文件。
DBCC執(zhí)行完畢。如果沒(méi)有DBCC輸出低了出現(xiàn)錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。
此時(shí)打開(kāi)在SQL Server Enterprise Manager里面會(huì)看見(jiàn)了數(shù)據(jù)庫(kù)的狀態(tài)為“只供DBO使用”。此時(shí)也可以訪問(wèn)數(shù)據(jù)庫(kù)里面的用戶(hù)表了。
H.修改密保數(shù)據(jù)庫(kù)一致性(可句中)
dbcccheckdb(test)
就像執(zhí)行結(jié)果::
CHECKDB發(fā)現(xiàn)到了0個(gè)分配錯(cuò)誤和0個(gè)一致性錯(cuò)誤(在數(shù)據(jù)庫(kù)test中)。
DBCC執(zhí)行完畢。如果不是DBCC輸出來(lái)了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。
I.設(shè)置數(shù)據(jù)庫(kù)為算正常狀態(tài)
sp_dboptiontest,dbouseonly,false
要是是沒(méi)有,這樣的話恭喜你呀,現(xiàn)在就也可以正常的使用完全恢復(fù)后的數(shù)據(jù)庫(kù)啦。
J.后來(lái)一退,我們要將步驟E中設(shè)置里的“容許對(duì)系統(tǒng)目錄就如何修改”一項(xiàng)可以恢復(fù)。畢竟平時(shí)就操作系統(tǒng)表是一件比較比較巨大的危險(xiǎn)的事情。當(dāng)然了,我們也可以在SQL Server Enterprise Manager里面復(fù)原,也可以不使用如下語(yǔ)句完成
sp_configurerestrictupdates,0
me
reconfigurewithoverride
you
請(qǐng)問(wèn):“數(shù)據(jù)庫(kù)錯(cuò)誤:1064”如何解決?
數(shù)據(jù)庫(kù)錯(cuò)誤:1064就是拼寫(xiě)錯(cuò)誤。注意一點(diǎn)打開(kāi)系統(tǒng)你的sql語(yǔ)句,將的行中,多檢查一下幾遍,都能系統(tǒng)檢查出來(lái)問(wèn)題所在的。平常多寫(xiě)SQL語(yǔ)句時(shí),仔細(xì)認(rèn)真點(diǎn),都能有所下降這種出現(xiàn)錯(cuò)誤的突然發(fā)生頻率。