原文地址:http://www.cnblogs.com/lyhabc/p/3511788.htmlhtml
介紹web
假如你有50臺服務器須要安裝SQLSERVER,若是你用下一步下一步的方式,用遠程桌面不停切換,那個效率。。。sql
你們都知道SQLSERVER可使用靜默方式來安裝,就是不使用GUI的方式來安裝,下面作一些簡單介紹數據庫
靜默安裝適合於:SQL200八、SQL2008R二、SQL2012服務器
靜默安裝的原理:看過《SQL2012實施與管理實戰指南》的童鞋都知道,SQLSERVER的安裝程序實際上就是一個「工做流」網絡
當你在界面上配置後參數以後,就會在最後生成一個ConfigurationFile.ini文件,SQLSERVER安裝程序就按照這個ide
ConfigurationFile.ini文件的配置去進行安裝工具
靜默安裝的核心:首先根據項目配置安裝好一臺服務器,那些服務須要安裝,那些服務不須要安裝,而後把生成的ConfigurationFile.ini文件sqlserver
拷貝出來,放到其餘服務器上,這個ConfigurationFile.ini文件實際上至關於一個模板,其餘服務器按照這個模板來進行安裝post
環境
本人一開始覺得靜默安裝很是難用,後來安裝了幾回,也有幾回報錯,想放棄了,可是最後均可以安裝成功
之後部署SQLSERVER就不用下一步,下一步了,很是方便o(∩_∩)o
前提:
SQLSERVER版本要同樣
操做系統版本最好也同樣
兩臺機器的路徑,設置數據存放的文件夾也要同樣,保持路徑一致
測試環境:SQLSERVER2008R2 、WindowsXP SP3 、vmware workstation 8虛擬機
我發現網上有不少的教程,教你進行SQLSERVER靜默安裝,最後我仍是以爲msdn最好,msdn已經有例子了
msdn網址:
從上面的msdn文檔能夠知道,靜默安裝不但只能夠用在安裝SQLSERVER,還能夠升級SQLSERVER實例,卸載SQLSERVER實例、組件,安裝故障轉移集羣
均可以使用靜默的方式進行
注意
若是ConfigurationFile.ini配置文件中有跟命令行輸入的參數一致的,會優先使用命令行的參數
好比:若是你在命令行裏指定了參數,又在配置文件裏指定了參數
正式開始
計算機配置
記住:在作下面的步驟以前必定要先建立一個虛擬機快照!!
下面的步驟會忽略部分截圖
下一步
下一步
下一步
只選擇必要功能,這裏有一個很奇怪的地方,我選擇了共享功能目錄在D盤,可是在下面的磁盤空間要求那一步仍是顯示在C盤
不知道是否是SQLSERVER的bug???
下一步
下一步
選擇默認實例,實例根目錄選擇在D盤,這樣意味着默認的備份文件,數據文件,日誌都會放在D盤的相應目錄
下一步
下一步
服務都設置爲自動啓動,其實服務的啓動賬號和啓動類型設置錯了,在安裝完畢以後均可以修改的,不用擔憂
下一步
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,補丁安裝成功
; 代理賬戶名
AGTSVCACCOUNT="SYSTEM"
; SQL Server 服務的賬戶: 域\用戶或系統賬戶。
SQLSVCACCOUNT="SYSTEM"
SQLSERVER服務啓動的賬號 SQLSVCACCOUNT="SYSTEM" SQL AGENT服務啓動的賬號 AGTSVCACCOUNT="SYSTEM"
總結
有了靜默安裝咱們就能夠很是方便的安裝SQLSERVER,不用再守着顯示器前面了