Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 无法删除sql用户或使用正确的凭据进行连接_Sql Server 2008 - Fatal编程技术网

Sql server 2008 无法删除sql用户或使用正确的凭据进行连接

Sql server 2008 无法删除sql用户或使用正确的凭据进行连接,sql-server-2008,Sql Server 2008,使用SQLServer2008Express 我创建了一个新数据库,然后在上面恢复了一个数据库副本。数据库备份中存在sql用户,因此已通过还原操作添加到数据库中。当我尝试删除此用户时,我得到: 数据库主体在数据库中拥有架构,无法删除 这令人困惑。用户尚不存在,但它拥有架构?为什么不能删除 接下来,如果我添加一个具有该用户名和有效密码的用户,那么该用户甚至无法连接到数据库 这一直困扰着我,原因是什么?我该如何解决这一问题?可能是因为您还原了数据库,而备份时用户已经在该数据库中。修复与的用户登录关联

使用SQLServer2008Express

我创建了一个新数据库,然后在上面恢复了一个数据库副本。数据库备份中存在sql用户,因此已通过还原操作添加到数据库中。当我尝试删除此用户时,我得到:

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

这令人困惑。用户尚不存在,但它拥有架构?为什么不能删除

接下来,如果我添加一个具有该用户名和有效密码的用户,那么该用户甚至无法连接到数据库


这一直困扰着我,原因是什么?我该如何解决这一问题?

可能是因为您还原了数据库,而备份时用户已经在该数据库中。修复与的用户登录关联

sp_change_users_login 'Auto_Fix', 'username'
也看到


这可能是因为您还原了数据库,而备份时用户已经在该数据库中。修复与的用户登录关联

sp_change_users_login 'Auto_Fix', 'username'
也看到

sp\u更改\u用户\u登录不适用于我

但这确实:

SELECT s.name
FROM sys.schemas s
WHERE s.principal_id = USER_ID('user')
然后,获取上面列出的每个记录,并用以下语句返回的模式替换SCHEMA_NAME

ALTER AUTHORIZATION ON SCHEMA::SCHEMA_NAME TO dbo
在我对每条记录都这样做之后,我可以删除该帐户。

sp\u change\u users\u登录对我不起作用

但这确实:

SELECT s.name
FROM sys.schemas s
WHERE s.principal_id = USER_ID('user')
然后,获取上面列出的每个记录,并用以下语句返回的模式替换SCHEMA_NAME

ALTER AUTHORIZATION ON SCHEMA::SCHEMA_NAME TO dbo
在我对每条记录都这样做之后,我就可以删除这个帐户了