SQL無人值守安裝的IACCEPTSQLSERVERLICENSETERMS參數(shù)
我在部署項(xiàng)目的時(shí)候,需要用批處理無人值守安裝SQLserver,.Net等組件。
于是查了微軟官方文檔,其中一項(xiàng)內(nèi)容如下:http://msdn.microsoft.com/zh-cn/library/ms144259.aspx
SQL Server 安裝程序控件 |
/IACCEPTSQLSERVERLICENSETERMS 僅在為無人參與安裝指定了 /Q 或 /QS 參數(shù)時(shí)是必需的。 |
必需,用于確認(rèn)接受許可條款。 |
請(qǐng)注意,此項(xiàng)提示將“無人參與安裝指定了 /Q 或 /QS 參數(shù)時(shí)是必需的”重點(diǎn)標(biāo)識(shí)了。。
并且,給出了一個(gè)示例,內(nèi)容如下:
安裝新的具有 SQL Server 數(shù)據(jù)庫引擎、復(fù)制和全文搜索組件的獨(dú)立實(shí)例。
Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="" /SQLSVCPASSWORD="" /SQLSYSADMINACCOUNTS="" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /IACCEPTSQLSERVERLICENSETERMS
在我多次安裝均出錯(cuò)的情況下,先解壓了安裝包,再進(jìn)行命令行下手工嘗試,得到錯(cuò)誤為“無法識(shí)別指定的設(shè)置“IACCEPTSQLSERVERLICENSETERMS”。”
我嘗試刪除了 /IACCEPTSQLSERVERLICENSETERMS 參數(shù)。出人意料的竟然成功了。。
這,這簡(jiǎn)直就是坑爹啊!!!
【PS:經(jīng)560889223提醒,我專門又查了一次文檔,VS2010的部署項(xiàng)目所提供的SQL2008不是R2版的,而這個(gè)參數(shù)是R2獨(dú)有且必須的,其它版本加了這個(gè)參數(shù)之后,便無法安裝,非微軟文檔之錯(cuò),在此更正。】
下面給出一個(gè)我寫的批處理,希望給有相同需求的朋友一些提示或幫助。
- @echo off
- for /f "delims=[] tokens=2" %%i in ('ver') do set MyVer=%%i
- for /f "tokens=2" %%i in ('echo %MyVer%') do set MyVer=%%i
- for /f "tokens=1,2,3 delims=. " %%i in ( 'echo %MyVer% ') do (
- set MajorVer=%%i
- set MinorVer=%%j
- set BuildNum=%%k
- )
- set MajorVer= %MajorVer%.%MinorVer%
- if /I %MajorVer% == 5.1 (
- GOTO XP
- )
- if /I %MajorVer% == 5.2 (
- GOTO 2003
- )
- if /I %MajorVer% == 6.0 (
- GOTO Vista
- )
- if /I %MajorVer% == 6.1 (
- GOTO STARTSETUP
- )
- :XP
- set INSTALLER45="WindowsInstaller4_5\WindowsXP-KB942288-v3-x86.exe"
- echo 正在安裝 Windows Installer4.5...
- %INSTALLER45% /quiet /norestart /nobackup /passive
- goto STARTSETUP
- :2003
- set INSTALLER45="WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x86.exe"
- echo 正在安裝 Windows Installer4.5...
- %INSTALLER45% /quiet /norestart /nobackup /passive
- goto STARTSETUP
- :Vista
- set INSTALLER45="WindowsInstaller4_5\Windows6.0-KB958655-v2-x86.MSU"
- echo 正在安裝 Windows Installer4.5...
- %INSTALLER45% /quiet /norestart /nobackup /passive
- goto STARTSETUP
- :STARTSETUP
- set DOTNETFX40="DotNetFX40\dotNetFx40_Full_x86_x64.exe"
- set DOTNETFX40ZH="DotNetFX40\dotNetFx40LP_Full_x86_x64zh-Hans.exe"
- set SQL2008="SqlExpress2008\SQLEXPR32_x86_CHS.EXE"
- echo 正在安裝 dotNetFx40...
- %DOTNETFX40% /lang:ENU /norestart /passive
- %DOTNETFX40ZH% /norestart /passive
- echo 正在安裝 SQLserver 2008 Express...
- %SQL2008% /qs /ACTION=Install /FEATURES=SQL /INSTANCENAME=SQLEXPRESS /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="NT AUTHORITY\SYSTEM" /AGTSVCACCOUNT="NT AUTHORITY\Network Service"
原文鏈接:http://www.cnblogs.com/gsyifan/archive/2011/07/26/2117095.html
【編輯推薦】