美创科技运维中心最近接到一个任务,某大佬需要100台服务器来测试下他的产品的负荷能力,这一百台机子要装上对应的数据库,Oracle,Mysql,Mssql都行。
诶,假如你有100台服务器需要安装SQL Server,如果你用图形化下一步下一步的方式,用远程桌面不停切换,那个效率……于是,机智的美创人想到了SQL Server对应的静默安装
大家都知道SQL Server可以使用静默方式来安装,就是不使用GUI的方式来安装,下面向大家做一些简单介绍:
目前SQL Server静默安装适用于:SQL Server 2008、SQL Server 2008 R2以及之后推出的版本。
静默安装的原理:看过《SQL2012实施与管理实战指南》的童鞋都知道,SQL Server 的安装程序实际上就是一个“工作流”。
当你在界面上配置后参数之后,就会在最后生成一个ConfigurationFile.ini文件,SQLSERVER安装程序就按照这个ConfigurationFile.ini文件的配置去进行安装的。
静默安装的核心:首先根据项目配置安装好一台服务器,那些服务需要安装,那些服务不需要安装,然后把生成的ConfigurationFile.ini文件拷贝出来,放到其他服务器上,这个ConfigurationFile.ini文件实际上相当于一个模板,其他服务器按照这个模板来进行安装。
好了,说了那么多,那让小编做个实验向大家展示下真正的技术吧!
01 环境准备
前提:准备两台虚拟机。SQL Server版本一样,操作系统版本最好也一样。所有机器的路径,设置数据存放的文件夹也要一样,保持路径一致。
测试环境:SQL Server 2008 R2 数据库安装包、Windows Server 2008 R2 企业版的操作系统。
02 资料准备
资料:我还是觉得MSDN最好,MSDN已经有例子了(参考文献在最下面),虽然是纯文字方式的呈现,但也十分具体。从MSDN文档可以知道,静默安装不但只可以用在安装SQL Server,还可以升级SQL Server实例,卸载SQL Server实例、组件,安装故障转移集群,都可以使用静默的方式进行。当然,小编今天主要向大家展示下如何静默安装SQL Server。
03 注意事项
注意:如果ConfigurationFile.ini配置文件中有跟命令行输入的参数一致的,会优先使用命令行的参数。
比如:如果你在命令行里指定了参数,又在配置文件里指定了参数。那么SQLSERVER会选择使用命令行指定的参数而不会使用配置文件指定的参数。
举个例子:
如果在命令行里指定了参数 /SAPWD=”Hzmc321″,而在配置文件里又指定了参数SAPWD=”hzmc123″,那么SQL Server只会将SA的密码设置为Hzmc321。
这次实验用到的ConfigurationFile.ini配置文件,这个配置文件是在我在A服务器上设置好参数生成的ConfigurationFile.ini文件,我把他的关键参数拷贝出来供大家参考。
04 正式开始
先检查对应环境:确认前提条件我觉得是DBA的基本功,要扎实和仔细。
SQL Server和Windows操作系统是十分贴合的,对应版本装同版本的数据库软件是最好的,如Windows Server 2008 R2操作系统安装SQL Server 2008 R2数据库软件。
还要确认数据库软件的安装前置条件:2008版本的SQL Server软件需要.NET 3.5的支持:
下面的安装步骤会忽略部分截图:
选择64位。
输入产品密钥。
选择我们需要的功能项。
选择默认实例,实例根目录选择在D盘,这样意味着默认的备份文件,数据文件,日志都会放在D盘的相应目录。
这一步是检测磁盘空间的,一般不会有问题,直接下一步。
下一步,服务都设置为自动启动,其实服务的启动帐号和启动类型设置错了,在安装完毕之后都可以修改的,不用担心。
下一步。
下一步,使用混合身份验证,SA的密码为test,添加当前计算机帐户Administrator为sysadmin的服务器角色。
下一步。
下一步。
下一步。
下一步。
下一步,最关键的一步来了!
我们把配置文件路径下的ConfigurationFile.ini配置文件拷贝出来。
ConfigurationFile.ini文件的内容:
SA的密码为Hzmc321,混合身份验证,下面三个服务的启动方式都为自动,分别是Sqlserver、sql agent、sql browser。
05 开始静默安装
在第二台机器上静默安装SQLSERVER
1. 我们把ConfigurationFile.ini文件放在第二台虚拟机的桌面
2. 再次检查对应的环境:.NET 3.5的安装,Windows的版本,SQL Server安装包的版本
这一切就绪之后,把下面的的语句放入cmd里执行。
setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SECURITYMODE=SQL/SAPWD=”Hzmc321#” /CONFIGURATIONFILE=.\ConfigurationFile.ini
注意下面的参数必须要指定的:
/q:完全没有界面的静默安装参数。
/qs:有界面,界面只是作为显示进度的用途。
/IACCEPTSQLSERVERLICENSETERMS:接受许可条款。
/PID:产品密钥 ,指定 SQL Server 版本的产品密钥。如果未指定此参数,则将使用 Evaluation版本。
安装需要等待一段时间,这时候你就可以继续安装其他的服务器了。
06 安装完的注意项
安装好后,有几个地方需要关注的:
(1)已经开启混合验证:使用SA登录SSMS。
(2)Windows登录用户的用户名是不是 当前计算机名\Administrator。
(3)sqlserver、 sql agent、 sql browser 这些服务的启动帐号,是否设置正确,这些服务是否已经启动。
关于权限:
SQL Server服务如果不是localsystem,是没有读取磁盘文件的权限的。
SQL Server服务如果不是networkservice,是没有读取网络文件的权限的。
客户要求一般都是只需要设置SQL Server服务启动帐号和 sql agent启动帐号为localsystem就可以了。
我们去验证下上述我们说的:
其中(1)和(2)我们打开SSMS,验证混合验证方式和Windows登陆属性。
(3)我们打开MSSQL的服务管理器,检查对应的服务是否启动。
好的,我们可以看到对应的服务都启动了,SSMS(数据库管理系统)也可以正常使用,SQL Server 2008 R2数据库安装完毕!!
07 小结
怎么样,静默安装是不是没有大家想像的那么复杂,相比于GUI的安装,SQL Server的CMD命令行的确在某些方面逊色了些,(没有明显进度详细说明,有些安装错误没有对应报错,要去errorlog里寻找解决办法),但是有了静默安装我们就可以非常方便的批量安装SQLSERVER,不用再傻傻守着显示器前面了!
小编本人一开始也以为静默安装非常难用,后来安装了几次,也有几次报错,想放弃了,但是最后都可以安装成功,以后部署SQL Server就不用下一步,下一步的设置了,非常方便!
参考文献:
https://docs.microsoft.com/zh-cn/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt?redirectedfrom=MSDN&view=sql-server-ver15#Install
https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008/dd239405%28v%3dsql.100%29
《SQL2012实施与管理实战指南》
美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案。
来源:freebuf.com 2020-06-04 17:56:59 by: database
请登录后发表评论
注册