You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已禁用的Azure SQL服务器级用户仍可登录,如何彻底阻止其访问?

问题:禁用SQL登录账号后,指定数据库仍可连接访问

我想要彻底阻止某个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)

对象资源管理器截图


解决方案

仅禁用登录账号不足以彻底阻止访问,需结合以下操作实现完全限制:

  1. 清除数据库映射权限
    在对应的用户数据库中执行以下任一操作:

    USE [你的用户数据库名]
    GO
    -- 方式1:彻底删除数据库用户,清除登录与数据库的映射关系
    DROP USER pmp
    GO
    
    -- 方式2:若需保留用户但禁止连接,执行权限拒绝
    DENY CONNECT TO pmp
    GO
    
  2. 拒绝服务器级连接权限
    在master数据库中执行,从根源阻止该账号登录服务器:

    USE master
    GO
    DENY CONNECT SQL TO pmp
    GO
    
  3. 验证禁用状态
    可通过以下脚本确认登录的禁用状态:

    SELECT name, is_disabled FROM sys.server_principals WHERE name = 'pmp'
    

执行以上操作后,该账号无论是否指定数据库,都无法再连接到SQL Server。

内容的提问来源于stack exchange,提问作者Sergio Jr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 22:07:23