我正在谈论Windowsauthentication。
我没有访问服务器的adming权限,但一个dbadmin发送给我的屏幕截图,我的用户不在服务器的login。 也只有一个叫做pipe理员的窗口组 – 数据库,我100%肯定我的家伙不能成为它的一部分。
但是…他的用户名是在我的数据库的用户…
用户怎样才能出现在没有login服务器的数据库?
PS打印的日志中:用户'xxxx'的login失败。 原因:基于令牌的服务器访问validation失败,出现基础结构错误。 检查以前的错误
如果数据库已恢复或迁移,则所有login都必须重新关联。 这被称为孤立login。
如果有一个同名的login,你可以使用这个脚本来修复它。
USE [db_name] GO exec sp_change_users_login "auto_fix", "username";
在恢复数据库之后重新创buildlogin将不会重新关联到用户。 您必须将用户更改为与给定login关联。
您可以使用
ALTER USER [X] WITH LOGIN = [Y];
由于您可以让名为A的用户与loginB关联
记住:login是每个服务器,用户是每个数据库。
也可以创build没有login的用户。
创build用户sithlord没有login
这些无login的用户可以用于模拟,其中数据访问可能根据用户上下文(即自定义行级安全性)进行过滤。
EXEC AS USER ='sithlord'
SELECT * FROM dbo.someView
还原