欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

sqlserver823,sql42883

mysql 新建數(shù)據(jù)庫時出現(xiàn)823:錯誤。

標題:[MySQL]MSSQL數(shù)據(jù)庫823錯誤解決方法

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作和遂寧托管服務(wù)器的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗和案例。

出處:

時間:Sat, 12 Apr 2008 10:12:27 +0000

作者:ah011

地址:

內(nèi)容:

1.日志文件被破壞823錯誤

----------------------

日志文件被破壞的數(shù)據(jù)庫文件,通過如下方法附加上去后,數(shù)據(jù)庫里所有的表都不能訪問,提示錯誤832,請問要如何解決??

use master

go

sp_configure 'allow updates',1

go

reconfigure with override

go

update sysdatabases set status=-32768 where dbid=DB_ID('linyi_pljy')

go

dbcc rebuild_log('linyi_pljy','e:\Program Files\Microsoft SQL Server\MSSQL\Data\linyi_pljy_log.ldf')

go

sp_dboption 'linyi_pljy','dbo use only','false'

go

sp_configure 'allow updates',0

go

reconfigure with override

go

---------------------

2.附加數(shù)據(jù)庫文件時,提示823錯誤

----------------------

EXEC sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打開修改系統(tǒng)表的開關(guān) */

update sysdatabases set status = 32768 where name = '數(shù)據(jù)庫名'

DBCC REBUILD_LOG ('數(shù)據(jù)庫名', 'E: dzzdatabase dzz1204_Log.LDF' )

update sysdatabases set status = 0 where name = '數(shù)據(jù)庫名'

restore database 數(shù)據(jù)庫名 WITH RECOVERY

EXEC sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 關(guān)閉打開修改系統(tǒng)表的開關(guān) */

3因為停電等原因造成MSSQL數(shù)據(jù)庫,提示823錯誤

----------------------

USE MASTER

GO

sp_dboption 'databaseName', 'single user', 'true'

Go

DBCC CHECKDB('databaseName', REPAIR_REBUILD)

Go

USE databaseName

go

