sqlserver附加資料庫出錯
A. sql server附加資料庫時出錯,提示說: 附加資料庫時出錯。有關詳細信息,請單擊「消息」列中的超鏈接。急
這個是因為資料庫是從其他電腦或者其他版本的原始文件,需要手動分配一下當前資料庫版本的訪問資料庫原始文件的許可權,解決方法如下:
1、首先打開資料庫之後,選擇性的進行登錄的,這里我們運用sa密碼進行登錄。
B. sqlserver 2005 可以登錄,但附加資料庫出錯,另一個程序正在使用此文件,進程無法訪問!
別用附加數據了。。將資料庫備份成BAK文件,然後新建一個資料庫,完全覆蓋就OK了。。這種情況是你的資料庫正在使用
C. sql server附加資料庫時出現錯誤提示:錯誤:9004 處理資料庫的日誌時出錯
先把原庫文件備份一份,然後
在其它機器上直接附加資料庫,不要日誌文件!試試!如果不行再按以下方法試試!
在其他機器上,用這個試試:
1.設置資料庫為緊急模式
Use Master
GO
sp_configure 'allow updates', 1
reconfigure with override
GO
UPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'
GO
2.停掉SQL Server服務:
NET STOP MSSQLSERVER
3.把原始資料庫的數據文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:
4.啟動SQL Server服務:
NET START MSSQLSERVER
5.重新建立一個同名的資料庫DB_SUSPECT;
USE master
GO
CREATE DATABASE DB_SUSPECT
ON
( NAME = DBNAME_DAT,
FILENAME = 'C:',
SIZE = 10,
FILEGROWTH = 5 )
LOG ON
( NAME = 'DBNAME_LOG',
FILENAME = 'g:',
SIZE = 5MB,
FILEGROWTH = 5MB )
GO
6.設置資料庫運行在單用戶的模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET SINGLE_USER
GO
7.停掉SQL服務:
NET STOP MSSQLSERVER
8.把原來的數據文件再覆蓋回來:
9.啟動SQL Server服務:
NET START MSSQLSERVER
10.重新設置SQLSERVER的狀態:
USE MASTER
GO
EXEC sp_resetstatus "DB_SUSPECT"
11.資料庫完整性檢測:
DBCC CHECKDB('DB_SUSPECT')
12.恢復資料庫為多用戶模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET MULTI_USER
GO
13.恢復SQLSERVER原始的配置:
USE MATER
GO
UPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT'
GO
14.配置SQLSERVER不允許更新系統表:
USE MASTER
GO
sp_configure 'allow updates', 0
reconfigure with override
GO
15.重新啟動MSSQLSERVER服務:
最好重新啟動操作系統
16.備份資料庫:
可以通過SQLSERVER企業管理器或T-SQL.需要備份MASTER和DB_SUSPECT
D. sqlserver 在附加資料庫時 提示:錯誤3624
1.新建一個同名的資料庫
2.再停掉sql server(注意不要分離資料庫)
3.用原資料庫的數據文件覆蓋掉這個新建的資料庫
4.再重啟sql server
5.此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名)
6.完成後一般就可以訪問資料庫中的數據了,這時,資料庫本身一般還要問題,解決辦法是,利用
資料庫的腳本創建一個新的資料庫,並將數據導進去就行了.
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的資料庫名'
Go
sp_dboption '置疑的資料庫名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的資料庫名')
Go
update sysdatabases set status =28 where name='置疑的資料庫名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的資料庫名', 'single user', 'true'
Go
注:不是我解答的..我在csdn上找到的..希望對你有所幫助 問題別關..有時間的時候我想來看下..
E. sql附加資料庫出錯一直正在執行
如下,在附加數據的時候出現如下的報錯。排除分離和附加SQL SERVER資料庫軟體的版本問題外。造成這個問題的原因為存放資料庫文件夾的許可權問題造成的。
F. SQL SERVER 附加資料庫時出現的問題
許可權問題
找到資料庫文件所在的文件夾,右鍵文件夾-屬性-安全 裡面給文件夾添加everyone許可權, 會提示是否給文件夾子目錄也添加該許可權,你就選擇是,就可以了
具體步驟
1 更改資料庫文件所有者
打開資料庫文件夾,右鍵點擊資料庫文件,選擇「屬性Property」 =>「安全Security」,點擊「高級Advanced」按鈕。
新出現的窗口中,刪除文件所有者信息不明的用戶或組,選中「允許父項的繼承許可權傳播到該對象和所有子對象。包括那些在此明確定義的項目(A)。」。
點擊「應用(A)」。
點擊「編輯Edit」, 點擊「更改Change」按鈕。
出現選擇「用戶與組」窗口,點擊「高級Advanced」按鈕。
新窗口中,點擊「現在查找 Find Now」按鈕,選擇「用戶組Users」。
然後一路ok,結束。
2 修改資料庫文件所有者許可權
再重新右鍵點擊資料庫文件,選擇「屬性Property」=>「安全Security」,
打開的窗口中會看到所有者許可權為空。點擊「編輯Edit」按鈕,
選中「所有者許可權」,勾選「完全控制」,然後點擊「ok」按鈕。
一路ok,結束。
再進行資料庫附加,一路順暢。
G. SQL server 2000附加資料庫時出錯怎麼辦
應該是你的資料庫日誌文件損壞了,單獨附加應該不成功。因為單獨附加的原理是產生一個空的LDF文件結構,但是前提是之前的Log是干凈的關閉,也就是不能有其他Open的事物。
這個問題你可以嘗試見一個同名的資料庫,然後停掉SQL
Server用出問題的覆蓋創建的,然後啟動SQL
Server
,改到單用戶模式用DBCC
CHECKDB修復,但是會有數據損失。
另外以上的操作建議在測試環境中做,保留一個備份。
H. sqlserver 附加資料庫 錯誤823 如何解決
sqlserver附加資料庫錯誤823的解決方案
一、SQL-Server附加資料庫時失敗。
1、異常情況:伺服器在正常運行的情況下突然斷電,導致資料庫文件損壞,具體表現是:資料庫名後面有「(置疑)」字樣。
2、異常分析:關於823錯誤的 SQL-SERVER 中的幫助:
================================
錯誤 823
嚴重級別 24
消息正文
在文件 "%4!" 的偏移量 %3! 處的 %2! 過程中,檢測到 I/O 錯誤 %1!。
解釋
Microsoft SQL Server 在對某設備進行讀或寫請求時遇到 I/O 錯誤。該錯誤通常表明磁碟問題。但是,錯誤日誌中在錯誤 823 之前記錄的其它核心消息應指出涉及了哪個設備。
3、解決辦法:
在SQL-Server企業管理器中,新建同名資料庫(這里假設為Test)後,停止資料庫,把損壞的資料庫文件Data.mdf和Test_log.LDF覆蓋剛才新建資料庫目錄下的Data.mdf和Test_log.LDF,同時刪除Test_log.LDF文件;啟動資料庫服務,發現資料庫名Test後面有「置疑」字樣。不要緊,打開SQL自帶查詢分析器,分別執行如下SQL語句:
第一、
exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打開修改系統表的開關 */
第二、
update sysdatabases set status=32768 where name='資料庫名' /* 設置資料庫狀態 */
第三、
DBCC REBUILD_LOG ('資料庫名','D:\database\Test_Log.LDF') /* 重建LDF文件 */
第四、
update sysdatabases set status=0 where name='資料庫名' /* 重置資料庫狀態 */
第五、
restore database 資料庫名 WITH RECOVERY /* 恢復資料庫 */
第六、
exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 關閉打開修改系統表的開關 */
按照此方法操作,應該能修復資料庫正常訪問了。如果問題依然存在,最笨的一個方法就是新建另一個資料庫,把原資料庫(Test)各個表的數據導出到新建資料庫表中。
============================================================
補充說明:用上面的六步把資料庫置疑的問題解決了,但是資料庫表裡還有損壞的表(inf_gdscode),把壞表導出的時候也不成功。最後在查詢分析器里運行:
USE nmgbt_hcxuexipos (資料庫名)
GO
DBCC CHECKTABLE ('inf_gdscode',REPAIR_ALLOW_DATA_LOSS)
GO