无法访问通过 Plesk 在 SQL Server 2014 Management Studio 中创建的 SQL 服务器数据库

Unable to access an SQL Server database created via Plesk in SQL Server 2014 Management Studio

在 Plesk v12.5.30 中,我创建了一个名为 ngo_database 的新 SQL 服务器数据库和一个名为 ngo_databaseuser.

的新数据库用户

我可以通过 Navicat for SQL Server v12.1.20 连接到这个新数据库(在提供主机“xxx”+用户名“ngo_databaseuser”+密码+初始数据库“ngo_database"), 而且我能够访问“ngo_database”数据库并创建新表和查询。

但是当我尝试通过 SSMS 2014 连接时(在提供服务器名称“xxx”+ 登录名“ngo_databaseuser”+ 密码+连接到数据库“ngo_database”之后),我无法访问“ngo_database”数据库,唯一可用的数据库是 master + tempdb。而且我无法导入或创建新的用户数据库。

顺便说一句,我已经与托管公司核实并检查了“向所有 Microsoft SQL 服务器数据库用户授予 ALTER DATABASE 权限”。

我做错了什么以及为什么我无法通过 SSMS 访问数据库?

在 SSMS 的对象资源管理器中看不到数据库并不等于无法访问它。当您只能看到数据库 mastertempdb 时,这很可能意味着您已经将 VIEW ANY DATABASEDENY 权限添加到您的登录名,或者服务器角色属于,或者 VIEW ANY DATABASE 已从 public 角色中撤销并且您尚未被授予该角色。

SSMS 使用 sys 对象在对象资源管理器中构建列表,如果没有 VIEW ANY DATABASE,它无法查看您有权访问的数据库以从中检索相关对象。

您可以使用 USE {Your Database} 或尝试查询 table(例如 SELECT * FROM {Your Database}.sys.objects;)来检查您是否有权访问数据库。

如果您需要 VIEW ANY DATABASE 许可,您需要与您的 DBA 联系。