SQL Server Management Studio - 无法使用我知道应该工作的帐户登录

问题描述 投票:0回答:1

我们的业务刚刚更改了活动目录,域名已从“YMS”更改为“YMSNET”。所以我以前能够使用“YMS \ tkol”登录,我现在可以使用“YMSNET \ tkol”登录(这些用户名和域名是伪造的,例如),但是当我现在登录时,我实际上无法扩展任何数据库或查看任何表,我只能看到数据库名称列表。当我尝试在UI中扩展数据库时,它说“此数据库不可访问(对象资源管理器)”。

现在我有另一个名为“sqluser”的用户,我一直在尝试使用该用户登录,方法是将身份验证方法更改为SQL Server身份验证而不是Windows身份验证。但我得到了Microsoft SQL Server, Error: 4064

现在我知道这个sqluser用户存在并且密码是正确的,因为我可以对服务器进行身份验证并成功地与同一网络上的单独计算机上的外部进程的表进行交互(node.js,package mssql)。我在the accepted answer on this question上使用了查询,发现我的sqluser在那里,角色为db_accessadmin, db_ddladmin, db_owner。但它仍然不允许我在SQL Server Management Studio UI中使用该用户登录

我怎样才能再次使用sqluser帐户并使用YMSNET\tkol帐户登录?或者为我的YMSNET\tkol帐户添加适当的权限?

---编辑---

我的第一个想法是,因为我可以使用sqluser登录UI,但我可以使用sqluser在外部与数据库进行交互,我可以使用YMSNET\tkol运行一些查询或命令,它将为ALTER LOGIN [sqluser] WITH DEFAULT_DATABASE = [rightDB] 添加权限,以便该用户可以现在查看所有数据库和表。我不知道我为此运行了哪些命令。

sql-server ssms
1个回答
3
投票

这可能是因为您的帐户的默认数据库被映射到另一个不可用的数据库,例如,您没有权限,或者该数据库不再存在等。

您的组织DBA可以通过以下方式修复它:

select default_database_name from sys.server_principals
where name = 'sqluser'

可通过以下方式检查默认数据库名称

enter image description here

可以通过打开SSMS连接窗口的“选项”并明确指定它来覆盖此属性:

qazxswpoi

© www.soinside.com 2019 - 2024. All rights reserved.