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
    • 最新
    • 标签
主页 / server / 问题 / 939343
Accepted
jdege
jdege
Asked: 2018-11-10 08:05:24 +0800 CST2018-11-10 08:05:24 +0800 CST 2018-11-10 08:05:24 +0800 CST

组策略是否可能干扰 Sql Server Express 安装?

  • 772

我们有一个软件包,我们的客户可以安装在他们用户的笔记本电脑上。

安装程序的一部分运行 MS 的 Sql Server Express 2014。

我们将命令行选项传递给应该启用 SA 登录的安装程序,并将 sqladmin 权限授予 Windows BUILTIN\Administrators 组。

我们运行的安装程序命令行:

SETUP.EXE /QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL /INSTANCENAME=SQLEXPRESS /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" /SECURITYMODE=SQL /SAPWD="ASecretPassword"

AIUI,/SECURITYMODE=SQL应该启用 SA 登录,/SQLSYSADMINACCOUNTS=应该授予 Windows 组的 sqladmin 权限。

关于这些论点的文档在这里:

从命令提示符安装 SQL Server

在我尝试的每台机器上,以及在客户的机器上,我都可以在我们的安装程序日志中准确地看到该命令行。

但在客户的机器上,这些论点似乎没有生效。

当我运行以下查询时:

SELECT name, is_disabled
    FROM master.sys.server_principals sp
    JOIN master.sys.server_role_members sr
    ON sr.member_principal_id = sp.principal_id
    WHERE sr.role_principal_id = 3

在我安装了软件的机器上,我看到:

name                           type_desc        is_disabled
sa                             SQL_LOGIN        False
BUILTIN\Administrators         WINDOWS_GROUP    False
NT SERVICE\SQLWriter           WINDOWS_LOGIN    False
NT SERVICE\Winmgmt             WINDOWS_LOGIN    False
NT Service\MSSQL$SQLEXPRESS    WINDOWS_LOGIN    False
DESKTOP1\KT Developer          WINDOWS_LOGIN    False

这是我所期望的。

但是当用户在他的域中的机器上运行相同的查询时,安装我们的软件后,他会看到:

name                           type_desc        is_disabled
sa                             SQL_LOGIN        True

尽管我们已将参数传递给 Sql Server Express 安装,告诉它启用 SA 登录并为 BUILTIN/Administrators 添加授权。我们不仅没有看到 SA 已启用,也没有授予 BUILTIN/Administrators 管理员权限,我们也没有看到授予标准 Windows 服务的权限。

此时,我已经准备好告诉客户问题出在他们自己的安全组策略上,并告诉他们需要更改策略,我们无能为力。

但在我这样做之前,我一直在寻找确认已安装的 Sql Express 数据库没有我们告诉安装程序创建的管理用户的唯一原因是客户自己的组策略阻止它。

谁能想到可能发生这种情况的任何其他原因?


一些额外的说明。

这是多年来一直为许多客户服务的应用程序和安装程序。在 Windows 1809 升级后,它停止为一位客户工作。

在干净的笔记本电脑上安装失败,全新安装了 Windows 10,并且没有安装其他软件。

windows
  • 1 1 个回答
  • 434 Views

1 个回答

  • Voted
  1. Best Answer
    jdege
    2018-11-14T12:04:19+08:002018-11-14T12:04:19+08:00

    好吧,事实证明,在这种情况下,就像在许多其他情况下一样,当用户在他做某事后报告发生的事情没有任何意义时,这是因为用户要么没有告诉你正在发生的事情,要么他没有告诉你他在做什么。

    在这种情况下,当用户安装到“干净”的机器上时,他正在安装的机器上安装了应用程序然后卸载,但没有卸载 SQL Server Express。

    我对 Sql Server Express 安装的更改以启用 SA 和 BUILTIN\Administrators 没有生效,不是因为安全策略,而是因为如果 SQL Server Express 安装程序已经存在,它就不会运行。

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve