㈠ 如何恢復sql數據緊急模式
按照正常的資料庫備份操作備份一下資料庫,然後按照後面的操作只還原數據文件 A. 我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。
B. 停掉資料庫伺服器。
C. 將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。
D. 啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。
E. 設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
use master
go
sp_configure 'allow updates ',1
go
reconfigure with override
go
F. 設置test為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID( 'text ')
此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
G. 下面執行真正的恢復操作,重建資料庫日誌文件
dbcc rebuild_log( 'text ', 'D:\MSSQL7\Data\text_log.ldf ')
執行過程中,如果遇到下列提示信息:
伺服器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定資料庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了text庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。
正確執行完成的提示應該類似於:
警告: 資料庫 'test ' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
此時打開在SQL Server Enterprise Manager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。
H. 驗證資料庫一致性(可省略)
dbcc checkdb( 'text ')
一般執行結果如下:
CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'test ' 中)。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
I. 設置資料庫為正常狀態
sp_dboption 'text ', 'dbo use only ', 'false '
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。
J. 最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager裡面恢復,也可以使用如下語句完成
sp_configure 'allow updates ',0
go
reconfigure with override
go
㈡ SQL Server 中有一段數據查不出來怎麼回事
首先你能確認這事是直接的,還是有間接的因素?
你是通過程序代碼訪問的,還是直接在SQL
SERVER上運行這段查詢代碼的?如果你通過程序運行的,信寬請你豎吵先通過余坦侍SQL
SERVER查詢一下。
還有,如果SQL
SERVER也是這樣,請你另外建一個數據表,插入測試數據,再試試。
㈢ 為什麼sqlserver查詢不到數據
查不到數據可以從以下方面入手
首先檢查語句是否發生錯誤,有異常就無法查詢,所以沒數據
接下來檢查表,表中是否存在數據,表內沒數據,查詢自然沒數據
再檢查SQL條件,是否因為條件的原因,造成沒有數據。
最後一個可能,你連接錯資料庫了
㈣ 我SQL2005資料庫變成緊急狀態了 試了很多代碼都改不回來了
右鍵緊急狀態的資料庫--屬性--選項--狀態:里邊的選項修改下試試
㈤ WIN7 安裝SQL2008後能夠連接上遠程伺服器無法查看資料庫
查看資料庫首先要保證你當前所登陸的用戶名具有查看或者管理目標資料庫的許可權
㈥ 如何解決資料庫是緊急狀態
SQL資料庫修復 資料庫緊急狀態解決方法(2007-12-29 12:23:39)標簽:it1、USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGO2、UPDATE SYSDATABASES SET STATUS =-32768 WHERE NAME='twhis'Go3、sp_dboption 'twhis', 'single user', 'true' --設置為單用戶模式Go4、 update sysdatabases set status =28 where name='twhis'Go5、dbcc rebuild_log('twhis','D:\Program Files\Microsoft SQL Server\MSSQL\Data\twhis_log.ldf') --重建日誌,需要把原先的日誌文件改名或者刪除go6、DBCC CHECKDB('twhis',REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGSGo7、sp_configure 'allow updates', 0 reconfigure with overrideGo8、--修復數據表use twhisdeclare @dbname varchar(255) set @dbname='twhis' exec sp_dboption @dbname,'single user','true' dbcc checktable('mzmxz',REPAIR_ALLOW_DATA_LOSS) dbcc checktable('mzmxz',REPAIR_REBUILD) ------把』 需要修復的數據表的名稱』更改為執行DBCC CHECKDB時報錯的數據表的名稱 exec sp_dboption @dbname,'single user','false' sp_dboption 'twhis', 'single user', 'false'Go9、sp_dboption 'twhis', 'dbo use', 'false' sp_dboption 'twhis', 'single user', 'true' DBCC CHECKDB('twhis',REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS DBCC CHECKDB('twhis',REPAIR_rebuild) ===================================
㈦ SQL的問題,非常緊急
如果你所說的清指襲SQL數據指的是SQL Server資料庫,那可以把原來答兄在C盤的資料庫文件轉移到其他盤上,方法:在SQL Server企業管理器裡面找到那個資料庫,在右鍵菜單「屬性」中查看一下數據文件和事務日誌文件是哪兩個 - 在右鍵菜單中「分離資料庫」 - 將那兩個文件拷貝到其他盤上 - 在右鍵菜單中「附加資料庫」,選中你剛拷過逗鎮去的文件即可,附加成功後就可以把原來的那兩個文件刪掉了
㈧ sql server2005 無法訪問資料庫
1,登陸名字和桐凳密碼。
2,檢查計算機是否曾更改困輪陸設置
3,檢查網路連接情況。
4,如果還解決不了的汪頃話,就備份一下資料庫,
然後從新安裝一下,sql server.
如無特殊需求,個人建議用sql2000,比較穩定點。
㈨ sql2008資料庫顯示為緊急
1.
修改資料庫為緊急模式 ALTER DATABASE jd13dafa SET EMERGENCY
2.
使資料庫變為單用戶模式 ALTER DATABASE jd13dafa SET SINGLE_USER
3.
修復資料庫日誌重新生成,此命令檢查的分裂茄配,結構,邏輯完整性和所有資料庫中的對象錯誤。當您指定「REPAIR_ALLOW_DATA_LOSS」作為DBCC CHECKDB命令參數,該程序將檢查和修復報告的錯誤。肆纖察但是,這些修復可能會導致一些數據丟失。 DBCC CheckDB (jd13dafa , REPAIR_ALLOW_DATA_LOSS)
4.
使資料庫變豎談回為多用戶模式 ALTER DATABASE jd13dafa SET MULTI_USER
㈩ sql2000backup database不能用於緊急模式打開的資料庫
資料庫置疑後,你執行語句修復時需要將資料庫設為緊急模式,也許你用的是復制過來的語句自己並不清楚,只要將資料庫緊急模式取消就好了!在master表中執行語句取消緊急模式 update sysdatabases set status= 0 where name='你的庫名'