您還在用下一步下一步的方式安裝SQLSERVER和SQLSERVER補丁嗎?
介紹
假如你有50臺服務器需要安裝SQLSERVER,如果你用下一步下一步的方式,用遠程桌面不停切換,那個效率。。。
大家都知道SQLSERVER可以使用靜默方式來安裝,就是不使用GUI的方式來安裝,下面做一些簡單介紹
靜默安裝適合于:SQL2008、SQL2008R2、SQL2012
靜默安裝的原理:看過《SQL2012實施與管理實戰指南》的童鞋都知道,SQLSERVER的安裝程序實際上就是一個“工作流”
當你在界面上配置后參數之后,就會在最后生成一個ConfigurationFile.ini文件,SQLSERVER安裝程序就按照這個
ConfigurationFile.ini文件的配置去進行安裝
靜默安裝的核心:首先根據項目配置安裝好一臺服務器,那些服務需要安裝,那些服務不需要安裝,然后把生成的ConfigurationFile.ini文件
拷貝出來,放到其他服務器上,這個ConfigurationFile.ini文件實際上相當于一個模板,其他服務器按照這個模板來進行安裝
環境
本人一開始以為靜默安裝非常難用,后來安裝了幾次,也有幾次報錯,想放棄了,但是最后都可以安裝成功
以后部署SQLSERVER就不用下一步,下一步了,非常方便o(∩_∩)o
前提:
SQLSERVER版本要一樣
操作系統版本最好也一樣
兩臺機器的路徑,設置數據存放的文件夾也要一樣,保持路徑一致
測試環境:SQLSERVER2008R2 、WindowsXP SP3 、vmware workstation 8虛擬機
我發現網上有很多的教程,教你進行SQLSERVER靜默安裝,最后我還是覺得msdn最好,msdn已經有例子了
msdn網址:
從上面的msdn文檔可以知道,靜默安裝不但只可以用在安裝SQLSERVER,還可以升級SQLSERVER實例,卸載SQLSERVER實例、組件,安裝故障轉移集群
都可以使用靜默的方式進行
注意
如果ConfigurationFile.ini配置文件中有跟命令行輸入的參數一致的,會優先使用命令行的參數
比如:如果你在命令行里指定了參數,又在配置文件里指定了參數

;SQLSERVER2008 Configuration File [SQLSERVER2008] ; 為您已指定的 SQL Server 功能指定實例 ID。SQL Server 目錄結構、注冊表結構和服務名稱將反映 SQL Server 實例的實例 ID。 INSTANCEID="MSSQLSERVER" ; 指定安裝程序的工作流,如 INSTALL、UNINSTALL 或 UPGRADE。這是必需的參數。 ACTION="Install" ; 指定要安裝、卸載或升級的功能。頂級功能列表包括 SQL、AS、RS、IS 和工具。SQL 功能將安裝數據庫引擎、復制和全文。工具功能將安裝管理工具、聯機叢書、Business Intelligence Development Studio 和其他共享組件。 FEATURES=SQLENGINE,CONN,IS,BC,SDK,SSMS,ADV_SSMS,SNAC_SDK ; 顯示命令行參數用法 HELP="False" ; 指定應將詳細的安裝程序日志傳送到控制臺。 INDICATEPROGRESS="False" ; 安裝程序將不會顯示任何用戶界面。 QUIET="False" ; 安裝程序將只顯示進度,不需要任何用戶交互。 QUIETSIMPLE="False" ; 指定安裝程序應該安裝到 WOW64 中。IA64 或 32 位系統不支持此命令行參數。 X86="False" ; 尚未定義命令行參數 ENU 的詳細幫助。 ENU="False" ; 用于控制用戶界面行為的參數。有效值對于完整 UI 為 Normal,對于簡化的 UI 為 AutoAdvance。 UIMODE="Normal" ; 指定是否可將錯誤報告給 Microsoft 以便改進以后的 SQL Server 版本。指定 1 或 True 將啟用此功能,指定 0 或 False 將禁用此功能。 ERRORREPORTING="False" ; 指定本機共享組件的安裝根目錄。 INSTALLSHAREDDIR="d:\Program Files\Microsoft SQL Server" ; 指定安裝目錄。 INSTANCEDIR="d:\Program Files\Microsoft SQL Server" ; 指定可以收集 SQL Server 功能使用情況數據,并將數據發送到 Microsoft。指定 1 或 True 將啟用此功能,指定 0 或 False 將禁用此功能。 SQMREPORTING="False" ; 指定默認實例或命名實例。MSSQLSERVER 是非 Express 版本的默認實例,SQLExpress 則是 Express 版本的默認實例。在安裝 SQL Server 數據庫引擎(SQL)、Analysis Services (AS)或 Reporting Services (RS)時,此參數是必需的。 INSTANCENAME="MSSQLSERVER" ; 代理帳戶名 AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" ; 安裝后自動啟動服務。 AGTSVCSTARTUPTYPE="Manual" ; Integration Services 的啟動類型。 ISSVCSTARTUPTYPE="Automatic" ; Integration Services 的帳戶: 域\用戶或系統帳戶。 ISSVCACCOUNT="NT AUTHORITY\NetworkService" ; 在創建服務后控制服務啟動類型設置。 ASSVCSTARTUPTYPE="Automatic" ; Analysis Services 要使用的排序規則。 ASCOLLATION="Latin1_General_CI_AS" ; Analysis Services 數據文件的位置。 ASDATADIR="Data" ; Analysis Services 日志文件的位置。 ASLOGDIR="Log" ; Analysis Services 備份文件的位置。 ASBACKUPDIR="Backup" ; Analysis Services 臨時文件的位置。 ASTEMPDIR="Temp" ; Analysis Services 配置文件的位置。 ASCONFIGDIR="Config" ; 指定是否允許 MSOLAP 訪問接口在進程中運行。 ASPROVIDERMSOLAP="1" ; 用于連接 SharePoint 管理中心 Web 應用程序的端口號。 FARMADMINPORT="0" ; SQL Server 服務的啟動類型。 SQLSVCSTARTUPTYPE="Automatic" ; 啟用 FILESTREAM 功能的級別(0、1、2 或 3)。 FILESTREAMLEVEL="0" ; 設置為 "1" 可為 SQL Server Express 啟用 RANU。 ENABLERANU="False" ; 指定要用于數據庫引擎的 Windows 排序規則或 SQL 排序規則。 SQLCOLLATION="Chinese_PRC_CI_AS" ; SQL Server 服務的帳戶: 域\用戶或系統帳戶。 SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" ; 要設置為 SQL Server 系統管理員的 Windows 帳戶。 SQLSYSADMINACCOUNTS=".\Administrator" ; 默認值為 Windows 身份驗證。使用 "SQL" 表示采用混合模式身份驗證。 SECURITYMODE="SQL" ;指定 SQL Server sa 帳戶的密碼 SAPWD="test" ; 將當前用戶設置為 SQL Server 2008 R2 Express 的數據庫引擎系統管理員。 ADDCURRENTUSERASSQLADMIN="False" ; 指定 0 禁用 TCP/IP 協議,指定 1 則啟用該協議。 TCPENABLED="1" ; 指定 0 禁用 Named Pipes 協議,指定 1 則啟用該協議。 NPENABLED="0" ; Browser 服務的啟動類型。 BROWSERSVCSTARTUPTYPE="Automatic" ;指定 SQL Server 代理服務的啟動模式。 AGTSVCSTARTUPTYPE="Automatic" ;指定 SQL Server 服務的啟動模式。 SQLSVCSTARTUPTYPE="Automatic" ; 指定報表服務器 NT 服務的啟動模式。 ; 手動 - 在手動模式(默認值)下啟動服務。 ; 自動 - 在自動模式下啟動服務。 ; 已禁用 - 服務處于禁用狀態 RSSVCSTARTUPTYPE="Automatic" ; 指定報表服務器的安裝模式。 ; 默認值: “FilesOnly” RSINSTALLMODE="FilesOnlyMode"
正式開始
計算機配置
記住:在做下面的步驟之前一定要先創建一個虛擬機快照!!
下面的步驟會忽略部分截圖
下一步
下一步
下一步
只選擇必要功能,這里有一個很奇怪的地方,我選擇了共享功能目錄在D盤,但是在下面的磁盤空間要求那一步還是顯示在C盤
不知道是不是SQLSERVER的bug???
下一步
下一步
選擇默認實例,實例根目錄選擇在D盤,這樣意味著默認的備份文件,數據文件,日志都會放在D盤的相應目錄
下一步
下一步
服務都設置為自動啟動,其實服務的啟動帳號和啟動類型設置錯了,在安裝完畢之后都可以修改的,不用擔心
下一步









sql agent
sql browser

1 ;SQLSERVER2008 Configuration File 2 [SQLSERVER2008] 3 4 ; 為您已指定的 SQL Server 功能指定實例 ID。SQL Server 目錄結構、注冊表結構和服務名稱將反映 SQL Server 實例的實例 ID。 5 6 INSTANCEID="MSSQLSERVER" 7 8 ; 指定安裝程序的工作流,如 INSTALL、UNINSTALL 或 UPGRADE。這是必需的參數。 9 10 ACTION="Install" 11 12 ; 指定要安裝、卸載或升級的功能。頂級功能列表包括 SQL、AS、RS、IS 和工具。SQL 功能將安裝數據庫引擎、復制和全文。工具功能將安裝管理工具、聯機叢書、Business Intelligence Development Studio 和其他共享組件。 13 14 FEATURES=SQLENGINE,CONN,IS,BC,SDK,SSMS,ADV_SSMS,SNAC_SDK 15 16 ; 顯示命令行參數用法 17 18 HELP="False" 19 20 ; 指定應將詳細的安裝程序日志傳送到控制臺。 21 22 INDICATEPROGRESS="False" 23 24 ; 安裝程序將不會顯示任何用戶界面。 25 26 QUIET="False" 27 28 ; 安裝程序將只顯示進度,不需要任何用戶交互。 29 30 QUIETSIMPLE="False" 31 32 ; 指定安裝程序應該安裝到 WOW64 中。IA64 或 32 位系統不支持此命令行參數。 33 34 X86="False" 35 36 ; 尚未定義命令行參數 ENU 的詳細幫助。 37 38 ENU="False" 39 40 ; 用于控制用戶界面行為的參數。有效值對于完整 UI 為 Normal,對于簡化的 UI 為 AutoAdvance。 41 42 UIMODE="Normal" 43 44 ; 指定是否可將錯誤報告給 Microsoft 以便改進以后的 SQL Server 版本。指定 1 或 True 將啟用此功能,指定 0 或 False 將禁用此功能。 45 46 ERRORREPORTING="False" 47 48 ; 指定本機共享組件的安裝根目錄。 49 50 INSTALLSHAREDDIR="d:\Program Files\Microsoft SQL Server" 51 52 ; 指定安裝目錄。 53 54 INSTANCEDIR="d:\Program Files\Microsoft SQL Server" 55 56 ; 指定可以收集 SQL Server 功能使用情況數據,并將數據發送到 Microsoft。指定 1 或 True 將啟用此功能,指定 0 或 False 將禁用此功能。 57 58 SQMREPORTING="False" 59 60 ; 指定默認實例或命名實例。MSSQLSERVER 是非 Express 版本的默認實例,SQLExpress 則是 Express 版本的默認實例。在安裝 SQL Server 數據庫引擎(SQL)、Analysis Services (AS)或 Reporting Services (RS)時,此參數是必需的。 61 62 INSTANCENAME="MSSQLSERVER" 63 64 ; 代理帳戶名 65 66 AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" 67 68 ; 安裝后自動啟動服務。 69 70 AGTSVCSTARTUPTYPE="Manual" 71 72 ; Integration Services 的啟動類型。 73 74 ISSVCSTARTUPTYPE="Automatic" 75 76 ; Integration Services 的帳戶: 域\用戶或系統帳戶。 77 78 ISSVCACCOUNT="NT AUTHORITY\NetworkService" 79 80 ; 在創建服務后控制服務啟動類型設置。 81 82 ASSVCSTARTUPTYPE="Automatic" 83 84 ; Analysis Services 要使用的排序規則。 85 86 ASCOLLATION="Latin1_General_CI_AS" 87 88 ; Analysis Services 數據文件的位置。 89 90 ASDATADIR="Data" 91 92 ; Analysis Services 日志文件的位置。 93 94 ASLOGDIR="Log" 95 96 ; Analysis Services 備份文件的位置。 97 98 ASBACKUPDIR="Backup" 99 100 ; Analysis Services 臨時文件的位置。 101 102 ASTEMPDIR="Temp" 103 104 ; Analysis Services 配置文件的位置。 105 106 ASCONFIGDIR="Config" 107 108 ; 指定是否允許 MSOLAP 訪問接口在進程中運行。 109 110 ASPROVIDERMSOLAP="1" 111 112 ; 用于連接 SharePoint 管理中心 Web 應用程序的端口號。 113 114 FARMADMINPORT="0" 115 116 ; SQL Server 服務的啟動類型。 117 118 SQLSVCSTARTUPTYPE="Automatic" 119 120 ; 啟用 FILESTREAM 功能的級別(0、1、2 或 3)。 121 122 FILESTREAMLEVEL="0" 123 124 ; 設置為 "1" 可為 SQL Server Express 啟用 RANU。 125 126 ENABLERANU="False" 127 128 ; 指定要用于數據庫引擎的 Windows 排序規則或 SQL 排序規則。 129 130 SQLCOLLATION="Chinese_PRC_CI_AS" 131 132 ; SQL Server 服務的帳戶: 域\用戶或系統帳戶。 133 134 SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" 135 136 ; 要設置為 SQL Server 系統管理員的 Windows 帳戶。 137 138 SQLSYSADMINACCOUNTS=".\Administrator" 139 140 ; 默認值為 Windows 身份驗證。使用 "SQL" 表示采用混合模式身份驗證。 141 142 SECURITYMODE="SQL" 143 144 ;指定 SQL Server sa 帳戶的密碼 145 146 SAPWD="test" 147 148 ; 將當前用戶設置為 SQL Server 2008 R2 Express 的數據庫引擎系統管理員。 149 150 151 ADDCURRENTUSERASSQLADMIN="False" 152 153 ; 指定 0 禁用 TCP/IP 協議,指定 1 則啟用該協議。 154 155 TCPENABLED="1" 156 157 ; 指定 0 禁用 Named Pipes 協議,指定 1 則啟用該協議。 158 159 NPENABLED="0" 160 161 ; Browser 服務的啟動類型。 162 163 BROWSERSVCSTARTUPTYPE="Automatic" 164 165 ;指定 SQL Server 代理服務的啟動模式。 166 167 AGTSVCSTARTUPTYPE="Automatic" 168 169 ;指定 SQL Server 服務的啟動模式。 170 171 SQLSVCSTARTUPTYPE="Automatic" 172 173 ; 指定報表服務器 NT 服務的啟動模式。 174 ; 手動 - 在手動模式(默認值)下啟動服務。 175 ; 自動 - 在自動模式下啟動服務。 176 ; 已禁用 - 服務處于禁用狀態 177 178 RSSVCSTARTUPTYPE="Automatic" 179 180 ; 指定報表服務器的安裝模式。 181 ; 默認值: “FilesOnly” 182 183 RSINSTALLMODE="FilesOnlyMode"
ConfigurationFile.ini文件里的關鍵參數
; 指定要用于數據庫引擎的 Windows 排序規則或 SQL 排序規則。 SQLCOLLATION="Chinese_PRC_CI_AS" ; SQL Server 服務的帳戶: 域\用戶或系統帳戶。 SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" ; 要設置為 SQL Server 系統管理員的 Windows 帳戶。 SQLSYSADMINACCOUNTS=".\Administrator" ; 默認值為 Windows 身份驗證。使用 "SQL" 表示采用混合模式身份驗證。 SECURITYMODE="SQL" ;指定 SQL Server sa 帳戶的密碼 SAPWD="test"
SQLSYSADMINACCOUNTS=".\Administrator"指明了使用當前機器的計算機名,這樣就不會因為第一臺機器的計算機名復制到其他機器里







