前幾天客戶那邊的伺服器宕機了,然後客戶強制關機,重新啟動伺服器後,系統就沒法正常使用,連線不上伺服器,我遠端操作後,看到資料庫標註為可疑,由於客戶之前沒備份資料庫,看來只能是修復了:
1:停止資料庫服務,將可疑的資料庫及日誌備份到別的資料夾,隨後刪除資料庫檔案及日誌檔案
2:開啟資料庫服務,連線資料庫後刪除可疑的資料庫,並新建同名的資料庫(目錄位原來的目錄)
3:停止資料庫服務,將備份的資料庫檔案替換新建的資料庫檔案(日誌檔案不需要替換)
4:開啟資料庫服務,連線資料庫後執行alter database 資料庫名 set emergency,將資料庫改為緊急模式, 執行後,為了保險起見,重新停止、開啟的sqlserver服務,再開啟資料庫,已經可以看到裡面的內容了,如表,檢視,儲存過程等,資料庫名稱後有緊急標誌,能看到資料庫結構,但無法進行備份等操作
5:執行alter database 資料庫名 set single_user,將資料庫設為單使用者模式
6:對資料庫進行檢查修復dbcc checkdb(資料庫名,repair_allow_data_loss),(這裡有個很奇怪的現象,最早開始修復的時候,資料庫130多g,這一步執行了6個多小時,昨天修復的時候,資料庫打到了160g,這一步只執行了43分鐘,不知道怎麼回事),執行完成後會看到提示錯誤,不用管,操作後,仍然停止啟動sqlserver服務(不確定是否需要,我只是為了想無干擾檢視執行後的資料庫狀況)重新開啟資料庫,已經是正常狀態了,沒有應急提示了
7:取消單使用者模式 alter database 資料庫名 set multi_user
至此,資料庫修復完畢,被標記為「可疑」的資料庫已恢復正常狀態。
為SQLSERVER資料庫新增訪問使用者
首先,用windows或sa身份登入sqlserver,開啟安全性 登入名 右鍵新建登入名 在選擇頁 常規中,新建命為user b的登入名,選擇sqlserver身份驗證方式,設定密碼確認密碼,不勾選強制實施密碼策略 下一步選擇使用者對映。在選擇頁 使用者對映中,選擇要使用的資料庫勾選 這裡完成後,...
sqlserver資料庫欄位為空格的問題
今天查問題遇到sqlserver資料庫中一張表裡本來插入的資料為空但是變成了空格的問題。剛開始考慮是因為程式邏輯有問題,檢查了 後沒有異常,總共有a,b,c三個字段,都是同樣的邏輯。a就是空格,b,c是空 開始從資料庫方面下手查問題,首先檢視空格在字段中的位置 因為sqlserver在編譯sql語句...
SqlServer資料庫被標誌為「可疑」解決放法
1 修改資料庫為緊急模式 alter database dbname set emergency 2 使資料庫變為單使用者模式 alter database dbname set single user 3 修復資料庫日誌重新生成,此命令檢查的分配,結構,邏輯完整性和所有資料庫中的物件錯誤。當您指定...