自訂 SQL/MSDE 自主式安裝檔案

文章翻譯 文章翻譯
文章編號: 233312 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
全部展開 | 全部摺疊

在此頁中

結論

Microsoft SQL Server 7.0 或 Microsoft Data Engine (MSDE) 1.0 的自主式 (也稱為無訊息) 安裝可以使用 .iss 檔進行自動化,這個檔案會記錄在互動式安裝期間使用者所提供的回應及選項。

如果使用 SQL Server 7.0,可以在未安裝 SQL Server 或 MSDE 的電腦中執行 SQL Server 安裝程式 (SETUPSQL.EXE),產生符合您需求的自訂 .iss 檔案。您可以針對所需的選項自訂 .iss 檔案,以供安裝 SQL Server 時使用。安裝之後,安裝程式會在 Microsoft Windows 根目錄 (例如,C:\WINNT 或 C:\WINDOWS) 中,建立名為 Setup.iss 的檔案。您可以重新命名,或將 .iss 檔案移至新位置,並且在將來想要以相同的組態設定進行安裝時,利用它進行自動化安裝。選擇性的 Setupsql.exe 命令列參數 "k=Rc" 可以讓安裝程式在您選取選項時寫入 Setup.iss 檔案,而不是一直等到檔案複製完成以後再寫入,因而讓您毋需實際安裝 SQL Server 就能產生 .iss 檔。但是,以 k=Rc 選項建立的 Setup.iss 檔案並不完整。您必須使用此選項修改所建立的檔案 (詳述於《SQL Server 7.0 線上叢書》的「手動建立安裝檔案」主題中),才能使用該檔案。您可以從下列 Microsoft 網站下載《SQL Server 線上叢書》:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=a6f79cb1-a420-445f-8a4b-bd77a7da194b
用來產生新 .iss 檔的選項無法供 MSDE 可轉散發套件使用,因為套件中並不包含圖形安裝精靈。但是,您可以透過修改現有的 .iss 檔案達到相同的效果。MSDE 和 SQL Server 都有經過測試的範例 .iss 檔案可供使用。Unattend.iss 檔案會將 MSDE 的一般安裝自動化,而 SQL Server 光碟中則包含範例 .iss 檔案,在安裝 SQL Server 時可供多種常見的安裝類型 (僅用戶端公用程式、Desktop Edition/Standard Edition 等等) 使用。

安裝選項的設定資訊依次如下:
  • 安裝路徑
  • 伺服器端網路程式庫
  • 字碼頁
  • 排序順序
  • Unicode 定序
  • Unicode 比對樣式
  • 授權模式
  • 每一伺服器授權數量
  • 註冊的使用者名稱
  • 服務啟動帳戶
  • 自動啟動 MSSQLServer/SQLServerAgent
您也可以在《SQL Server 線上叢書》的「手動建立安裝檔案」主題中找到有關本文中的諸多資訊。如需有關如何使用 .iss 檔案執行自動化安裝的資訊,請參閱《SQL Server 7.0 線上叢書》中的「執行自主式安裝」與「如何執行 SQL Server 2000 的自主式安裝 (命令提示)」主題。至於 MSDE,您可以在 MSDE Readme.txt 檔中找到指定 .iss 檔案位置的命令列參數。 如需有關如何判斷無訊息安裝是否已完成,以及安裝成功還是失敗的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
233337 INF: How to Determine When an Unattended SQL Server 7.0/MSDE 1.0 Setup is Complete

其他相關資訊

.iss 檔案的結構類似標準的 Windows .ini 檔。項目分組集合在區段之下,而區段名稱是以方括號 ("[" 和 "]") 表示。例如,以下是 .iss 檔的第一個區段:
  [InstallShield Silent]
  Version=v5.00.000
  File=Response File
				

安裝路徑

    [SetupTypeSQL-0]
    szDir=C:\MSSQL7
    szDataDir=C:\MSSQL7

				
