我有一个 Azure 数据库,并且在同一台服务器上创建了另一个数据库。之后,我创建了一个用户和一个相应的登录名(请参阅下面的脚本),目的是仅将其用于第二个数据库。运行我搜索过的脚本后(如下),第二个用户可以访问两个数据库。如何拒绝第二个用户访问第一个数据库?有DENY和REVOKE,否认特定权利,但我不清楚应该使用哪个。
额外问题:是否可以创建一个只能访问第二个数据库的用户?
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)
将您当前的数据库切换到 MASTER(圈出,只需输入 MASTER 并按 ENTER)并运行
IF NOT EXISTS (SELECT 1 FROM master.sys.databases …Run Code Online (Sandbox Code Playgroud)