禁用的服务器范围 Azure SQL 用户仍然能够登录

问题描述 投票:0回答:1

我想阻止 SQL 登录的整个访问,但服务器一直接受他的凭据。

我错过了什么?

这些是使用的脚本:

-- Master

CREATE LOGIN pmp
    WITH PASSWORD = 'xxx'
GO

-- User database

CREATE USER pmp
    FOR LOGIN pmp
    WITH DEFAULT_SCHEMA = dbo
GO

EXEC sp_addrolemember N'db_owner', N'pmp'
GO

-- Master

ALTER LOGIN pmp DISABLE
GO

对象资源管理器

Object Explorer

sql-server azure-sql-database
1个回答
1
投票

只有当您创建服务器登录名,然后创建包含数据库用户,但该数据库用户未连接到主服务器中的登录名时,才会发生这种情况。包含的数据库用户不依赖于服务器级别的登录。您需要使用“FOR LOGIN”子句创建用户,该子句将数据库级别的用户连接到服务器级别的登录名。

创建用于在该服务器上创建的数据库的服务器登录名的正确语法如下:

-- On master database
CREATE LOGIN TestUser
    WITH PASSWORD = 'ThisIsAStrongPassword!' 
GO

CREATE USER TestUser
    FOR LOGIN TestUser
    WITH DEFAULT_SCHEMA = dbo
GO

-- create user on database level

CREATE USER TestUser
    FOR LOGIN TestUser
    WITH DEFAULT_SCHEMA = dbo
GO
© www.soinside.com 2019 - 2024. All rights reserved.