Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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 数据库恢复后如何更正SQL server映射?_Sql Server_Authentication_Ssms - Fatal编程技术网

Sql server 数据库恢复后如何更正SQL server映射?

Sql server 数据库恢复后如何更正SQL server映射?,sql-server,authentication,ssms,Sql Server,Authentication,Ssms,程序I代码使用SQL server DBMS,有3个数据库:DB、Archives和HL7。 在新PC中恢复3个数据库后,我在访问HL7数据库时在entity framework中遇到错误: sa用户会话打开失败 我在SQL Server Management Studio中搜索了3个数据库之间的dall差异,发现了以下数据库: 当我试图纠正此问题时,我得到以下错误: 它表示:dbo用户、组或规则已存在于当前数据库中 你知道怎么纠正这个吗? 多谢各位 编辑: 我试过这个: use HL7;

程序I代码使用SQL server DBMS,有3个数据库:DB、Archives和HL7。 在新PC中恢复3个数据库后,我在访问HL7数据库时在entity framework中遇到错误:

sa用户会话打开失败

我在SQL Server Management Studio中搜索了3个数据库之间的dall差异,发现了以下数据库:

当我试图纠正此问题时,我得到以下错误:

它表示:dbo用户、组或规则已存在于当前数据库中

你知道怎么纠正这个吗? 多谢各位

编辑: 我试过这个:

use HL7;
exec sp_change_users_login 'Auto_Fix','dbo';
我得到了这个结果:

放弃这一程序。”这是我的名字 这是一个过程

这意味着:

程序中止。”此语句中不允许dbo'作为会话开始名称


这可能是因为SSID不匹配。要检查这一点,请运行以下命令

EXEC sys.sp_change_users_login @Action = 'Report'
如果出现有问题的登录,您可以按如下方式重新同步SSID:

EXEC  sp_change_users_login @Action='update_one', @UserNamePattern='your_user_name',@LoginName='your_user_name'; 
你不能用通常的方式“重新映射”sa。相反,请重置所有者:

use master;
alter authorization on database::HL7 to sa;

作为一点建议,您不应该真正以系统管理员帐户的身份从应用程序连接。创建一个新的登录名和用户,并为其提供实际需要的权限。

您是否尝试过,
sp\u change\u users\u login
?请参见我的编辑在SSMS中,生成的表(列为UserName,UserSID)不包含行,因此我猜这不是正确的问题。这可能很明显,但是,请确保您使用正确的数据库运行它。对不起,我不理解您的建议;你说的风景是什么意思?我的MVVM项目的C视图?好的,我想我明白了:在上面的sp_change_users_login语句之前,我写了“use HL7”;我得到了描述的结果:没有行