SQL Server安装的命令行

时间:2012-10-03 10:44:10

标签: sql-server visual-studio deployment setup-deployment

我正在尝试创建一个安装带有密码的SQL实例的安装项目。我的要求是我希望在静默模式下完全安装,除了实例名称。有什么方法可以在我的命令行中提供任何命令,允许用户放置自己的实例名称?我尝试了2005年的/ qn,/ qb和2008年的/ qs,但它们显示了所有对话框。

提前致谢。

1 个答案:

答案 0 :(得分:0)

要在没有SQL Server安装窗口的情况下安装的参数是/Q,而不是/QS。参见Microsoft's documentation here.

要提供实例名称,您需要/INSTANCENAME参数。下面是一个示例,该示例介绍了如何在没有SQL Server窗口的情况下通过命令提示符安装SQL Server:

SETUP.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /FEATURES=SQL /INSTANCENAME=YourInstanceNameHere /SECURITYMODE=SQL /SAPWD="SQL Admin Password Here" /SQLSYSADMINACCOUNTS=""NT Authority\System"" /ADDCURRENTUSERASSQLADMIN=False

SETUP.exe = SQL Server安装文件

/ Q =静默安装

/ IACCEPTSQLSERVERLICENSETERMS =静默安装所需

/ ACTION =告诉安装程序安装SQL

/ FEATURES =告诉安装程序要安装哪些功能

/ INSTANCENAME =您希望您的SQL Server实例成为的名称

/ SECURITYMODE =告诉SQL使用SQL Server身份验证而不是Windows身份验证

/ SAPWD =创建SQL Server登录名的密码

/ SQLSYSADMINACCOUNTS =使用指定的管理员用户安装SQL

/ ADDCURRENTUSERASSQLADMIN =自我解释

这是一个从应用程序运行该过程的C#示例,请注意:像命令提示符一样,您的应用程序将需要以管理员身份运行:

        System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
        startInfo.CreateNoWindow = true;
        startInfo.UseShellExecute = false;
        startInfo.RedirectStandardError = true;
        startInfo.RedirectStandardOutput = true;
        startInfo.FileName = "path to SETUP.exe file";
        startInfo.Arguments = "the above mentioned arguments";

        System.Diagnostics.Process processObj = new System.Diagnostics.Process();
        processObj.StartInfo = startInfo;
        processObj.Start();                

        do
        {
            //refresh the process
            processObj.Refresh();

        } while (!processObj.WaitForExit(1000));

在SQL Server 2019和Visual Studio 2013上进行了测试。