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

每当这种情况发生的时候,我总会心里默念道:杯具啊,这辈子也装不完了。因为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查询。

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

时间: 2024-12-02 23:19:17

利用脚本自动安装SQLServer的实现步骤分析_MsSql的相关文章

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

每当这种情况发生的时候,我总会心里默念道:杯具啊,这辈子也装不完了.因为SQL Server的安装还是比较复杂的,要先安装.Net.Windows Installer,在正式安装的过程中还要交互的填写各种参数,当然这个还不包括拷贝3GB多的安装文件的时间.在经历了几次这样的悲剧之后,我果断的意识到必须研究一下写个脚本改变这个残酷的现实. 前段时间会学校毕业答辩我终于暂时离开了繁重的工作,能找个时间研究一下脚本了.刚开始实验这个脚本的时候,由于同学喊我打游戏,我就偷懒没准备实验环境,直接用我的本子

【急】要实现自动安装SQLSERVER 2005,安装IIS,配置IIS站点。--要用到什么技术?

问题描述 公司有1套小型B/S版人事系统.想做1套自动安装程序,执行SETUP.exe后,全程自动实现安装IIS,SQLSERVER等.用哪种工具,或者语言可以实现呢? 解决方案 解决方案二: NSIS解决方案三: 解决方案四: 该回复于2012-03-19 12:58:35被版主删除

利用sys.sysprocesses检查SqlServer的阻塞和死锁_MsSql

MSDN:包含正在 SQL Server 实例上运行的进程的相关信息.这些进程可以是客户端进程或系统进程. 视图中主要的字段: 1. Spid:Sql Servr 会话ID 2. Kpid:Windows 线程ID 3. Blocked:正在阻塞求情的会话 ID.如果此列为 Null,则标识请求未被阻塞 4. Waittype:当前连接的等待资源编号,标示是否等待资源,0 或 Null表示不需要等待任何资源 5. Waittime:当前等待时间,单位为毫秒,0 表示没有等待 6. DBID:当前

SQLServer中master数据库分析_MsSql

表sysdatabases:保存DBMS中数据库信息 select [name] from [sysdatabases] order by [name] 就能得到该DBMS中的数据库信息 表sysobjects:保存数据库中数据表信息 con.ChangeDatabase(DBName) select [id],[name] from [sysobjects] where [type]='u',con 就能得到该数据库的表信息 表syscolumns:保存数据表的列信息 select [name

发布MySQL集群自动安装脚本1.0!

mysql|脚本|自动安装 经过几天的测试,终于可以发布了! 1. 在MySQL源代码目录下新建脚本 install.sh,把下面的代码添加到这个脚本中: #!/bin/bash####################################################### Title: MySQL 4.1 Cluster Installation Script #### Version: 1.0 #### Date: 2004-11-11 #### Author: yipsilo

创建一个脚本和一个cron任务自动安装安全更新

这是一个简单的教程,将教您创建一个脚本和一个cron任务并自动安装http://www.aliyun.com/zixun/aggregation/34130.html">安全更新,而无需您做任何更新操作.在没有监督的情况下进行软件更新总会有一些安全风险,但是也会益处.如果你相信打上最新的安全补丁是非常重要的,那么您应该按照这个教程去做. 使用 apt.conf.d 当你在使用 GNOME ,在"系统"菜单,"系统管理","软件源"

利用Fantastico功能 自动安装WordPress

很多使用或者接触过美国空间的朋友多少都了解点fantastico这个功能,在cpanel面板上会有个"笑脸"的图标,那就是我今天要给大家介绍的如何使用美国空间fantastico功能实现自动安装WordPress博客程序,当然你也可以使用fantastico功能安装上面提供的所有程序,因为步骤都一样,所以就以WordPress博客程序为例. Wordpress:一款目前你能在网络上找到的最好的博客程序,简单.高效.实用得会让你爱上它.好了,就不多说wordpress了,还是回到话题如何

只安装redis的redis自动安装脚本

Redis自动安装部署 本文总共分为4个部分: redis自动安装脚本目录结构说明: redis自动安装脚本内容: redis的操作系统服务脚本说明: 本文引用的资料链接地址. 说明:本文未涉及redis内存分配器部分的内容. 第一部分 Redis自动安装脚本目录结构说明: # ls 查看当前目录包含以下3个文件 -- install_redis.sh        # redis自动安装脚本 -- redis-2.8.9.tar.gz      # redis安装包(需make,make te

利用kickstart实现pxe的自动安装

一:kickstart .pxe是什么? kickstart安装是redhat开创的按照你设计好的方式全自动安装系统的方式.安装方式可以分为光盘.硬盘.和网络. PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动.协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通