首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008 無人值守安裝全攻略:ConfigurationFile.ini 產生、參數化與進階應用

     編輯:關於SqlServer

為什麼需要無人值守安裝?

企業環境部署數十台 SQL Server 時,手動逐步點選不僅耗時、易出錯,更難保證配置一致性。SQL Server 2008 引入 ConfigurationFile.ini 機制,支援完全自動化、參數化的安裝流程。

一、產生 ConfigurationFile.ini 標準流程

步驟 1:互動式安裝至「準備安裝」頁面

  1. 掛載 ISO,執行 Setup.exe
  2. 依精靈輸入:產品金鑰、授權條款、功能選擇(建議全選)、實例名稱、磁碟路徑、服務帳戶與啟動類型、驗證模式、資料庫引擎管理員、錯誤回報等
  3. 關鍵:當出現「準備安裝」摘要頁面時,**點擊「取消」**

此時安裝程式會將所有設定寫入指定路徑的 ConfigurationFile.ini,且**不會實際安裝任何檔案**。

步驟 2:取得並妥善保存設定檔

預設路徑通常在:
C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\YYYYMMDD_HHMMSS\ConfigurationFile.ini

建議依用途分類保存多個模板:

  • Config_Standard.ini:標準 OLTP 實例
  • Config_DW.ini:資料倉庫(啟用 Columnstore、資料壓縮)
  • Config_RS.ini:含 Reporting Services
  • Config_FailoverCluster.ini:容錯移轉叢集節點

二、命令列無人值守安裝實戰

核心指令結構

Setup.exe /Q /ACTION=Install /CONFIGURATIONFILE="C:\Install\Config_Standard.ini" ^
    /SQLSVCPASSWORD="P@ssw0rd_SQL" ^
    /AGTSVCPASSWORD="P@ssw0rd_Agent" ^
    /ASSVCPASSWORD="P@ssw0rd_AS" ^
    /ISSVCPASSWORD="P@ssw0rd_IS" ^
    /RSSVCPASSWORD="P@ssw0rd_RS" ^
    /SAPWD="P@ssw0rd_SA" ^
    /IACCEPTSQLSERVERLICENSETERMS

關鍵參數說明

參數用途備註
/Q安靜模式(無 UI)生產環境自動化必加
/ACTION=Install安裝動作也可用 AddNode, Repair, Uninstall
/CONFIGURATIONFILE指定設定檔路徑若檔在同目錄可省略路徑
/SQLSVCPASSWORD 等服務帳戶密碼**INI 檔不含密碼**,必須命令列補充
/SAPWDsa 帳戶密碼混合模式驗證時必要
/IACCEPTSQLSERVERLICENSETERMS接受授權條款無人值守必加

密碼處理最佳實踐

  • **絕不**將密碼寫入批次檔明文
  • 使用 PowerShell Read-Host -AsSecureString 互動輸入,或從 Azure Key Vault / HashiCorp Vault 取得
  • 範例:$pwd = Read-Host -AsSecureString "SQL Service Password"; Setup.exe ... /SQLSVCPASSWORD=$pwd

三、進階應用場景

1. 多伺服器配置一致性保證

同一份 ConfigurationFile.ini 部署至所有節點,確保:

  • 實例名稱、目錄結構、服務帳戶、排序規則、追蹤旗標完全一致
  • 減少「在我機器上正常」的環境差異問題

2. 災難復原快速重建

  1. 生產環境安裝時保存 ConfigurationFile.ini
  2. 災難發生時,相同硬體/VM 上執行無人值守安裝
  3. 還原 master、msdb、使用者資料庫
  4. 應用程式連線字串無需修改即可運作

3. 容錯移轉叢集 (FCI) 部署自動化

REM 節點 1:建立叢集
Setup.exe /Q /ACTION=InstallFailoverCluster /CONFIGURATIONFILE="FCI_Node1.ini" /IACCEPTSQLSERVERLICENSETERMS

REM 節點 2~N:加入叢集
Setup.exe /Q /ACTION=AddNode /CONFIGURATIONFILE="FCI_AddNode.ini" /IACCEPTSQLSERVERLICENSETERMS

先在節點 1 捕獲完整設定,後續節點僅需 AddNode 設定檔,大幅簡化叢集擴展。

四、常見坑點與解決方案

問題原因解決
安裝靜默失敗、無錯誤訊息/Q 隱藏 UI 錯誤移除 /Q,改用 /QS (Show UI but no interaction) 觀察錯誤
服務啟動失敗密碼錯誤或帳戶無「登入為服務」權限預先用 GPO 授權服務帳戶;驗證密碼複雜度符合網域政策
功能缺失(如無 RS)INI 檔 FEATURES 未包含重新互動式安裝至準備頁面,勾選所需功能後取消產生新 INI
叢集 AddNode 失敗共用磁碟未上線、網路名稱衝突先驗證叢集驗證報告;確認 IP、網路名稱唯一

五、維護建議

  1. 將 ConfigurationFile.ini 納入**版本控制 (Git)**,記錄每次變更
  2. 建立 PowerShell 模組化安裝腳本,參數化密碼、實例名、路徑
  3. 定期在測試環境演練全自動部署流程(含修補程式套用)
  4. 文件化每個 INI 模板的用途、適用版本、已知限制

掌握 ConfigurationFile.ini 機制,讓 SQL Server 部署從「手工藝」進化為「工業化標準流程」,是 DBA 邁向自動化運維的關鍵里程碑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved