app教程网 学习教程 sql创建数据库失败错误262(sql创建对于登录失败)

sql创建数据库失败错误262(sql创建对于登录失败)

原因:

sql server中“登录”和“用户”的区别在于“登录”用于用户认证,而数据库“用户”账户用于数据库访问和权限验证。登录通过安全标识符(SID)与用户相关联。将数据库还原到另一台服务器时,

数据库包含一组用户和权限,但是可能没有相应的登录,或者与登录相关联的用户可能不是相同的用户。这种情况被称为“孤儿用户”的存在。

此时,通过创建新的登录或授予“用户”对相应数据库的权限以进行同名登录是无法解决登录问题的,因为SQL Server会报告“错误15023:当前数据库中已经存在用户或角色”。

求解:

要解决这个问题,需要调用系统存储过程sp_change_users_login,具体用法如下:

Use northwindgossp _ change _ users _ login' update _ one'' test'' test' where the northwind is the database with isolated users,

Update_one是存储过程的一个参数,表示只处理一个用户,前面的测试是“user”,后面的测试是“login”。

上述SQL意味着将服务器登录“test”与Northwind数据库用户“test”重新连接。所以可以正常使用数据库。

本文来自网络,不代表本站立场,转载请注明出处:https: