大家好:
下面是sqlserver2008静默安装的bat脚本,将如下的脚本复制到bat文件中执行即可。
1、将安装文件解压到D:\tool\SQLServer2008_ENU_for_win2008\目录,或其他指定目录,并修改SourcePath的值为指定路径。
2、保存如下bat脚本执行,PID为激活码,SAPWD为sa用户密码。
3、在编写脚本的时候最开始遇到的问题是sqlserver2008的许多参数跟2005有了很大的变化,如果依然使用05的bat脚本进行安装会遇到很多问题,可以运行setup.exe /help 获取所有的参数信息。
4、然后就是参数的值的问题,将AGTSVCSTARTUPTYPE的值设置为1导致报错。
5、脚本可以传参的方式获取数据库的字符集,比如./install.batKorean_Wansung_CI_AS,将使用韩语字符集。
6、最后,就是在写类似于/SQLTEMPDBDIR="D:\ms_data"的路径时千万不能写成/SQLTEMPDBDIR="D:\ms_data\",这样路径是无效的。
7、标红的地方是需要大家根据自己的情况修改的地方。
@echo off
setlocal enabledelayedexpansion
cls
Set SourcePath=D:\tool\SQLServer2008_ENU_for_win2008\
Set SQLCOLLATION=%1
cd %SourcePath%
if not exist"%SourcePath%\setup.exe" (
echo Error:Not Correct Install File For SQLServer 2008
pause
exit
)
echo "Start Install SQLServer2008..."
if defined SQLCOLLATION (
%SourcePath%\setup.exe /q /ACTION=Install ^
/FEATURES=SQL,Tools ^
/SQLCOLLATION="%SQLCOLLATION%" ^
/INSTANCENAME=MSSQLSERVER ^
/PID="XXXXXXXXXXXXXXX" ^
/SQLSVCACCOUNT="NTAUTHORITY\SYSTEM" ^
/SQLSYSADMINACCOUNTS=".\Administrator"^
/AGTSVCACCOUNT="NT AUTHORITY\NetworkService" ^
/SECURITYMODE="SQL" ^
/SAPWD="XXXXXXXXXXXXXXXX" ^
/AGTSVCSTARTUPTYPE="Automatic" ^
/SQLSVCSTARTUPTYPE="Automatic" ^
/TCPENABLED="1" ^
/NPENABLED="0" ^
/SQLTEMPDBDIR="D:\ms_data" ^
/SQLTEMPDBLOGDIR="D:\ms_log" ^
/SQLBACKUPDIR="D:\ms_backup" ^
/SQLUSERDBDIR="D:\ms_data" ^
/SQLUSERDBLOGDIR="D:\ms_log" ^
/IACCEPTSQLSERVERLICENSETERMS
)
if not defined SQLCOLLATION (
%SourcePath%\setup.exe /q /ACTION=Install ^
/FEATURES=SQL,Tools ^
/INSTANCENAME=MSSQLSERVER ^
/PID="XXXXXXXXXXXX" ^
/SQLSVCACCOUNT="NTAUTHORITY\SYSTEM" ^
/SQLSYSADMINACCOUNTS=".\Administrator"^
/AGTSVCACCOUNT="NT AUTHORITY\NetworkService" ^
/SECURITYMODE="SQL" ^
/SAPWD="XXXXXXXXXXXXXXXXXXX " ^
/AGTSVCSTARTUPTYPE="Automatic" ^
/SQLSVCSTARTUPTYPE="Automatic" ^
/TCPENABLED="1" ^
/NPENABLED="0" ^
/SQLTEMPDBDIR="D:\ms_data" ^
/SQLTEMPDBLOGDIR="D:\ms_log" ^
/SQLBACKUPDIR="D:\ms_backup" ^
/SQLUSERDBDIR="D:\ms_data" ^
/SQLUSERDBLOGDIR="D:\ms_log" ^
/IACCEPTSQLSERVERLICENSETERMS
)
echo "Finished Install SQLServer 2008"
set PATH=%PATH%;C:\Program Files\MicrosoftSQL Server\100\Tools\binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;
echo "Disable user sa,and createmonitor user XXX"
rem 禁用sa用户
sqlcmd -d "master" -Q"ALTER LOGIN [sa] DISABLE;select'sqlserver init OK'"
echo "Finished user setting"
pause
Exit