以特定 SQL Server 用户身份登录时,我无法查看 SSMS Explorer 树中的所有数据库。最初我以为这是SQL Server用户帐户的问题。我检查了登录定义、用户定义,比较了相关数据库中的用户行。一切都匹配。
随后,我发现问题出在 SSMS 上,或者可能是 SSMS 用于呈现其资源管理器树的某些基础表上。因为数据库实际上可供该用户使用。(此用户恰好是相关数据库的 db_owner 角色,并且实际上拥有这些数据库中的多个架构。无法从这些数据库中删除此用户。)
这是我以相关用户身份登录时看到的内容。SSMS Explorer 树仅向我显示master和rater8数据库。该服务器上还有另外两个数据库,但这些数据库未显示在资源管理器树中。但是,当我转到查询窗口并下拉数据库选择器时,我会按预期看到所有四个数据库。
当我使用 Azure Data Studio 使用同一 SQL Server 帐户登录时,我按预期看到了所有四个数据库。
知道为什么 SQL Server 无法为该特定用户帐户呈现其他两个数据库吗?该问题取决于帐户。当我使用多个不同的帐户通过 SSMS 登录时,我可以按预期在 SSMS Explorer 树中看到所有四个数据库。这是我使用其他帐户登录时看到的屏幕截图:
您知道是什么原因导致某个特定 SQL Server 帐户的 SSMS Explorer 树崩溃吗?谢谢你的建议!
请看一下这个答案:
远程连接 azure-sql-server-不显示所有数据库