代码之家  ›  专栏  ›  技术社区  ›  Jeff Dege

在无人参与安装SQL Server 2014 Express时,如何启用sa登录?

  •  1
  • Jeff Dege  · 技术社区  · 7 年前

    我有一个安装程序正在无人值守模式下运行SQL Server 2014 Express安装程序。

    我的问题是,我需要能够连接到安装的实例作为管理员使用SQLServer身份验证。

    /SECURITY MODE=SQL . 我可以创建一个SQL登录并成功登录,这样部分问题就可以正常工作了。

    我的问题是 sa 在里面 sys.server_principals ,标记为 is_disabled

    在无人值守地运行SQL Server 2014安装时,是否有方法传递命令行参数以使其启用 南非 所以我可以用它成功登录?

    或者其他登录方式,如果方便的话。

    我需要的是一个 sql_login 在无人参与模式下运行安装程序后,我可以使用它作为数据库管理员连接到数据库,而不考虑登录的windows用户的权限。

    完整的命令行参数:

    /QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL 
        /INSTANCENAME=SQLEXPRESS /SAPWD="SQLSVCPASSWORD"
    

    如果我使用管理员帐户登录到Windows,我可以使用Windows身份验证连接到数据库。然后我可以创建一个普通的SQL Server登录。这样,我就可以使用SQLServer身份验证和该帐户登录。

    Exec xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'
    

    返回“2”。

    所以我需要SQL管理权限,而不依赖于windows用户具有提升的权限。

    ===

    我使用的安装工具是使用XML文件配置的,其中包含构建和运行Windows安装程序包命令行的LUA脚本。在嵌套语言和各种级别的转义之间,我没有注意到“/SECURITYMODE=SQL”参数被注释掉了,并且没有包含在命令行中。

    命令行中包含了“sa”用户。

    如果希望在安装后启用“sa”用户,请在命令行中包含“/SECURITYMODE=SQL”。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Huske Metalhead1247    7 年前

    您需要指定 /SAPWD /SECURITYMODE=SQL . 我不确定,但如果您不指定密码,它将在默认情况下被禁用。

    看看这篇文章 https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt?view=sql-server-2017