2023年11月27日发(作者:)

sqlserver 2008不能删除发布,不能修改数据库所有

,不能删除用户的解决办法

原:sqlserver 2008不能删除发布,不能修改数据库所有者,不能删除用户的解决

办法 Author by ZhangWei 20120816

因为 订阅服务器下线,所以需要删除发布服务器上无用的发布

ETL_DB ,

'ERPSQL2Administrator'

修改ownersa解决发布可以删除问题

USE ETL_DB;

EXEC sp_changedbowner 'sa';

再删除发布可以删除。

解决了发布无法删除的问题。

owner恢复成原来的报错

USE ETL_DB;

EXEC sp_changedbowner

'ERPSQL2Administrator';

消息 15110,级别 16,状态 1,第 1

推荐的新数据库所有者已经是此数据库的用户或在此数据

库中已有一个别名。

USE ETL_DB;

EXEC sp_changedbowner

'ERPSQL2Administrator';

推荐的新数据库所有者已经是此数据库的用户或在此数据

库中已有一个别名

USE ETL_DB;

EXEC sp_changedbowner 'ERPSQL2Administrator';

消息 15110,级别 16,状态 1,第 1

推荐的新数据库所有者已经是此数据库的用户或在此数据库中已有一个别名。

USE ETL_DB;

EXEC sp_changedbowner 'sa';

删除发布成功

USE ETL_DB;

EXEC sp_changedbowner 'ERPSQL2Administrator';

消息 15110,级别 16,状态 1,第 1

推荐的新数据库所有者已经是此数据库的用户或在此数据库中已有一个别名。

USE [ETL_DB]

GO

/****** Object: User [ERPSQL2Administrator] Script Date:

08/16/2012 10:49:44 ******/

IF EXISTS (SELECT * FROM se_principals WHERE name =

N'ERPSQL2Administrator')

DROP USER [ERPSQL2Administrator]

GO

--消息 15138,级别 16,状态 1,第 4

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

--按照下文的步骤:

1数据库的表、视图、存储过程等等,如果架构为ERPSQL2Administrator]

将其所有者全部改为dbo--yes

2、在安全性-架构下,如果名称对象中有ERPSQL2Administrator]这一

项,将其直接删除;如果其它对象的所有者是ERPSQL2Administrator],将其所

有者改为dbo

3安全性-角色-数据库角色下,打开每一个角色的属性,db_owner

角色列表中将【ERPSQL2Administrator]删除。

然后执行drop 用户成功

IF EXISTS (SELECT * FROM se_principals WHERE name =

N'ERPSQL2Administrator')

DROP USER [ERPSQL2Administrator]

GO

--命令已成功完成。