我在Azure中创建了一个带有数据库的新SQL服务器,在使用admin帐户登录后,我添加了一个我只想访问一个数据库的新用户。
在SSMS中,我右键单击mynewdatabase
数据库并选择了新查询。
我执行了
CREATE USER mynewuser WITH PASSWORD ='good password here';
ALTER ROLE db_owner ADD MEMBER mynewuser ;
现在以mynewuser身份登录后,我仍然可以看到master数据库。
问题是如何限制mynewuser
仅访问mynewdatabase
?
我确信这是基本的。
答案 0 :(得分:2)
在SQL Server中,包括Azure SQL DB,所有用户都可以在sys.databases中查看所有系统数据库。这与能够连接到它们或在其中运行查询不同。这并未透露任何敏感信息,因为这些是系统数据库,无论您是否看到它们列出,您都会知道它们在那里。请参阅https://msdn.microsoft.com/en-us/library/ms178534.aspx#Anchor_0。
根据您描述的步骤,您创建了一个无法连接到master数据库或在Azure SQL DB中运行查询的包含用户。