AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 20706
Accepted
jcolebrand
jcolebrand
Asked: 2012-07-12 06:31:40 +0800 CST2012-07-12 06:31:40 +0800 CST 2012-07-12 06:31:40 +0800 CST

能否在 SQL Server 2008(或 R2)上禁用 Windows 身份验证登录?

  • 772

所以我们可以使用 Windows 登录或混合模式,但是我们可以将 SQL Server 配置为仅使用内部登录并阻止所有 Windows 登录吗?

添加所有潜在的 Windows 登录并将其设置为受限权限作为预防性(或反应性)过程的唯一解决方案是什么?

sql-server sql-server-2008
  • 2 2 个回答
  • 8510 Views

2 个回答

  • Voted
  1. georgeb
    2012-07-12T06:44:43+08:002012-07-12T06:44:43+08:00

    据我所知,无法在 SQL Server 2008 + R2 上禁用 Windows 身份验证:

    http://msdn.microsoft.com/en-us/library/ms144284%28v=sql.105%29.aspx

    唯一可以访问的 Windows 帐户是那些显式添加为登录名的帐户(或者是具有登录名的组的成员)。

    • 6
  2. Best Answer
    Jon Seigel
    2012-07-27T18:09:53+08:002012-07-27T18:09:53+08:00

    它不能完全禁用,原因有两个:

    • 安装时,会为NT AUTHORITY\SYSTEM、NT SERVICE\SQLSERVERAGENT(或包含 SQL 代理服务帐户NT SERVICE\MSSQLSERVER的组)和(或包含 SQL 数据库引擎服务帐户的组)提供登录名。这些是sysadminSQL Server 正常运行所需的级别登录。

      虽然快速测试显示删除所有这三个登录名只会阻止 SQL 代理重新启动(数据库引擎正常运行),但我确信还有其他函数依赖于其他两个登录名......它们是默认创建的是有原因的,所以我不会惹他们。(仅供参考,如果您自己对此进行测试:SSMS 中登录的 Drop & Create 脚本选项不会为服务器角色成员资格编写脚本。)

    • 在单用户模式下,sysadmin无论是否创建了“包含”这些用户的登录名,都会自动授予本地管理员权限。当您将钥匙锁在车内时,这是一个衣架。

    正如另一个答案中提到的,只有明确创建的 Windows 登录才能访问连接(我原来的评论不正确)——删除所有用户创建的 Windows 登录足以阻止访问。

    如果您需要更进一步并防止创建Windows 登录,这是一个起点(基于策略的管理,至少在 2008 年,不支持防止这种情况发生):

    CREATE TRIGGER trg_PreventWindowsLogins
        ON ALL SERVER
        AFTER CREATE_LOGIN
    AS
    BEGIN
    
        SET NOCOUNT ON;
        
        IF (EVENTDATA().exist('/EVENT_INSTANCE[1]/LoginType[1]/text()[1] eq "Windows (NT) Login"') = 1)
        BEGIN
            RAISERROR(N'Not allowed to create Windows logins!', 16, 1);
            ROLLBACK;
        END
        
    END
    

    当然,任何有足够权限的人都可以打败这个,但这是一个单独的问题......

    • 5

相关问题

  • 死锁的主要原因是什么,可以预防吗?

  • 我在索引上放了多少“填充”?

  • 是否有开发人员遵循数据库更改的“最佳实践”类型流程?

  • 如何确定是否需要或需要索引

  • 从 SQL Server 2008 降级到 2005

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve