• 售前

  • 售后

热门帖子
入门百科

利用脚本自动安装SQLServer的实现步调分析

[复制链接]
井底燕雀傥 显示全部楼层 发表于 2021-10-26 13:04:11 |阅读模式 打印 上一主题 下一主题
每当这种环境发生的时候,我总会心里默念道:杯具啊,这辈子也装不完了。由于SQL Server的安装还是比较复杂的,要先安装.Net、Windows Installer,在正式安装的过程中还要交互的填写各种参数,固然这个还不包罗拷贝3GB多的安装文件的时间。在经历了几次如许的悲剧之后,我果断的意识到必须研究一下写个脚本改变这个暴虐的现实。

前段时间会学校结业答辩我终于暂时离开了繁重的工作,能找个时间研究一下脚本了。刚开始实行这个脚本的时候,由于同学喊我打游戏,我就偷懒没准备实行环境,直接用我的本子跑了安装程序,然后就切到游戏去了。结果厥后还造成了我本子的系统出现了很难表明的错误,具体的环境我写在上篇BLOG里了,悲剧的《BITS服务异常引发CPU满载》。凄惨的教训告诉我们,作实行还是要虚拟机里做比较安全。

实行环境:

在VMware内里装了个Windows server 2003 企业版 X86 SP2,用的是SQL Server 2008 R2。安装文件解压后生存虚拟机快照,生存下这个纯净的系统环境,如许可以随时还原回来,重新实行。

主动化脚本:

Setup.exe /QS

Setup.exe /QS /ACTION=Install /IACCEPTSQLSERVERLICENSETERMS
/FEATURES=SQLEngine,IS,SSMS /INSTANCENAME=MSSQLSERVER
/INSTALLSQLDATADIR="D:\sqlserverdata" /AGTSVCACCOUNT="SYSTEM"
/AGTSVCSTARTUPTYPE="Disabled" /SQLSVCACCOUNT="SYSTEM"
/SQLSVCSTARTUPTYPE="Automatic" /ISSVCACCOUNT="SYSTEM"
/ISSVCStartupType="Automatic" /ISSVCACCOUNT="LOCAL SERVICE"
/ISSVCStartupType="Automatic" /SQLSYSADMINACCOUNTS="hanxu"

pause


整个脚本最主要的部门就是上面的两段,实在安装并把参数通报进去本来只须要一行。但是由于SQL Server的安装过程比较特殊,所以须要分为两行来写。真正的安装须要先安装.NET补丁和Windows Installer的补丁,在安装完毕Windows Installer之后整个程序会中断。所以第一行的那个不带很长参数的就是为了触发安装.NET补丁和Windows Installer的补丁。这两个补丁被安装之后程序会中断,所以这里也不须要附带很长的参数。第二行那个带很长参数的才是真正的SQL Server的安装过程。

在这个很长的一大串参数内里,实在归纳一下也还是有规律的。

起首就是/QS /ACTION=Install /IACCEPTSQLSERVERLICENSETERMS,这些参数用于设定安装模式、同意授权协议。

然后,/FEATURES=SQLEngine,IS,SSMS /INSTANCENAME=MSSQLSERVER /INSTALLSQLDATADIR="D:\sqlserverdata"这些参数设定安装的组件和实例信息。

这里有一点的以为须要阐明一下的,脚本安装时支持设定Windows和SQL认证的,假如什么参数都不填就是默认Windows认证。我这里剧烈建议用Windows认证方式,假如须要SQL认证可以等安装完毕之后再设定验证模式,假如在脚本内里设定SQL验证的话,内里会记录有sa账户暗码。假如脚本丢失,大量的机器都是用这个脚本安装的,那个就不消表明白,悲剧……

再下面的一段就是纯粹的服务设定了,SQL Server的许多功能都是以服务的方式运行的,所以就要给他们赋予相应的启动方式(主动、禁止等)。还有就是对服务给予适当的启动账户(系统账户、当地服务、域权限等)。权限给低了许多权限不够,权限给高了会影响安全性,这个也要综合考虑。

最后就是/SQLSYSADMINACCOUNTS="hanxu",给SQL的sysadmin添加一个账户用于登陆。

关于其他优化:

1.SQL Server的安装盘内里包含了X86、X64、AI64这3个版本,假如只用到其中的一个构架的版本,可以把存放其他版本安装文件的个文件夹给直接删了,然后再打包,如许能精简安装包。

2.我这个气力脚本式对应SQL Server 2008的,假如是之前的版本大概须要打补丁。可以把补丁文件也整合进脚本,然后走脚本主动安装。我实行过一个脚本安装了SQL Server 2008和它的SP1补丁,这个很方便。

3.SQL Server不同版本之间的脚本在参数上有小的差异,这里推荐用虚拟机快照生存最初状态,然后渐渐反复实行。假如有错误,脚本会在下令行里给堕落误参数。具体的参数查询可以利用/help下令大概去MSDN查询。

用了主动化脚本还是很爽的,原来手动安装半小时的活,现在点一下鼠标就行了。乃至可以给脚本加的主动重启的下令,点下鼠标,半小时之厥后直接就能用了。话说为了写这个脚本,我用虚拟机实行了也就几十、二十次的样子,彻夜了一个晚上,不过对于我这种经常大量安装使命的人来说,可以说是一次投资终身受用。这里分享给各人,希望对各人有所资助。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作