SQL Server 或 MSDE 都有兩個安裝目錄。根目錄會指定二進位編碼檔案和記錄檔案的位置;資料目錄則會指定 master、msdb、pubs (僅適用於 SQL Server) 以及 model 資料庫等資料庫檔案的位置,該位置同時也是新使用者資料庫的預設位置。您可以修改 szDir 參數以變更根目錄位置,而修改 szDataDir 則可以變更資料目錄位置。依預設,這兩個目錄的位置都相同。如果兩個目錄都在 NTFS 磁碟分割中,則即將安裝 MSDE 的使用者以及您選取做為 SQL Server/MSDE 服務啟動帳戶 (請參閱下文<服務啟動帳戶>一節) 的 Microsoft Windows NT 帳戶都必須對這兩個目錄擁有「完整控制」權限。如果沒有所需權限可用,安裝程式將會失敗。

伺服器端網路程式庫

    [DlgServerNetwork-0]
    NetworkLibs=4095
    TCPPort=1433
    TCPPrxy=Default
    NMPPipeName=\\.\pipe\sql\query

				
您可以將下列網路程式庫包含在內:具名管道、TCP/IP 通訊端、多重通訊協定、NWLink IPX/SPX、AppleTalk ADSP 以及 Banyan Vines。請注意,具名管道和 Banyan Vines 伺服器端網路程式庫無法安裝在 Microsoft Windows 95 或 Windows 98 中。

注意 如需在 Windows 95 或 Windows 98 中執行時適用於 SQL Server/MSDE 的其他限制,請參閱《SQL Server 線上叢書》中的 "SQL Server 7.0 on Windows 95/98" 主題。.iss 中的 NetworkLibs 項目是代表所要安裝網路程式庫的位元遮罩。每一個網路程式庫位元遮罩中的數值如下 (數值是以十六進位及十進位表示):
摺疊此表格展開此表格
網路程式庫數值 (十六進位)數值 (十進位)
具名管道0x0000000F 15
TCP/IP 通訊端0x000000F0 240
多重通訊協定0x00000F00 3840
NWLink IPX/SPX0x0000F000 61440
AppleTalk0x000F0000 983040
Banyan Vines0x00F00000 15728640
多重通訊協定加密0xF0000000 -268435456
如果要指定所要安裝的伺服器端網路程式庫,請結合十六進位值與位元 OR 運算,並將此數值以 32 位元帶正負號整數寫出至 NetworkLibs 項目。例如,假設您要安裝「具名管道」和「多重通訊協定」,而且要啟用多重通訊協定加密 (除非包含多重通訊協定,否則多重通訊協定加密沒有任何作用),就要使用十六進位值 F0000F0F,以 32 位元帶正負號整數表示就是 -268431601:
0000000F   (具名管道)
OR 00000F00   (多重通訊協定)
OR F0000000   (多重通訊協定加密)
    -----------
F0000F0F  =  -268431601
  
				
另外,您也可以使用以下方法:

將上列圖表中您所要包含網路程式庫之「數值 (十進位)」欄中的數值相加。例如,要包含「具名管道」、「多重通訊協定」與「多重通訊協定加密」:
15   (具名管道)
+        3840   (多重通訊協定)
+  -268435456   (多重通訊協定加密)
    -------------
       -268431601
  
				
注意 除非是在 Windows 95 或 Windows 98 中進行安裝,否則您應該永遠都包含「具名管道」。

NMPPipeName 項目是 SQL Server 接聽的具名管道名稱。如果沒有充分的理由,您不應該變更預設值 ("\\.\pipe\sql\query")。

TCPPort 項目會指定 TCP/IP 通訊埠編號,在安裝 TCP/IP 通訊端時使用。一般來說,不應該變更預設值 1433。

TCPPrxy 項目是遠端 WinSock Proxy 位址,也只在設定 TCP/IP 時適用。這個項目在大部分情況下都是 "Default"。

NWLinkObj 項目是 Novell Bindery 服務名稱,只有在包含 NWLink IPX/SPX 時才會存在。

BanyanObj 項目是 StreetTalk 服務名稱,只有選取 Banyan Vines 時才會使用。