Setup.exe /q /ACTION=Install /PID="GYF3T-H2V88-GRPPH-HWRJP-QRTYB" /IACCEPTSQLSERVERLICENSETERMS /ConfigurationFile="C:\Documents and Settings\Administrator\桌面\ConfigurationFile.ini"
注意下面的參數必須要指定的:
/q:完全沒有界面
/qs:有界面,界面只是作為顯示進度的用途
/IACCEPTSQLSERVERLICENSETERMS:接受許可條款
/PID:產品密鑰 指定 SQL Server 版本的產品密鑰。如果未指定此參數,則將使用 Evaluation。
馬上進行安裝
安裝需要等待一段時間,這時候你就可以繼續安裝其他的服務器了
經過漫長的等待,SQLSERVER2008R2安裝好了
安裝好后,有幾個地方需要關注的:
(1)已經開啟混合驗證:使用sa登錄SSMS
(2)Windows登錄用戶的用戶名是不是 當前計算機名\administrator
(3)sqlserver、 sql agent、 sql browser 這些服務的啟動帳號,是否設置正確,這些服務是否已經啟動
關于權限:
sqlserver服務如果不是localsystem,是沒有讀取磁盤文件的權限的
sqlserver服務如果不是networkservice,是沒有讀取網絡文件的權限的
客戶要求一般都是只需要設置sqlserver服務啟動帳號和 sql agent啟動帳號為localsystem就可以了
(1)和(2)我們打開SSMS
登錄進去之后禁用sa
(3)我們打開服務管理器
更改sqlserver和sql agent的啟動帳號為localsystem,并且重啟sqlserver
SQLSERVER2008R2安裝完畢
靜默安裝SQLSERVER補丁
打開cmd,打開SQLSERVER補丁所在文件夾,我的SQLSERVER補丁就放在安裝文件夾同一個文件夾下面
把補丁拖進去cmd里面,然后把下面這些參數復制進去
/allinstances /quiet /IACCEPTSQLSERVERLICENSETERMS
或者使用下面的參數
/instancename="MSSQLSERVER" /quiet /IACCEPTSQLSERVERLICENSETERMS
一個指定實例名,一個不指定,我使用的是不指定實例名,就是使用/allinstances
具體參數的含義和有哪些參數可以參考這篇文章:Installing SQL Server Service Pack Silently
我在測試的時候發現 ,指定/reportonly參數會報錯,不知道怎么回事
如果不指定許可條款也會報錯
summary.txt文件的路徑:

