3

我的数据库托管在共享主机中。我在 Management Studio Express 中远程连接我的数据库。每当我尝试连接到 sqlserver 实例时,它都会显示该服务器实例中托管的所有数据库。一直在其他用户的 400 个数据库中找出您的数据库,这很烦人。

有什么方法可以将数据库列表过滤到我赢得或获得许可的数据库列表中吗?我不想看到我没有权限或我不拥有的数据库。

请记住,我的数据库托管在共享主机中,作为用户,我的权限有限。

4

2 回答 2

1

我研究了一个类似的问题,我发现唯一可行的方法有点老套,但在这种情况下它可能对你有用。如果您(或您的共享主机的管理员)能够将您的登录名设置为数据库的 DBO,然后还可以拒绝查看所有数据库以供您登录,那么您在连接时应该只看到您的登录名拥有的数据库。所以 t-sql 将是:

`使用 AdventureWorks2008R2

将 DATABASE::AdventureWorks2008R2 上的授权更改为 TestLogin

使用大师

拒绝查看任何数据库到 TestLogin`

不确定这是否适合您的场景,并且绝对不是说这是最佳实践,但也许它会有所帮助!

于 2013-01-23T16:57:57.890 回答
1

我在 SSMS 的 SSMSBoost 插件中为这个问题创建了解决方案(我是这个插件的开发者)。工具栏上有一个特殊的“智能连接开关”组合框,您可以将其配置为显示您最喜欢的连接(首选连接),也可以显示所有本地数据库,但仅显示您可以访问的那些。

于 2019-08-19T16:20:42.927 回答