ApplObj 項目是 AppleTalk 服務物件,只有選取 AppleTalk ADSP 網路程式庫時才會使用。

字碼頁、排序順序、Unicode 定序及比對樣式

    [DlgCpSortUnicode-0]
    SortId=52
    LCID=1033
    CompStyle=196609

				
SortID 項目可識別 SQL Server/MSDE 的字碼頁與排序順序。在大部分情況下,您都應該使用預設的 SortID 值 52 (這會指定字碼頁 1252 與「字典順序,排序順序不區分大小寫)。每個字碼頁 (也稱為字元集) 都有一組支援的排序順序與其相關聯,而每個排序順序都是由「排序順序識別碼」加以識別,並且「排序順序識別碼」也會識別與排序順序相關聯的唯一字碼頁。如需替代的「排序順序識別碼」(及其相關聯字元集) 清單,請參閱《SQL Server 7.0 線上叢書》中的 "Sort Order IDs" 主題。如需有關此主題的其他一般資訊,請參閱《線上叢書》中的 "Code Pages and Sort Orders" 主題。

地區設定識別碼 (LCID) 項目會指定 Unicode 定序。Unicode 定序會定義 Unicode 資料排序的方式 (功能類似於字元資料排序順序)。一般來說,您應該要使用地區設定識別碼預設值 1033 (「一般 Unicode」)。如果需要替代的 Unicode 資料排序,請參閱《線上叢書》中的 "Unicode Collation" 主題。

Unicode 定序之內的 Unicode 字元排序可以透過修改 Unicode 比對樣式進行調整。一般來說,您應該接受預設值 196609。Unicode 比對樣式是以 CompStyle 項目來表示,也就是包含下列元件的點陣圖:
摺疊此表格展開此表格
樣式數值 (十六進位)數值 (十進位)
忽略大小寫0x00001 1
忽略腔調字0x00002 2
忽略假名0x10000 65536
忽略寬度0x20000 131072
CompStyle 值可以用類似 NetworkLibs 位元遮罩的方式 (已在前文<伺服器端網路程式庫>一節中說明) 來計算。例如,預設值 196609 (十六進位為 0x30001) 是結合忽略大小寫、忽略假名和忽略寬度選項的結果:
1   (忽略大小寫)
+  65536   (忽略假名)
+ 131072   (忽略寬度)
    ---------
      196609
  
				

授權

    [License]
    License Mode=PERSERVER
    License Limit=15

				
License Mode 項目具有下列可能的值:"PERSERVER" 和 "PERSEAT"。License Limit 項目會指定已購買的每個伺服器 SQL「用戶端存取使用權」(CAL) 數量。License Mode 為 PERSEAT 時,License Limit 項目就不存在。

[License] 區段不適用於 MSDE 或 SQL Server Desktop Edition 安裝,因為用戶端連接到 SQL Server Desktop Edition 或 MSDE 不需要 SQL CAL。但是,安裝 SQL Server Desktop 的電腦必須有每一基座 SQL CAL 授權,如果 MSDE 要與 SQL Server 互動,則安裝 MSDE 的電腦也需要每一基座 SQL CAL。 如需有關 SQL Server Desktop Edition 授權的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
207809 INF:桌上版 SQL Server 7.0 的 DTS/複寫授權

註冊的使用者名稱

    [SdRegisterUser-0]
    szName=User Name
    szCompany=Company Name

				
在安裝 MSDE 或 SQL Server 時,使用者及公司名稱可以用自訂的註冊名稱。您可以修改 szName 以變更使用者名稱,並修改 szCompany 以變更公司名稱。

服務啟動帳戶

    [DlgServices-0]
    Local-Domain=61680
    AutoStart=255
    SQLDomain=MyDomainName
    SQLDomainAcct=MyDomainUser
    SQLDomainPwd=....
    AgtDomain=MyDomainName
    AgtDomainAcct=MyDomainUser
    AgtDomainPwd=....

				
[DlgServices-0] 區段會定義帳戶的屬性,MSSQLServer 及 SQLServerAgent 服務就此帳戶下執行。Local-Domain 項目是點陣圖,指定這些帳戶是 Windows NT 網域帳戶或是特別的 LocalSystem 帳戶。如需有關何時應該使用網域帳戶而不使用本機系統帳戶的資訊,請參閱《SQL Server 線上叢書》中的 "Creating SQL Server Services User Accounts" 和 "SQLServerAgent Service Startup Account" 主題。在 Windows 95 或 Windows 98 上,必須安裝這兩種服務,才能使用 LocalSystem 帳戶,因為這兩種作業系統都不提供服務控制管理員,因此這兩種服務都是在目前互動式使用者的安全性內容下執行。Local-Domain 項目的選項如下:
摺疊此表格展開此表格
選項數值 (十六進位)數值 (十進位)
MSSQLServer 使用 LocalSystem0x000F 15
MSSQLServer 使用網域帳戶0x00F0 240
SQLServerAgent 使用 LocalSystem0x0F00 3840
SQLServerAgent 使用網域帳戶0xF000 61440
在上一個範例區段 [DlgServices-0] 中,Local-Domain 是 61680,表示 MSSQLServer 和 SQLServerAgent 都會在網域帳戶 (61440 + 240 = 61680) 之下啟動。

AutoStart 項目是位元遮罩,可控制將各個服務設定為在電腦啟動時自動啟動 (Windows NT),或是在使用者登入時自動啟動 (Windows 95 或 Windows 98)。在上一個範例中,MSSQLServer 和 SQLServerAgent 都設定為「自動啟動」(240 + 15 = 255):
摺疊此表格展開此表格
選項數值 (十六進位)數值 (十進位)
MSSQLServer 自動啟動0x000F 15
SQLServerAgent 自動啟動0x00F0 240
請注意,SQLServerAgent 或 MSSQLServer 都不能在 Windows 95 或 Windows 98 中,由 SQL 安裝程式設定為「自動啟動」,因為這個選項在這兩種平台上都不會在圖形安裝介面中出現。 如需有關如何在 Windows 95 或 Windows 98 中啟動 MSSQLServer 或 SQLServerAgent 服務的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
196654 How to Control the SQL Server Services on Windows 95 or Windows 98
在 Windows NT 中,只有在將 MSSQLServer 設為自動啟動時,才能將 SQLServerAgent 同時設為自動啟動,這是因為 SQLServerAgent 與 MSSQLServer 服務具有相依性的緣故。如果 Local-Domain 項目指出其中一個或這兩個服務都使用 Windows NT 網域帳戶而不使用 LocalSystem 帳戶,此區段中的其餘項目 (SQLDomain、SQLDomainAcct、SQLDomainPwd 等等) 都會指定要使用的 Windows NT 帳戶。而使用 LocalSystem 時,這些項目都不會出現。密碼項目都會經過加密,而且只有透過互動方式執行 SQL Server 安裝程式並產生新的 .iss 檔,才能取得。如果對您的環境來說,不可能採用這種做法,或不實際,則必須安裝 MSSQLServer 和 SQLServerAgent,在 LocalSystem 帳戶之下執行 (Local-Domain=3855)。

Windows NT 使用者可以在往後需要時再變更服務啟動帳戶 (請參閱《SQL Server 線上叢書》中的 "How to set up a SQL Server service to log on under a different user account (Windows NT)" 與 "Creating SQL Server Services User Accounts" 主題)。在 Windows NT 中,如果必須自動化不可,公用程式 Scm.exe (位於 MSSQL7\BINN 目錄中) 可以在安裝以後用來將服務啟動帳戶從 LocalSystem 變更為網域帳戶。如需詳細資訊,請參閱前文中參考的「Microsoft 知識庫」文件。

屬性

文章編號: 233312 - 上次校閱: 2014年2月23日 - 版次: 6.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft Data Engine 1.0
關鍵字:?
kbnosurvey kbarchive kbinfo KB233312
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com