exec sp_msforeachtable 'DBCC CHECKTABLE('''?''',REPAIR_REBUILD)'

go

sp_dboption 'databaseName', 'single user', 'false'

Go

如果還不行,可以采用允許丟失數(shù)據(jù)的方式修復(fù),如下:

USE MASTER

GO

sp_dboption 'databaseName', 'single user', 'true'

Go

DBCC CHECKDB('databaseName', REPAIR_ALLOW_DATA_LOSS)

Go

USE databaseName

go

exec sp_msforeachtable 'DBCC CHECKTABLE('''?''',REPAIR_REBUILD)'

go

sp_dboption 'databaseName', 'single user', 'false'

Go

4.數(shù)據(jù)庫恢復(fù)資料

----------------------

SQL Server數(shù)據(jù)庫備份有兩種方式,一種是使用BACKUP DATABASE將數(shù)據(jù)庫文件備份出去,另外一種就是直接拷貝數(shù)據(jù)庫文件mdf和日志文件ldf的方式。下面將主要討論一下后者的備份與恢復(fù)。本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業(yè)管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器)

1、正常的備份、恢復(fù)方式

正常方式下,我們要備份一個數(shù)據(jù)庫,首先要先將該數(shù)據(jù)庫從運行的數(shù)據(jù)服務(wù)器中斷開,或者停掉整個數(shù)據(jù)庫服務(wù)器,然后復(fù)制文件。

卸下數(shù)據(jù)庫的命令:Sp_detach_db 數(shù)據(jù)庫名

連接數(shù)據(jù)庫的命令:Sp_attach_db或者sp_attach_single_file_db

s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]

sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′

使用此方法可以正確恢復(fù)SQL Sever7.0和SQL Server 2000的數(shù)據(jù)庫文件,要點是備份的時候一定要將mdf和ldf兩個文件都備份下來,mdf文件是數(shù)據(jù)庫數(shù)據(jù)文件,ldf是數(shù)據(jù)庫日志文件。

例子:

假設(shè)數(shù)據(jù)庫為test,其數(shù)據(jù)文件為test_data.mdf,日志文件為test_log.ldf。下面我們討論一下如何備份、恢復(fù)該數(shù)據(jù)庫。

卸下數(shù)據(jù)庫:sp_detach_db 'test'

連接數(shù)據(jù)庫:sp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf'

sp_attach_single_file_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf'

2、只有mdf文件的恢復(fù)技術(shù)

由于種種原因,我們?nèi)绻敃r僅僅備份了mdf文件,那么恢復(fù)起來就是一件很麻煩的事情了。

如果您的mdf文件是當前數(shù)據(jù)庫產(chǎn)生的,那么很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復(fù)數(shù)據(jù)庫,但是會出現(xiàn)類似下面的提示信息

設(shè)備激活錯誤。物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有誤。

已創(chuàng)建名為 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日志文件。

但是,如果您的數(shù)據(jù)庫文件是從其他計算機上復(fù)制過來的,那么很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤信息

服務(wù)器: 消息 1813,級別 16,狀態(tài) 2,行 1

未能打開新數(shù)據(jù)庫 'test'。CREATE DATABASE 將終止。

設(shè)備激活錯誤。物理文件名 'd:\test_log.LDF' 可能有誤。

怎么辦呢?別著急,下面我們舉例說明恢復(fù)辦法。

A.我們使用默認方式建立一個供恢復(fù)使用的數(shù)據(jù)庫(如test)。可以在SQL Server Enterprise Manager里面建立。

B.停掉數(shù)據(jù)庫服務(wù)器。

C.將剛才生成的數(shù)據(jù)庫的日志文件test_log.ldf刪除,用要恢復(fù)的數(shù)據(jù)庫mdf文件覆蓋剛才生成的數(shù)據(jù)庫數(shù)據(jù)文件test_data.mdf。

D.啟動數(shù)據(jù)庫服務(wù)器。此時會看到數(shù)據(jù)庫test的狀態(tài)為“置疑”。這時候不能對此數(shù)據(jù)庫進行任何操作。

E.設(shè)置數(shù)據(jù)庫允許直接操作系統(tǒng)表。此操作可以在SQL Server Enterprise Manager里面選擇數(shù)據(jù)庫服務(wù)器,按右鍵,選擇“屬性”,在“服務(wù)器設(shè)置”頁面中將“允許對系統(tǒng)目錄直接修改”一項選中。也可以使用如下語句來實現(xiàn)。

use master

go

sp_configure 'allow updates',1

go

reconfigure with override

go

F.設(shè)置test為緊急修復(fù)模式

update sysdatabases set status=-32768 where dbid=DB_ID('test')

此時可以在SQL Server Enterprise Manager里面看到該數(shù)據(jù)庫處于“只讀\置疑\脫機\緊急模式”可以看到數(shù)據(jù)庫里面的表,但是僅僅有系統(tǒng)表

G.下面執(zhí)行真正的恢復(fù)操作,重建數(shù)據(jù)庫日志文件

dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

執(zhí)行過程中,如果遇到下列提示信息:

服務(wù)器: 消息 5030,級別 16,狀態(tài) 1,行 1

未能排它地鎖定數(shù)據(jù)庫以執(zhí)行該操作。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。[brown]

說明您的其他程序正在使用該數(shù)據(jù)庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統(tǒng)表,那么退出SQL Server Enterprise Manager就可以了。

正確執(zhí)行完成的提示應(yīng)該類似于:

[brown]警告: 數(shù)據(jù)庫 'test' 的日志已重建。已失去事務(wù)的一致性。應(yīng)運行 DBCC CHECKDB 以驗證物理一致性。將必須重置數(shù)據(jù)庫選項,并且可能需要刪除多余的日志文件。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。

此時打開在SQL Server Enterprise Manager里面會看到數(shù)據(jù)庫的狀態(tài)為“只供DBO使用”。此時可以訪問數(shù)據(jù)庫里面的用戶表了。

H.驗證數(shù)據(jù)庫一致性(可省略)

dbcc checkdb('test')

一般執(zhí)行結(jié)果如下:

CHECKDB 發(fā)現(xiàn)了 0 個分配錯誤和 0 個一致性錯誤(在數(shù)據(jù)庫 'test' 中)。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。

I.設(shè)置數(shù)據(jù)庫為正常狀態(tài)

sp_dboption 'test','dbo use only','false'

如果沒有出錯,那么恭喜,現(xiàn)在就可以正常的使用恢復(fù)后的數(shù)據(jù)庫啦。

J.最后一步,我們要將步驟E中設(shè)置的“允許對系統(tǒng)目錄直接修改”一項恢復(fù)。因為平時直接操作系統(tǒng)表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager里面恢復(fù),也可以使用如下語句完成

sp_configure 'allow updates',0

go

reconfigure with override

go

SQL Server數(shù)據(jù)庫附加提示“823”錯誤怎么辦

sqlserver附加數(shù)據(jù)庫錯誤823的解決方案2008-10-13 15:06sqlserver附加數(shù)據(jù)庫錯誤823的解決方案一、SQL-Server附加數(shù)據(jù)庫時失敗。

1、異常情況:服務(wù)器在正常運行的情況下突然斷電,導(dǎo)致數(shù)據(jù)庫文件損壞,具體表現(xiàn)是:數(shù)據(jù)庫名后面有“(置疑)”字樣。

2、異常分析:關(guān)于823錯誤的 SQL-SERVER 中的幫助:

================================

錯誤 823

嚴重級別 24

消息正文

在文件 "%4!" 的偏移量 %3! 處的 %2! 過程中,檢測到 I/O 錯誤 %1!。

解釋

Microsoft SQL Server 在對某設(shè)備進行讀或?qū)懻埱髸r遇到 I/O 錯誤。該錯誤通常表明磁盤問題。但是,錯誤日志中在錯誤 823 之前記錄的其它核心消息應(yīng)指出涉及了哪個設(shè)備。

3、解決辦法:

在SQL-Server企業(yè)管理器中,新建同名數(shù)據(jù)庫(這里假設(shè)為Test)后,停止數(shù)據(jù)庫,把損壞的數(shù)據(jù)庫文件Data.mdf和Test_log.LDF覆蓋剛才新建數(shù)據(jù)庫目錄下的Data.mdf和Test_log.LDF,同時刪除Test_log.LDF文件;啟動數(shù)據(jù)庫服務(wù),發(fā)現(xiàn)數(shù)據(jù)庫名Test后面有“置疑”字樣。不要緊,打開SQL自帶查詢分析器,分別執(zhí)行如下SQL語句:

第一、

exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打開修改系統(tǒng)表的開關(guān) */

第二、

update sysdatabases set status=32768 where name='數(shù)據(jù)庫名' /* 設(shè)置數(shù)據(jù)庫狀態(tài) */

第三、

DBCC REBUILD_LOG ('數(shù)據(jù)庫名','D:\database\Test_Log.LDF') /* 重建LDF文件 */

第四、

update sysdatabases set status=0 where name='數(shù)據(jù)庫名' /* 重置數(shù)據(jù)庫狀態(tài) */

第五、

restore database 數(shù)據(jù)庫名 WITH RECOVERY /* 恢復(fù)數(shù)據(jù)庫 */

第六、

exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 關(guān)閉打開修改系統(tǒng)表的開關(guān) */

按照此方法操作,應(yīng)該能修復(fù)數(shù)據(jù)庫正常訪問了。如果問題依然存在,最笨的一個方法就是新建另一個數(shù)據(jù)庫,把原數(shù)據(jù)庫(Test)各個表的數(shù)據(jù)導(dǎo)出到新建數(shù)據(jù)庫表中。

============================================================

補充說明:用上面的六步把數(shù)據(jù)庫置疑的問題解決了,但是數(shù)據(jù)庫表里還有損壞的表(inf_gdscode),把壞表導(dǎo)出的時候也不成功。最后在查詢分析器里運行:

USE nmgbt_hcxuexipos (數(shù)據(jù)庫名)

GO

DBCC CHECKTABLE ('inf_gdscode',REPAIR_ALLOW_DATA_LOSS)

GO

錯誤823 前滾了4個事務(wù)(在數(shù)據(jù)庫(8)中

如果庫文件和日志文件一塊附加都附加不上的話,按以下步驟操作:

1,在sqlserver中新建庫(新建沒有表的空庫,庫名為你附加失敗的庫名),記住數(shù)據(jù)庫文件存放地址(最好指定目錄)。

2,停止sqlserver服務(wù),在新建的庫文件目錄下將日志文件刪除(.ldf),然后將附加失敗的庫文件覆蓋進去。

3,啟動sqlserver服務(wù),但不停止一切連接該庫的服務(wù)。

然后執(zhí)行語句:

use master

go

alter database db_name set emergency

go

4、置為單用戶模式,并重建日志:

alter database db_name set single_user with rollback immediate

go

alter database db_name Rebuild Log on (name=log_name,filename='C:\log_name.ldf')

go

alter database dbname set multi_user

go

其中日志文件目錄及文件名按實際情況填寫。

5、dbcc checkdb嘗試修復(fù)庫。

Use master

go

sp_dboption 數(shù)據(jù)庫名, single, true

dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(dbname,REPAIR_REBUILD)

go

sp_dboption 數(shù)據(jù)庫名, single, false

go

如果修復(fù)過程中有錯誤則庫損壞嚴重,可能修復(fù)失敗。

網(wǎng)頁標題:sqlserver823,sql42883
網(wǎng)頁路徑:http://chinadenli.net/article23/dsisccs.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化App開發(fā)軟件開發(fā)定制網(wǎng)站自適應(yīng)網(wǎng)站網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司