搜索了一下知道每一个数据库用户对应于一个系统登陆帐号,并且每一个架构只能赋予一个用户。所以直接删除用户的架构是不可以的,然后我就新建一个登录名,并且在用户映射里面将db_owner架构付给他,然后就可以删除之前的用户了。
============================
问题:请问:我在2005上附加了一个2000下的MDF数据库,但是无法删除原数据库里的用户。
我在2005上附加了一个2000下的MDF数据库,但是无法删除原数据库里的用户。
提示附加成功后,里面有一个原来数据库的用户,现在我想删除这个用户再重建一个新的用户,并赋予新的数据库权限时,无法删除这个用户。
提示如下:
标题: Microsoft SQL Server Management Studio
------------------------------
删除 对于 用户“****”失败。 (Microsoft.SqlServer.Smo)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=删除+User&LinkId=20476
------------------------------
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
数据库主体在该数据库中拥有 架构,无法删除。 (Microsoft SQL Server,错误: 15138)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1399&EvtSrc=MSSQLServer&EvtID=15138&LinkId=20476
------------------------------
请问这是什么意思,如果才能删除这个用户??
回复:
先删除此用户对应的架构,然后在删除对应的用户
步骤
1。SQL SERVER MANAGEMENT STUDIO--》数据库--》安全性--》构架,先删除对应的构架
2。SQL SERVER MANAGEMENT STUDIO--》数据库--》安全性--》用户,删除对应的用户
其它方法:
SQL2005删除用户的时候,产生“数据库主体在该数据库中拥有架构,无法删除”的解决办法
--执行如下SQL语句
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
--然后手动删除就可以了。