来自 数据库 2020-03-08 02:33 的文章
当前位置: 网上澳门金莎娱乐 > 数据库 > 正文

恢复数据库时出现3165错误【网上澳门金莎娱乐】

前言

今天恢复某个数据库时出现如下的错误:

在SQL Server数据库中,有时候会建立一些Windows认证的账号,例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除这些Windows认证账号呢?这篇文章就是来探讨一下如何正确的删除Windows认证账号。如下所示:

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.

下面这种方式,仅仅是删除登录名,然而并没有删除用户是分离开来,但是又有关联的。所以正确的姿势: 在删除登录名后,还必须去每个数据库,删除对应的用户,否则后面就会遇到一些问题:

恢复的数据库此时处于脱机状态

1:如果删除Windows认证用户前,没有修改作业的OWNER(如果此作业的OWNER为此Windows用户的话,那么删除Windows认证用户后,作业就会报类似下面这种错误。


The job failed. The owner (xxxxx) of job syspolicy_purge_history does not have server access.

联机丛书搜索MSSQL_ENG003165

所以在删除Windows认证用户前,必须检查并修改作业的Owner,避免这种情况出现。

找到如下解决方案:

2:删除Windows认证用户前,确认是否有数据库的OWNER为此Windows认证用户。否则删除登录名时会报错

  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) 以删除所有复制设置。  如果需要,请重新配置复制。  如果您根据建议将复制拓扑编写了脚本,请使用脚本来重新配置该拓扑。

网上澳门金莎娱乐,Msg 15174, Level 16, State 1, Line 4

我执行到第2步的时候成功删除复制设置了,脚本如下:

Login 'xxxxxxx' owns one or more database(s). Change the owner of the database(s) before dropping the login.

ALTER  DATABASE MYDBNAME SET ONLINE 
USE MASTER 
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;

Msg 15174, Level 16, State 1, Line 4

 

登录名 'xxxxxx' 拥有一个或多个数据库。在删除该登录名之前,请更改相应数据库的所有者。

必须修改数据库的Owner后,才能删除登录名

sp_changedbowner 'sa'

3:有时候删除用户时,报下面错误,必须修改后,才能删除对应的用户。

遇到下面错误:

Msg 15138, Level 16, State 1, Line 3

数据库主体在该数据库中拥有 架构,无法删除。

Msg 15138, Level 16, State 1, Line 3

The database principal owns a schema in the database, and cannot be dropped.

本文由网上澳门金莎娱乐发布于数据库,转载请注明出处:恢复数据库时出现3165错误【网上澳门金莎娱乐】

关键词: