您还在用下一步下一步的方式安装SQLSERVER和SQLSERVER补丁吗?(一)

介绍

假如你有50台服务器需要安装SQLSERVER,如果你用下一步下一步的方式,用远程桌面不停切换,那个效率。。。

大家都知道SQLSERVER可以使用静默方式来安装,就是不使用GUI的方式来安装,下面做一些简单介绍

静默安装适合于:SQL2008、SQL2008R2、SQL2012

静默安装的原理:看过《SQL2012实施与管理实战指南》的童鞋都知道,SQLSERVER的安装程序实际上就是一个“工作流”

当你在界面上配置后参数之后,就会在最后生成一个ConfigurationFile.ini文件,SQLSERVER安装程序就按照这个

ConfigurationFile.ini文件的配置去进行安装

092121014576

静默安装的核心首先根据项目配置安装好一台服务器,那些服务需要安装,那些服务不需要安装,然后把生成的ConfigurationFile.ini文件

拷贝出来,放到其他服务器上,这个ConfigurationFile.ini文件实际上相当于一个模板,其他服务器按照这个模板来进行安装

环境

本人一开始以为静默安装非常难用,后来安装了几次,也有几次报错,想放弃了,但是最后都可以安装成功

以后部署SQLSERVER就不用下一步,下一步了,非常方便o(∩_∩)o

前提:

SQLSERVER版本要一样

操作系统版本最好也一样

两台机器的路径,设置数据存放的文件夹也要一样,保持路径一致

测试环境:SQLSERVER2008R2 、WindowsXP SP3 、vmware workstation 8虚拟机

我发现网上有很多的教程,教你进行SQLSERVER静默安装,最后我还是觉得msdn最好,msdn已经有例子了

msdn网址:
从命令提示符安装 SQL Server 2012

使用配置文件安装 SQL Server 2012

从上面的msdn文档可以知道,静默安装不但只可以用在安装SQLSERVER,还可以升级SQLSERVER实例,卸载SQLSERVER实例、组件,安装故障转移集群

都可以使用静默的方式进行

注意

如果ConfigurationFile.ini配置文件中有跟命令行输入的参数一致的,会优先使用命令行的参数

比如:如果你在命令行里指定了参数,又在配置文件里指定了参数

那么SQLSERVER会选择使用命令行指定的参数而不会使用配置文件指定的参数

举个例子:
如果在命令行里指定了参数 /SAPWD="test",而在配置文件里又指定了参数SAPWD="test11",那么SQLSERVER只会将sa的密码设置为test

这次实验用到的ConfigurationFile.ini配置文件,这个配置文件是在我在A服务器上设置好参数生成的ConfigurationFile.ini文件,我把他
拷贝出来供大家参考

;SQLSERVER2008 Configuration File
[SQLSERVER2008]
 
; 为您已指定的 SQL Server 功能指定实例 ID。SQL Server 目录结构、注册表结构和服务名称将反映 SQL Server 实例的实例 ID。 
 
INSTANCEID="MSSQLSERVER"
 
; 指定安装程序的工作流,如 INSTALL、UNINSTALL 或 UPGRADE。这是必需的参数。 
 
ACTION="Install"
 
; 指定要安装、卸载或升级的功能。顶级功能列表包括 SQL、AS、RS、IS 和工具。SQL 功能将安装数据库引擎、复制和全文。工具功能将安装管理工具、联机丛书、Business Intelligence Development Studio 和其他共享组件。 
 
FEATURES=SQLENGINE,CONN,IS,BC,SDK,SSMS,ADV_SSMS,SNAC_SDK
 
; 显示命令行参数用法 
 
HELP="False"
 
; 指定应将详细的安装程序日志传送到控制台。 
 
INDICATEPROGRESS="False"
 
; 安装程序将不会显示任何用户界面。 
 
QUIET="False"
 
; 安装程序将只显示进度,不需要任何用户交互。 
 
QUIETSIMPLE="False"
 
; 指定安装程序应该安装到 WOW64 中。IA64 或 32 位系统不支持此命令行参数。 
 
X86="False"
 
; 尚未定义命令行参数 ENU 的详细帮助。 
 
ENU="False"
 
; 用于控制用户界面行为的参数。有效值对于完整 UI 为 Normal,对于简化的 UI 为 AutoAdvance。 
 
UIMODE="Normal"
 
; 指定是否可将错误报告给 Microsoft 以便改进以后的 SQL Server 版本。指定 1 或 True 将启用此功能,指定 0 或 False 将禁用此功能。 
 
ERRORREPORTING="False"
 
; 指定本机共享组件的安装根目录。 
 
INSTALLSHAREDDIR="d:\Program Files\Microsoft SQL Server"
 
; 指定安装目录。 
 
INSTANCEDIR="d:\Program Files\Microsoft SQL Server"
 
; 指定可以收集 SQL Server 功能使用情况数据,并将数据发送到 Microsoft。指定 1 或 True 将启用此功能,指定 0 或 False 将禁用此功能。 
 
SQMREPORTING="False"
 
; 指定默认实例或命名实例。MSSQLSERVER 是非 Express 版本的默认实例,SQLExpress 则是 Express 版本的默认实例。在安装 SQL Server 数据库引擎(SQL)、Analysis Services (AS)或 Reporting Services (RS)时,此参数是必需的。 
 
INSTANCENAME="MSSQLSERVER"
 
; 代理帐户名 
 
AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
 
; 安装后自动启动服务。  
 
AGTSVCSTARTUPTYPE="Manual"
 
; Integration Services 的启动类型。 
 
ISSVCSTARTUPTYPE="Automatic"
 
; Integration Services 的帐户: 域\用户或系统帐户。 
 
ISSVCACCOUNT="NT AUTHORITY\NetworkService"
 
; 在创建服务后控制服务启动类型设置。 
 
ASSVCSTARTUPTYPE="Automatic"
 
; Analysis Services 要使用的排序规则。 
 
ASCOLLATION="Latin1_General_CI_AS"
 
; Analysis Services 数据文件的位置。 
 
ASDATADIR="Data"
 
; Analysis Services 日志文件的位置。 
 
ASLOGDIR="Log"
 
; Analysis Services 备份文件的位置。 
 
ASBACKUPDIR="Backup"
 
; Analysis Services 临时文件的位置。 
 
ASTEMPDIR="Temp"
 
; Analysis Services 配置文件的位置。 
 
ASCONFIGDIR="Config"
 
; 指定是否允许 MSOLAP 访问接口在进程中运行。 
 
ASPROVIDERMSOLAP="1"
 
; 用于连接 SharePoint 管理中心 Web 应用程序的端口号。 
 
FARMADMINPORT="0"
 
; SQL Server 服务的启动类型。 
 
SQLSVCSTARTUPTYPE="Automatic"
 
; 启用 FILESTREAM 功能的级别(0123)。 
 
FILESTREAMLEVEL="0"
 
; 设置为 "1" 可为 SQL Server Express 启用 RANU。 
 
ENABLERANU="False"
 
; 指定要用于数据库引擎的 Windows 排序规则或 SQL 排序规则。 
 
SQLCOLLATION="Chinese_PRC_CI_AS"
 
; SQL Server 服务的帐户: 域\用户或系统帐户。 
 
SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
 
; 要设置为 SQL Server 系统管理员的 Windows 帐户。 
 
SQLSYSADMINACCOUNTS=".\Administrator"
 
; 默认值为 Windows 身份验证。使用 "SQL" 表示采用混合模式身份验证。 
 
SECURITYMODE="SQL"
 
;指定 SQL Server sa 帐户的密码
 
SAPWD="test"
 
; 将当前用户设置为 SQL Server 2008 R2 Express 的数据库引擎系统管理员。 
 
 
ADDCURRENTUSERASSQLADMIN="False"
 
; 指定 0 禁用 TCP/IP 协议,指定 1 则启用该协议。 
 
TCPENABLED="1"
 
; 指定 0 禁用 Named Pipes 协议,指定 1 则启用该协议。 
 
NPENABLED="0"
 
; Browser 服务的启动类型。 
 
BROWSERSVCSTARTUPTYPE="Automatic"
 
;指定 SQL Server 代理服务的启动模式。
 
AGTSVCSTARTUPTYPE="Automatic"
 
;指定 SQL Server 服务的启动模式。
 
SQLSVCSTARTUPTYPE="Automatic"
 
; 指定报表服务器 NT 服务的启动模式。
; 手动 - 在手动模式(默认值)下启动服务。
; 自动 - 在自动模式下启动服务。
; 已禁用 - 服务处于禁用状态 
 
RSSVCSTARTUPTYPE="Automatic"
 
; 指定报表服务器的安装模式。
; 默认值: “FilesOnly”  
 
RSINSTALLMODE="FilesOnlyMode"

正式开始

计算机配置
092147433633

记住:在做下面的步骤之前一定要先创建一个虚拟机快照!!
092205376447

下面的步骤会忽略部分截图
291433518914039

291433429371575

291433275949728

092148285510

下一步
092148598638

下一步
092149383791

下一步

只选择必要功能,这里有一个很奇怪的地方,我选择了共享功能目录在D盘,但是在下面的磁盘空间要求那一步还是显示在C盘

不知道是不是SQLSERVER的bug???
092151037076

下一步
092151346135

下一步

选择默认实例,实例根目录选择在D盘,这样意味着默认的备份文件,数据文件,日志都会放在D盘的相应目录
092152053639

下一步
092153163481

下一步

服务都设置为自动启动,其实服务的启动帐号和启动类型设置错了,在安装完毕之后都可以修改的,不用担心
092200457232

092201367548

下一步

使用混合身份验证,sa的密码为test,添加当前计算机帐户administrator为sysadmin角色
092203217238

092204092857

092204209105

下一步
错误报告不勾选

092207281912

下一步
092208259739

下一步
最关键的一步来了
092209570510

092210031448

我们把C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20140109_214523\ConfigurationFile.ini配置文件
拷贝出来
真实的环境我们当然是马上点击“安装”按钮进行安装,我们这里不进行安装了
092213242549

安装程序一直在运行
092213387073

ConfigurationFile.ini文件的内容:sa的密码为test,混合身份验证,下面三个服务的启动方式都为自动

sqlserver
sql agent
sql browser
1 ;SQLSERVER2008 Configuration File
  2 [SQLSERVER2008]
  3 
  4 ; 为您已指定的 SQL Server 功能指定实例 ID。SQL Server 目录结构、注册表结构和服务名称将反映 SQL Server 实例的实例 ID。 
  5 
  6 INSTANCEID="MSSQLSERVER"
  7 
  8 ; 指定安装程序的工作流,如 INSTALL、UNINSTALL 或 UPGRADE。这是必需的参数。 
  9 
 10 ACTION="Install"
 11 
 12 ; 指定要安装、卸载或升级的功能。顶级功能列表包括 SQL、AS、RS、IS 和工具。SQL 功能将安装数据库引擎、复制和全文。工具功能将安装管理工具、联机丛书、Business Intelligence Development Studio 和其他共享组件。 
 13 
 14 FEATURES=SQLENGINE,CONN,IS,BC,SDK,SSMS,ADV_SSMS,SNAC_SDK
 15 
 16 ; 显示命令行参数用法 
 17 
 18 HELP="False"
 19 
 20 ; 指定应将详细的安装程序日志传送到控制台。 
 21 
 22 INDICATEPROGRESS="False"
 23 
 24 ; 安装程序将不会显示任何用户界面。 
 25 
 26 QUIET="False"
 27 
 28 ; 安装程序将只显示进度,不需要任何用户交互。 
 29 
 30 QUIETSIMPLE="False"
 31 
 32 ; 指定安装程序应该安装到 WOW64 中。IA64 或 32 位系统不支持此命令行参数。 
 33 
 34 X86="False"
 35 
 36 ; 尚未定义命令行参数 ENU 的详细帮助。 
 37 
 38 ENU="False"
 39 
 40 ; 用于控制用户界面行为的参数。有效值对于完整 UI 为 Normal,对于简化的 UI 为 AutoAdvance。 
 41 
 42 UIMODE="Normal"
 43 
 44 ; 指定是否可将错误报告给 Microsoft 以便改进以后的 SQL Server 版本。指定 1 或 True 将启用此功能,指定 0 或 False 将禁用此功能。 
 45 
 46 ERRORREPORTING="False"
 47 
 48 ; 指定本机共享组件的安装根目录。 
 49 
 50 INSTALLSHAREDDIR="d:\Program Files\Microsoft SQL Server"
 51 
 52 ; 指定安装目录。 
 53 
 54 INSTANCEDIR="d:\Program Files\Microsoft SQL Server"
 55 
 56 ; 指定可以收集 SQL Server 功能使用情况数据,并将数据发送到 Microsoft。指定 1 或 True 将启用此功能,指定 0 或 False 将禁用此功能。 
 57 
 58 SQMREPORTING="False"
 59 
 60 ; 指定默认实例或命名实例。MSSQLSERVER 是非 Express 版本的默认实例,SQLExpress 则是 Express 版本的默认实例。在安装 SQL Server 数据库引擎(SQL)、Analysis Services (AS)或 Reporting Services (RS)时,此参数是必需的。 
 61 
 62 INSTANCENAME="MSSQLSERVER"
 63 
 64 ; 代理帐户名 
 65 
 66 AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
 67 
 68 ; 安装后自动启动服务。  
 69 
 70 AGTSVCSTARTUPTYPE="Manual"
 71 
 72 ; Integration Services 的启动类型。 
 73 
 74 ISSVCSTARTUPTYPE="Automatic"
 75 
 76 ; Integration Services 的帐户: 域\用户或系统帐户。 
 77 
 78 ISSVCACCOUNT="NT AUTHORITY\NetworkService"
 79 
 80 ; 在创建服务后控制服务启动类型设置。 
 81 
 82 ASSVCSTARTUPTYPE="Automatic"
 83 
 84 ; Analysis Services 要使用的排序规则。 
 85 
 86 ASCOLLATION="Latin1_General_CI_AS"
 87 
 88 ; Analysis Services 数据文件的位置。 
 89 
 90 ASDATADIR="Data"
 91 
 92 ; Analysis Services 日志文件的位置。 
 93 
 94 ASLOGDIR="Log"
 95 
 96 ; Analysis Services 备份文件的位置。 
 97 
 98 ASBACKUPDIR="Backup"
 99 
100 ; Analysis Services 临时文件的位置。 
101 
102 ASTEMPDIR="Temp"
103 
104 ; Analysis Services 配置文件的位置。 
105 
106 ASCONFIGDIR="Config"
107 
108 ; 指定是否允许 MSOLAP 访问接口在进程中运行。 
109 
110 ASPROVIDERMSOLAP="1"
111 
112 ; 用于连接 SharePoint 管理中心 Web 应用程序的端口号。 
113 
114 FARMADMINPORT="0"
115 
116 ; SQL Server 服务的启动类型。 
117 
118 SQLSVCSTARTUPTYPE="Automatic"
119 
120 ; 启用 FILESTREAM 功能的级别(0123)。 
121 
122 FILESTREAMLEVEL="0"
123 
124 ; 设置为 "1" 可为 SQL Server Express 启用 RANU。 
125 
126 ENABLERANU="False"
127 
128 ; 指定要用于数据库引擎的 Windows 排序规则或 SQL 排序规则。 
129 
130 SQLCOLLATION="Chinese_PRC_CI_AS"
131 
132 ; SQL Server 服务的帐户: 域\用户或系统帐户。 
133 
134 SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
135 
136 ; 要设置为 SQL Server 系统管理员的 Windows 帐户。 
137 
138 SQLSYSADMINACCOUNTS=".\Administrator"
139 
140 ; 默认值为 Windows 身份验证。使用 "SQL" 表示采用混合模式身份验证。 
141 
142 SECURITYMODE="SQL"
143 
144 ;指定 SQL Server sa 帐户的密码
145 
146 SAPWD="test"
147 
148 ; 将当前用户设置为 SQL Server 2008 R2 Express 的数据库引擎系统管理员。 
149 
150 
151 ADDCURRENTUSERASSQLADMIN="False"
152 
153 ; 指定 0 禁用 TCP/IP 协议,指定 1 则启用该协议。 
154 
155 TCPENABLED="1"
156 
157 ; 指定 0 禁用 Named Pipes 协议,指定 1 则启用该协议。 
158 
159 NPENABLED="0"
160 
161 ; Browser 服务的启动类型。 
162 
163 BROWSERSVCSTARTUPTYPE="Automatic"
164 
165 ;指定 SQL Server 代理服务的启动模式。
166 
167 AGTSVCSTARTUPTYPE="Automatic"
168 
169 ;指定 SQL Server 服务的启动模式。
170 
171 SQLSVCSTARTUPTYPE="Automatic"
172 
173 ; 指定报表服务器 NT 服务的启动模式。
174 ; 手动 - 在手动模式(默认值)下启动服务。
175 ; 自动 - 在自动模式下启动服务。
176 ; 已禁用 - 服务处于禁用状态 
177 
178 RSSVCSTARTUPTYPE="Automatic"
179 
180 ; 指定报表服务器的安装模式。
181 ; 默认值: “FilesOnly”  
182 
183 RSINSTALLMODE="FilesOnlyMode"

ConfigurationFile.ini文件里的关键参数

; 指定要用于数据库引擎的 Windows 排序规则或 SQL 排序规则。 
 
SQLCOLLATION="Chinese_PRC_CI_AS"
 
; SQL Server 服务的帐户: 域\用户或系统帐户。 
 
SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
 
; 要设置为 SQL Server 系统管理员的 Windows 帐户。 
 
SQLSYSADMINACCOUNTS=".\Administrator"
 
; 默认值为 Windows 身份验证。使用 "SQL" 表示采用混合模式身份验证。 
 
SECURITYMODE="SQL"
 
;指定 SQL Server sa 帐户的密码
 
SAPWD="test"

SQLSYSADMINACCOUNTS=".\Administrator"指明了使用当前机器的计算机名,这样就不会因为第一台机器的计算机名复制到其他机器里

在第二台机器上安装SQLSERVER

我们回到快照的时间
092215384886

092215468017

假设我们现在在第二台机器上了,计算机名还是

092147433633

我们把ConfigurationFile.ini文件放在桌面
092218384734

我们在SQLSERVER安装文件夹下,新建一个txt文件
内容输入cmd.exe
092223395199

保存并关闭,然后修改后缀名为bat
092224434106

双击执行这个bat文件
把下面的的语句放入cmd里执行
092229379886

Setup.exe /q /ACTION=Install  /PID="GYF3T-H2V88-GRPPH-HWRJP-QRTYB"  /IACCEPTSQLSERVERLICENSETERMS   /ConfigurationFile="C:\Documents and Settings\Administrator\桌面\ConfigurationFile.ini"

注意下面的参数必须要指定的:

/q:完全没有界面

/qs:有界面,界面只是作为显示进度的用途

/IACCEPTSQLSERVERLICENSETERMS:接受许可条款

/PID:产品密钥 指定 SQL Server 版本的产品密钥。如果未指定此参数,则将使用 Evaluation。

马上进行安装
092301218166

092235413325

安装需要等待一段时间,这时候你就可以继续安装其他的服务器了

经过漫长的等待,SQLSERVER2008R2安装好了

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 68 queries in 0.426 seconds