小编Yul*_*a V的帖子

如何为 Azure 中的第二个数据库创建第二个登录?如何拒绝用户访问其中一个数据库?

我有一个 Azure 数据库,并且在同一台服务器上创建了另一个数据库。之后,我创建了一个用户和一个相应的登录名(请参阅下面的脚本),目的是仅将其用于第二个数据库。运行我搜索过的脚本后(如下),第二个用户可以访问两个数据库。如何拒绝第二个用户访问第一个数据库?有DENYREVOKE,否认特定权利,但我不清楚应该使用哪个。

额外问题:是否可以创建一个只能访问第二个数据库的用户?

IF NOT EXISTS (SELECT 1 FROM master.sys.databases WHERE ('[' + name + ']' = '[Elmah5]'))
    CREATE DATABASE Elmah5;
GO

IF NOT EXISTS (SELECT 1 FROM sys.sql_logins  WHERE name = 'ElmahAdmin')
    CREATE LOGIN ElmahAdmin WITH PASSWORD = ''
GO

IF NOT EXISTS (SELECT 1 FROM sys.database_principals  WHERE name = 'ElmahAdmin')
    CREATE USER ElmahAdmin FOR LOGIN ElmahAdmin WITH DEFAULT_SCHEMA=[dbo]
GO
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


应该怎么做

  1. 使用您的主帐户连接。
  2. 将您当前的数据库切换到 MASTER(圈出,只需输入 MASTER 并按 ENTER)并运行

    IF NOT EXISTS (SELECT 1 FROM master.sys.databases …
    Run Code Online (Sandbox Code Playgroud)

sql-server azure-sql-database

4
推荐指数
1
解决办法
88
查看次数

标签 统计

azure-sql-database ×1

sql-server ×1