Sql server SQL Server-新用户有权访问主数据库

Sql server SQL Server-新用户有权访问主数据库,sql-server,azure-sql-database,Sql Server,Azure Sql Database,我用Azure中的数据库创建了一个新的SQL server,在使用管理员帐户登录后,我添加了一个新用户,我只想访问一个数据库 在SSMS中,我右键单击了mynewdatabasedatabase并选择了新查询 我执行 CREATE USER mynewuser WITH PASSWORD ='good password here'; ALTER ROLE db_owner ADD MEMBER mynewuser ; 现在,在以mynewuser身份登录之后,我仍然可以看到主数据库 问题是如何

我用Azure中的数据库创建了一个新的SQL server,在使用管理员帐户登录后,我添加了一个新用户,我只想访问一个数据库

在SSMS中,我右键单击了
mynewdatabase
database并选择了新查询

我执行

CREATE USER mynewuser WITH PASSWORD ='good password here';
ALTER ROLE db_owner ADD MEMBER mynewuser ;
现在,在以mynewuser身份登录之后,我仍然可以看到主数据库

问题是如何限制
mynewuser
仅访问
mynewdatabase


我相信这是最基本的

在SQL Server(包括Azure SQL DB)中,所有用户都可以在sys.databases中查看所有系统数据库。这与能够连接到它们或在其中运行查询不同。这不会透露任何敏感信息,因为这些是系统数据库,无论您是否看到它们列出,您都会知道它们在那里。看


根据您描述的步骤,您已经创建了一个包含的用户,该用户不应能够连接到主数据库或在Azure SQL DB中运行查询。

您可以使用ALTER user更改默认数据库,示例如下。用户仍将访问列出的数据库,但无法访问它。默认设置只是更改用户将连接到的默认数据库,除非用户明确指定要连接到哪个数据库。