Overall summary: Final result: 已通過,但需要重新引導,請查看日志了解詳細信息 Exit code (Decimal): 3010 Exit message: 已通過,但需要重新引導,請查看日志了解詳細信息 Start time: 2014-01-10 09:46:26 End time: 2014-01-10 10:07:47 Requested action: Patch Instance MSSQLSERVER overall summary: Final result: 已通過,但需要重新引導,請查看日志了解詳細信息 Exit code (Decimal): 3010 Exit message: 已通過,但需要重新引導,請查看日志了解詳細信息 Start time: 2014-01-10 09:48:18 End time: 2014-01-10 10:06:06 Requested action: Patch Machine Properties: Machine name: PC0107VLX Machine processor count: 2 OS version: Windows XP OS service pack: Service Pack 3 OS region: 中華人民共和國 OS language: 中文(中華人民共和國) OS architecture: x86 Process architecture: 32 位 OS clustered: 否 Product features discovered: Product Instance Instance ID Feature Language Edition Version Clustered Sql Server 2008 R2 MSSQLSERVER MSSQL10_50.MSSQLSERVER 數據庫引擎服務 1033 Enterprise Edition 10.50.1600.1 否 Sql Server 2008 R2 MSSQLSERVER MSSQL10_50.MSSQLSERVER 數據庫引擎服務 2052 Enterprise Edition 10.50.1600.1 否 Sql Server 2008 R2 管理工具 - 基本 2052 Enterprise Edition 10.50.1600.1 否 Sql Server 2008 R2 管理工具 - 完整 2052 Enterprise Edition 10.50.1600.1 否 Sql Server 2008 R2 客戶端工具連接 2052 Enterprise Edition 10.50.1600.1 否 Sql Server 2008 R2 客戶端工具向后兼容性 2052 Enterprise Edition 10.50.1600.1 否 Sql Server 2008 R2 客戶端工具 SDK 2052 Enterprise Edition 10.50.1600.1 否 Sql Server 2008 R2 Integration Services 2052 Enterprise Edition 10.50.1600.1 否 Package properties: Description: SQL Server Database Services 2008 R2 ProductName: SQL2008 Type: RTM Version: 10 SPLevel: 2 KBArticle: KB2630458 KBArticleHyperlink: http://support.microsoft.com/?kbid=2630458 PatchType: SP AssociatedHotfixBuild: 0 Platform: x86 PatchLevel: 10.52.4000.0 ProductVersion: 10.50.1600.1 GDRReservedRange: 10.0.1000.0:10.0.1099.0;10.0.3000.0:10.0.3099.0 PackageName: SQLServer2008R2-KB2630458-x86.exe Installation location: d:\7efd0a85864c6db1c3180186cd5959\x86\setup\ Updated product edition: Instance Edition MSSQLSERVER ENTERPRISE 用戶輸入設置: ACTION: Patch ALLINSTANCES: True CLUSTERPASSIVE: False CONFIGURATIONFILE: ENU: False FARMACCOUNT: <空> FARMADMINPORT: 0 FARMPASSWORD: ***** HELP: False INDICATEPROGRESS: False INSTANCEID: <空> INSTANCENAME: <空> PASSPHRASE: ***** QUIET: True QUIETSIMPLE: False UIMODE: Normal X86: False Rules with failures: Global rules: There are no scenario-specific rules. Rules report file: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20140110_094621\SystemConfigurationCheck_Report.htm
《SQLSERVER2012實施與管理實戰指南》中介紹到,summary.txt文件記錄了SQL補丁,sqlserver安裝情況,其他組件安裝情況的大概內容
按照年月日,組件來劃分日志文件夾,詳細可以查看《SQLSERVER2012實施與管理實戰指南》
開始安裝補丁
剛開始安裝的時候,你會以為SQLSERVER補丁沒有在安裝,實際上安裝程序已經在運行了
你需要打開任務管理器,查看補丁的安裝情況
過了一會兒會彈出一個窗口,這才開始正式開始,一開始的時候實際上就是GUI界面安裝過程中的下一步下一步
出現下面窗口才表示補丁正式開始安裝
上面的這個路徑是補丁文件的解壓縮路徑
在安裝完補丁之后,你可以打開D盤看一下有沒有這個文件夾7efd0a85864c6db1c31380186cd5959
如果有你可以把他刪除掉,實際上補丁的安裝跟一般的應用程序的安裝是一樣的,從exe壓縮包里解壓縮文件然后復制到安裝路徑
安裝完畢之后,窗口會自動關閉,這時候你可以打開SQLSERVER配置管理器或者SSMS查看當前的版本
版本是4000,補丁安裝成功
ConfigurationFile.ini的修改
; 代理帳戶名
AGTSVCACCOUNT="SYSTEM"
; SQL Server 服務的帳戶: 域\用戶或系統帳戶。
SQLSVCACCOUNT="SYSTEM"

SQLSERVER服務啟動的帳號 SQLSVCACCOUNT="SYSTEM" SQL AGENT服務啟動的帳號 AGTSVCACCOUNT="SYSTEM"
總結
有了靜默安裝我們就可以非常方便的安裝SQLSERVER,不用再守著顯示器前面了
文章列表