恢復資料庫時出現3165錯誤

2022-02-14 15:24:14 字數 1415 閱讀 2937

今天恢復某個資料庫時出現如下的錯誤:

msg 208, level 16, state 1, procedure sp_msrestoredbreplication, line 72

invalid object name 'master.dbo.msreplication_options'.

msg 3165, level 16, state 1, line 1

database 'mydbname' was restored, however an error was encountered while replication was being restored/removed. the database has been left offline. see the topic mssql_eng003165 in sql server books online.

msg 3167, level 16, state 1, line 1

restore could not start database 'mydbname'.

msg 3013, level 16, state 1, line 1

restore database is terminating abnormally.

恢復的資料庫此時處於離線狀態

聯機叢書搜尋mssql_eng003165

找到如下解決方案:

1. 執行 alter database 以使資料庫聯機;例如:alter database adventureworks set online。  有關詳細資訊,請參閱 alter database (transact-sql)。 如果要保留複製設定,請轉到步驟 2。 否則,轉到步驟 3。

2. 執行 sp_restoredbreplication (transact-sql)。  如果此儲存過程成功執行,則還原完成。 如果此儲存過程未成功執行,請轉到步驟 3。

3. 執行 sp_removedbreplication (transact-sql) 以刪除所有複製設定。  如果需要,請重新配置複製。  如果您根據建議將複製拓撲編寫了指令碼,請使用指令碼來重新配置該拓撲。

我執行到第2步的時候成功刪除複製設定了,指令碼如下:

alter

database mydbname set

online

usemaster

declare

@srv_orig

as sysname =

'myinsname

'declare

@db_orig

as sysname =

'mydbname

'exec sp_restoredbreplication @srv_orig,@db_orig

alter

database mydbname set multi_user;

恢復資料庫時遇到無法獨佔錯誤

症狀 在恢復資料庫時,遇到報錯 system.data.sqlclient.sqlerror 因為資料庫正在使用,所以無法獲得對資料庫獨佔訪問權。microsoft.sqlserver.smoextended 原因分析 那麼,是誰獨佔了呢?是不是因為我們在testdb單擊右鍵,導致這個資料庫被占用了...

恢復資料庫備份

利用檔案組備份恢復破壞的檔案 restore database bbb from disk d aaaabackup 1.bak with norecovery 還原到日誌點 restore log bbb from disk d aaaabackup 2.trn with norecovery r...

命令恢復資料庫

1 建立對應路徑資料夾 d program files microsoft sql server mssql11.mssqlserver mssql data 2 新建資料庫sgs,行資料路徑 日誌路徑都選擇以上路徑,行資料 檔名填寫 blank.mdf 日誌 檔名填寫 blank 1.ldf 3 ...