© Copyright Microsoft Corporation, 2004. 著作權所有並保留一切權利。
SQL Server 文件編製小組雖然無法答覆關於技術支援的問題,但仍歡迎您對於這份讀我檔案文件提出相關的建議與批評。您可以使用下列的連結,透過電子郵件的方式迅速且直接的傳送您的意見。您所送出的意見反應請使用英文。
若要撰寫並送出您對此文件的意見,請按一下這裡: 送出意見反應。
1.0 簡介
1.1 系統需求
1.4 決定執行個體名稱
1.5 確認 Microsoft Data Access Components 的版本
1.7 其他關於 SP4 的資訊
2.1 選擇正確的語言
2.2 下載 MSDE 2000 SP4
2.4 下載及解壓縮階段性指導方針
3.0 安裝 Service Pack
3.3 重新啟動服務及應用程式
3.5 將 MSDE 2000 SP4 套用至複寫拓撲中的唯讀資料庫或檔案群組
3.6 升級連結伺服器的目錄
4.0 其他安裝考量事項
5.0 文件注意事項
5.1 MSDE 2000 增強功能
5.2 複寫增強功能
5.4 XML 增強功能
5.5 資料程式庫 (DB-Library) 與 Embedded SQL for C
5.7 服務性增強功能
此讀我檔案將說明如何使用 Microsoft® SQL Server™ 2000 Service Pack 4 (SP4) 的 SQL Server Desktop Engine (MSDE) 部分。您可以使用 Desktop Engine SP4,將 MSDE 現有的執行個體升級為 MSDE 2000 SP4,也可以安裝新的 MSDE 2000 SP4 執行個體。
安裝 SQL Server SP4 的一般程序如下:
注意 此讀我檔案中所指稱的 SQL Server 2000 Desktop Engine,皆是指 MSDE 2000 Release A (除非另有指定)。MSDE 2000 Release A 下載檔案在功能上與 SQL Server 2000 Desktop Engine SP3a 相同,但另外還含有一份新的使用者授權合約 (EULA),可賦予有別於舊版 MSDE 2000 授權中的使用者權限。
SQL Server 2000 SP4 有四個部分。各個部分可分別用來將 SP4 套用至不同的 SQL Server 元件上:
所有的 SQL Server Service Pack 都是累計式的套件。SQL Server SP4 包含 SP1、SP2、SP3 和 SP3a 中隨附的修正檔。
MSDE 2000 SP4 僅適用於 SQL Server 2000 Desktop Engine 或 MSDE 2000 Release A 的執行個體。SQL Server 2000 SP4 的其餘部分可將 SP4 套用於其他 SQL Server 2000 元件上,如 Analysis Services 或資料庫引擎。Database Components SP4 與 Analysis Services SP4 的使用方式說明於個別的讀我檔案中。其他讀我檔案可於 Microsoft 網站 (英文) 取得。
MSDE 2000 的 Service Pack 適用於建立可重新散發之 MSDE 相關應用程式的開發人員。MSDE 2000 SP4 可用來執行下列作業:
如需 MSDE 2000 授權的詳細資訊,請參閱使用 MSDE 2000 (英文)。 若您尚未具備安裝或執行 MSDE 2000 的授權,您可以在 MSDE 2000 Release A 網頁 (英文) 上註冊以取得授權。
若要安裝 MSDE 2000 SP4,請檢視此讀我檔案中第 1 與第 2 節中的內容,若有下列情況,亦請遵循第 3 節中的指示:
此讀我檔案中的以下幾節包含了將現有 MSDE 執行個體升級至 MSDE 2000 SP4,或安裝新的 MSDE 2000 執行個體時之常見情況的範例:
嘗試執行 MSDE 2000 SP4 安裝程式前,您的電腦必須符合下列軟硬體需求。
下表說明安裝及執行 MSDE 2000 時的硬體需求。
硬體 | 最低需求 |
電腦 | Intel Pentium 或相容,至少 166 MHz |
記憶體 (RAM) | Microsoft Windows XP 與 Windows 2003 Server 需要 128 MB
Windows 2000 至少需要 64 MB |
硬碟空間 | Microsoft Windows XP 與 Windows 2003 Server 需要 75 MB
Windows 2000 需要 100 MB |
磁碟機 | 光碟機 (用於從光碟片安裝 MSDE 2000 SP4) |
MSDE 2000 沒有硬體相容性清單 (HCL)。若您的電腦符合上表所列的最低需求,MSDE 2000 軟體即可在經過認證可與 Windows 作業系統搭配使用的硬體上運作。對於經過認證可與 Windows 作業系統搭配使用的硬體,如需相關資訊,請參閱此 Microsoft 網站 (英文) 中的 Windows 硬體相容性清單。
若要使用 MSDE 2000,您必須先安裝下列其中一種作業系統:
重要事項 SQL Server 2000 SP4 在 Windows NT 4.0、Windows Millennium Edition 與 Windows 98 平台上不受支援。在最新的 SQL Server 2000 SP4 發行後的 12 個月內,Windows NT 4.0、Windows Millennium Edition 與 Windows 98 平台上的 SQL Server 2000 SP3a 安裝仍可繼續保有重大 Hotfix 的支援。
若要執行 MSDE 2000 安裝程式,檔案與列印共用必須處於作用中。
驗證檔案與列印共用是否處於作用中
若下列其中一項安全性原則設為 [不允許安裝],MSDE 2000 SP4 安裝即會失敗:
若您使用 [不允許安裝] 設定,則必須在安裝 MSDE 2000 SP4 前將其變更為 [無訊息式成功]。若有需要,您可以在安裝完成後將該原則還原為先前的設定。
注意 [不允許安裝] 並非這些安全性原則的預設設定。
設定安全性原則
只有使用 Microsoft Windows Installer 2.0.2600.0 或更新版本時,才可從光碟片安裝 MSDE 2000 SP4 的升級檔案。若您需要升級 Windows Installer,MSDE 2000 SP4 中含有您所需的檔案。
升級 Windows Installer
若有應用程式正在使用 MSDE 執行個體,請在升級至 MSDE 2000 SP4 前,先詢問應用程式提供者該應用程式是否有任何適用的 MSDE 升級注意事項。
本節說明在您使用 MSDE 2000 SP4 將現有的 MSDE 執行個體升級為 MSDE 2000 SP4 前,必須先處理哪些問題並執行哪些工作。
在 Database Components SP4 的執行個體上建立的資料庫或資料庫備份,可以附加或還原到舊版的 SQL Server 2000 上。但複寫拓撲中的資料庫則有所限制。如需詳細資訊,請參閱 1.2.3 小節複寫或記錄傳送拓撲中關於執行個體的注意事項。
將 MSDE 2000 SP4 套用至現有 MSDE 2000 執行個體的程序,會隨著執行個體的安裝方式而有所不同。大部分的應用程式會以下列其中一種方式安裝 MSDE 2000:
注意 新應用程式的安裝公用程式必須撰寫為呼叫 MSDE 2000 安裝程式公用程式,而非撰寫為直接採用 MSDE 2000 合併模組。MSDE 2000 SP4 含有合併模組。然而,只有在應用程式廠商必須針對他們最初透過直接採用合併模組的公用程式所安裝的 MSDE 執行個體,建置修補程式檔案時,才可使用這些合併模組。
若一部電腦上有多個 MSDE 2000 執行個體,您必須個別評估每個執行個體,來判斷是否可套用 MSDE 2000 SP4。您還必須個別對每個執行個體套用 SP4。
注意 Microsoft 不支援同一部電腦上含有超過 16 個 SQL Server 資料庫引擎執行個體的設定。其中包括 SQL Server 6.5、SQL Server 7.0、SQL Server 2000、MSDE 1.0 與 MSDE 2000 的執行個體。
微軟知識庫文章 311762 (英文) 所包含的相關指示可用來判斷 MSDE 2000 執行個體的安裝方式。遵循文章 311762 中的程序之餘,請牢記下列重點:
您可以從硬碟、網路共用或光碟片執行 MSDE 2000 SP4 安裝程式。若您從硬碟執行安裝程式,則不需要原始的 MSDE 2000 安裝檔案。但若您要從網路共用或 CD 將 MSDE 2000 執行個體升級至 MSDE 2000 SP4,則當初用來安裝 MSDE 2000 的檔案,必須位於原始安裝期間所在的相同位置上。若原始安裝是從 CD 執行,則 MSDE 2000 SP4 安裝程式會在進行升級時要求原始 CD。若原始檔案已不在網路共用的原始位置上,或原始光碟片已無法使用,您必須將 MSDE 2000 SP4 檔案複製到硬碟上,並於此處執行安裝程式。
MSDE 2000 SP4 安裝程式會將屬於複寫拓撲成員的使用者資料庫升級。這項升級可能會影響到複寫的使用者資料庫的備份及還原功能。在您安裝 MSDE 2000 SP4 前,請確定您可以寫入複寫資料庫與檔案群組。
如需將 SP4 套用至複寫拓撲所含之資料庫的詳細資訊,請參閱 3.4 小節在複寫的伺服器上安裝 MSDE 2000。有關複寫的其他備份與還原注意事項詳細說明於 5.2.4 小節合併式複寫的備份及還原問題。
注意 若 MSDE 2000 執行個體不屬於應用程式拓撲,您可以備份使用者資料庫,並將其還原在任何其他版本的 SQL Server 2000 或 MSDE 2000 上。
如果安裝程式偵測到任何不可寫入的使用者資料庫或檔案群組,則會執行下列動作:
Setup has detected one or more databases and filegroups which are not writable.
除非列在安裝記錄中的部份資料庫為複寫拓撲的成員,否則無法忽略此項警告。如果列於安裝程式記錄中的任何不可寫入資料庫為複寫拓撲的成員,則您必須使那些資料庫成為可寫入,並重新將 SP4 套用至該 SQL Server 2000 執行個體。
如需使資料庫成為可寫入的相關資訊,請參閱 3.5 小節將 MSDE 2000 SP4 套用至複寫拓撲中的唯讀資料庫或檔案群組。 如需有關重新套用 SP4 的詳細資訊,請參閱 3.8 小節重新套用 MSDE 2000 SP4。
在您使用 MSDE 2000 SP4 升級現有的 MSDE 執行個體前,建議您先規劃如何在必要時將執行個體回復為原有的狀態,以因應後續可能發生的狀況。安裝 MSDE 2000 SP4 時,基於維護因素,SP4 會變更系統資料表。也會升級身為複寫拓撲成員的使用者及散發資料庫。由於這些變更的性質所致,因此無法輕易移除 MSDE 2000 SP4。若要還原至您在 MSDE 2000 SP4 安裝前所執行的建置版本,必須先解除安裝 MSDE 2000 的執行個體,再予以重新安裝。接著,若您先前執行 SQL Server 2000 Service Pack 或套用任何 Hotfix,您必須對要還原的執行個體重新套用該 Service Pack 與 Hotfix。
重要事項 若要將系統安全地還原至安裝 MSDE 2000 SP4 前的狀態,您必須在安裝 MSDE 2000 SP4 前,先進行 master、model 與 msdb 資料庫的備份。如需相關資訊,請參閱 3.1.1 小節備份 SQL Server 資料庫。
如需相關資訊,請參閱 3.7 小節解除安裝 MSDE 2000 SP4。
MSDE 2000 安裝程式的行為已於 SP3a 變更,因此其預設值可進行更安全的設定。這些變更也沿用到 SP4 中,如下所示:
根據預設,當安裝新的 MSDE 2000 執行個體時,SP4 會停用網路支援。現有的執行個體升級時,會保有其網路支援設定。若沒有其他電腦上的應用程式連線至您的 MSDE 2000 執行個體,執行個體即不需要網路支援。關閉非使用中的資源是審慎的做法。若您將 DISABLENETWORKPROTOCOLS 安裝參數值指定為 0,即可在安裝期間啟用網路支援。若您在安裝 MSDE 2000 SP4 的執行個體時啟用網路支援,您可於稍後重新設定執行個體以停用支援。有關如何停用及還原網路存取的詳細資訊,請參閱微軟知識庫文章 814130。
您必須指定增強式 SA 密碼,MSDE 2000 SP4 安裝程式才會安裝新的 MSDE 2000 執行個體。使用 SAPWD 參數可指定增強式 SA 密碼。您必須為 SA 登入指派強式密碼,MSDE 2000 SP4 安裝程式才會升級現有的 MSDE 2000 執行個體。即使在您升級現有的執行個體時,仍必須為 SA 登入指派強式密碼,除非使用 MSDE 執行個體的應用程式以某種方式依存於 Null SA 密碼。即使 MSDE 2000 的執行個體使用 Windows 驗證,SA 登入仍會在執行個體切換為「混合模式驗證」時立即變成作用中狀態。Null、空白、簡易或常見的 SA 密碼,很容易受到未經授權之存取的使用。若您必須在將 MSDE 2000 執行個體升級為 MSDE 2000 SP4 前指派增強式 SA 密碼,請參閱微軟知識庫文章 322336。
為提高安全性,請儘可能在安裝 MSDE 2000 時使用 Windows 驗證。若以下兩個情況皆屬實,請考慮將「混合模式驗證」切換為 Windows 驗證:
有關將 MSDE 2000 的執行個體從「混合模式驗證」變更為 Windows 驗證的詳細資訊,請參閱微軟知識庫文章 322336。
若要在一部電腦上安裝 MSDE 2000 與 SQL Server 2000 資料庫引擎的多個複本或執行個體,您必須知道執行個體的名稱。一部電腦上最多可有 16 個執行個體。其中一個執行個體沒有執行個體名稱,稱為預設執行個體。其他 15 個執行個體必須具備唯一的執行個體名稱,稱為具名執行個體。
您可以使用 MSDE SP4 安裝程式來安裝或升級 MSDE 的執行個體。若要安裝或升級 MSDE 的具名執行個體,您必須使用 INSTANCENAME 參數來指定執行個體名稱。若未指定 INSTANCENAME,安裝程式會以該部電腦的預設 MSDE 執行個體運作。您無法使用 MSDE 2000 SP4 來升級 SQL Server 2000 資料庫引擎的執行個體。
若要尋找電腦上現有的執行個體,請執行下列操作:
右側清單窗格中會出現名為 MSSQLSERVER 之服務的預設執行個體。具名執行個體則會列示為 MSSQL$InstanceName 服務,其中 InstanceName 是執行個體的名稱。
執行個體名稱必須遵循此 Microsoft 網頁中的規則。
MSDE 2000 SP4 安裝程式可判斷是否要將已安裝的 Microsoft Data Access Components (MDAC) 版本升級至 MDAC 2.8 SP1:
注意 若將安裝了 MSDE 2000 SP4 的電腦升級至較新的作業系統平台,則由 SP4 所安裝的 MDAC 版本將不復存在。
注意 請參閱知識庫文章 301202,以取得判斷您電腦上之 MDAC 版本的指示。
MSDE 2000 SP4 安裝 MDAC 2.8 SP1 時,MDAC 會使用與 MSDE 2000 SP4 相同的語言版本。若要讓 MDAC 保有與 MSDE 2000 SP4 不同的語言版本,您必須在執行 MSDE 2000 SP4 安裝程式前下載及安裝您要使用的 MDAC 2.8 SP1 語言版本。您可以由 Microsoft Data Access 下載網頁 (英文) 下載特定語言的 MDAC 2.8 SP1 版本。
MDAC 2.8 SP1 包含可升級到 MSXML 3.0 SP7 的程式。MDAC 2.81 也會升級 Microsoft SQL Server 2000 所隨附的 SQLXML 1.0。此 Service Pack 不會安裝或升級 SQLXML 3.0。若您的應用程式需要 SQLXML 3.0,您必須由此 Microsoft 網站 (英文) 下載並安裝。如需 MDAC 2.8 SP1 的詳細資訊,請參閱 Microsoft 資料存取下載網頁 (英文)。 如需 MDAC 的相關資訊,請參閱知識庫文章 822758 (英文)。MDAC 2.8 SP1 中所隨附的修正檔記載於知識庫文章 884930 (英文)。
所有可與 MSDE 2000 搭配使用的 Windows 版本,都包含可使用 MSDE 2000 SP4 的 MDAC 軟體。若您將 MSDE 2000 的執行個體設定為支援網路通訊,並設定當作資料庫伺服器運作,則不需在任何 Windows 電腦上安裝用戶端軟體以啟用相關的應用程式使該電腦連線至 MSDE 2000 執行個體。如需網路通訊的詳細資訊,請參閱此 Microsoft 網頁 (英文)。
注意 SQL Server 2000 SP4 的試用版安裝了 MSXML 3.0 SP7 的試用版。若您安裝了 SQL Server 2000 SP4 的試用版,建議您從 Microsoft 網站 (英文) 下載並安裝 MSXML 3.0 SP7 的最新版本。
執行安裝程式前,請識別要升級之 MSDE 2000 執行個體的版本。若 MSDE 2000 的版本已為 SP4 或更新版本,您就不需再安裝 SP4。
若要識別已安裝的 MSDE 2000 版本,請執行下列操作:
SELECT SERVERPROPERTY('ProductLevel')
SELECT @@VERSION
SELECT SERVERPROPERTY('ProductVersion')
SQL Server 2000 版本和層級 | @@VERSION | 產品層級 |
SQL Server 2000 原始版本 | 8.00.194 | RTM |
Desktop Engine SP1 | 8.00.384 | SP1 |
Desktop Engine SP2 | 8.00.534 | SP2 |
Desktop Engine SP3、SP3a 或 MSDE 2000 Release A。 | 8.00.760 | SP3 |
MSDE 2000 SP4 | 8.00.2039 | SP4 |
注意 如果您在安裝產品或安裝舊版的 Service Pack 後套用了 Hotfix,則您的產品版本可能會與這些值有所不同。例如:@@VERSION
會在您將安全性修正檔 MS03-031 套用至 MSDE 2000 Release A 後,傳回 8.00.818 值。
SELECT SERVERPROPERTY('Edition')
當傳回 Desktop Engine 值時,表示執行個體為 MSDE 2000。
此 Service Pack 中所含的修正檔清單將在微軟知識庫文章 888799 (英文) 中提供。888799 (英文) 中所列的每個修正檔,都有連結可連接至相關的知識庫文章以說明特定修正檔所解決的問題。請遵循各個知識庫文章的連結以查看每個修正檔的相關資訊。
任何與 SQL Server 2000 Service Pack 4 相關但未能即時涵蓋於此讀我檔案中的資訊將在微軟知識庫文章 884525 (英文) 中發行。
此讀我檔案所引用的知識庫文章皆位於微軟知識庫中。
尋找知識庫中的文章
所有公開發行的 SQL Server 2000 SP3a 與 SQL Server 2000 (64 位元) 安全性公告均已於 SP4 中說明。
如果您是在 2004 年 12 月 2 日之後收到 SQL Server 2000 Hotfix,則該 Hotfix 可能不會涵蓋在 SP4 中。請聯絡您的主要支援提供者,瞭解如何為 SQL Server 2000 SP4 取得相同的 Hotfix。
SQL Server 2000 SP4 包含了服務性增強功能,讓您可以將日後的 Hotfix 解除安裝。如需詳細資訊,請參閱 5.7 小節服務性增強功能。
SQL Server 2000 SP4 納入的 MSDE 2000 變更可解決 Slammer 蠕蟲所引發的問題:
已升級或計劃將 SQL Server 2000 資料庫和發行者伺服器升級至 SP4 的 Microsoft SQL Server 2000 Windows® CE Edition (SQL Server CE) 與 SQL Server 2005 Mobile Edition (SQL Mobile) 使用者,也應該升級 Microsoft Internet Information Services (IIS) 伺服器上的伺服器複寫元件。SQL Server CE 和 SQL Mobile 的更新伺服器工具安裝程式已發行。
注意 即使您升級至 SQL Server 2000 SP3 或 SP3a 後曾更新您的伺服器複寫元件,您仍須將與 SP4 相關的最新更新安裝至伺服器工具元件。
SQL Server 2000 SP4 消除了對由作業系統所安裝之 MSXML 版本執行 OPENXML 的需要。MSDE 2000 SP4 會安裝內部版本的 MSXML 技術,此版本對 MSXML 2.6 具有回溯相容性。
《SQL Server 2000 線上叢書》是 MSDE 2000 的主要使用者文件。線上叢書會定期以修正檔與新資訊進行更新。2004 年 1 月,線上叢書進行更新並納入了更多有關 MSDE 2000 的資訊。強烈建議您下載並安裝最新版的線上叢書,原因如下:
最新版的線上叢書位於下列位置中:
此 Microsoft 網站中有針對 SP3 與 SP3a 更新的 SQL Server 2000 資料庫引擎可供使用。所有參考 MSDE 2000 所含之 SQL Server 2000 元件的範例,也都適用於 MSDE 2000,但 MSDE 2000 不支援的功能除外。包含在內的功能有資料庫引擎、資料庫用戶端連接元件與程式設計 API、複寫,以及資料轉換服務 (DTS) 等。
在您準備下載及解壓縮 SQL Server 2000 SP4 前,請閱讀本節稍後的<下載及解壓縮階段性指導方針>。SQL Server 2000 SP4 以下列方式散發:
若您有 SQL Server 2000 SP4 CD,可以從 CD 使用自動解壓縮檔案 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe,將 MSDE 2000 的執行個體升級為 MSDE 2000 SP4。
注意 LLL 代表隨不同語言而改變的指示項。
當您從下載網站或 SP4 CD 取得 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 後,即可加以執行,將 MSDE 2000 SP4 檔案解壓縮至您的電腦上。SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 會在您的硬碟上建立一組資料夾與檔案,以供您安裝 MSDE 2000 SP4 之用。
SQL Server 2000 Desktop Engine 的 Service Pack 有不同的語言版本。升級 MSDE 2000 的執行個體時,您必須根據您的執行個體取得使用相同語言的 Service Pack。使用 SQL Server 2000 SP4 CD 或下載 MSDE 2000 SP4 檔案,皆可取得 Service Pack。例如,若您要升級使用日文的 MSDE 2000 執行個體,則必須取得日文版的 MSDE 2000 SP4。
注意 MSDE 2000 SP4 是唯一提供葡萄牙文 (巴西)、瑞典文及荷蘭文的 Service Pack,因為 SQL Server 2000 Desktop Engine 是 SQL Server 2000 針對這些語言所生產的唯一元件。由 Database Components SP4 或 Analysis Services SP4 升級的 SQL Server 2000 元件不提供這些語言的版本。
若您不確定 MSDE 2000 執行個體所使用的語言,請:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\InstanceName\CurrentVersion
其中 InstanceName 是執行個體的名稱。
Language 登錄值 (十六進位) | Language 登錄值 (十進位) | 該執行個體的語言 |
0x00000404 | 1028 | 繁體中文 |
0x00000407 | 1031 | 德文 |
0x00000409 | 1033 | 英文 |
0x0000040a | 1034 | 西班牙文 |
0x0000040c | 1036 | 法文 |
0x00000410 | 1040 | 義大利文 |
0x00000411 | 1041 | 日文 |
0x00000412 | 1042 | 韓文 |
0x00000413 | 1043 | 荷蘭文 |
0x00000416 | 1046 | 葡萄牙文 (巴西) |
0x0000041d | 1053 | 瑞典文 |
0x00000804 | 2052 | 簡體中文 |
若您的 MSDE 2000 執行個體是使用 MSDE 安裝公用程式進行安裝,您可以使用 SQL Server 2000 SP4 下載檔案來升級 MSDE 2000 執行個體。安裝公用程式的原始套件名稱為 SqlRun01.msi 至 SqlRun16.msi。
若要下載 MSDE 2000 SP4,請執行下列操作:
您必須先從 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 解壓縮安裝檔案,才能安裝 MSDE 2000 SP4。可以直接從 SP4 CD 執行 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe,或從下載檔案或存放複製自 CD 中檔案所在的資料夾執行。
若要解壓縮 MSDE 2000 SP4 檔案,請執行下列操作:
從網際網路下載及解壓縮 MSDE 2000 SP4 安裝檔案時,請使用下列指導方針:
注意 當您將 Service Pack 解壓縮至網路共用目錄時,您所指定的資料夾路徑與您執行 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe. 的資料夾是相關的。
若要安裝 MSDE 2000 SP4,請使用以下幾節的安裝指示。安裝 MSDE 2000 SP4 前,請先檢視 1.0 小節簡介中的說明。MSDE 2000 SP4 的安裝階段如下:
MSDE 2000 SP4 含有 SQL Server 2000 Desktop Engine 執行個體安裝或升級時所需的完整檔案集。若您具有安裝或升級 MSDE 2000 執行個體的授權,您可以使用 MSDE 2000 SP4 的檔案來執行所有 MSDE 2000 安裝動作。如需 MSDE 2000 授權的詳細資訊,請參閱此 Microsoft 網站。
如需執行安裝程式的其他相關資訊,《SQL Server 2000 線上叢書》是主要的文件來源。有關安裝最新版《SQL Server 2000 線上叢書》或至 MSDN Library 存取線上複本的詳細資訊,請參閱 1.8 小節 SQL Server 2000 線上叢書已更新。
此處有一個參考主題的連結,可說明 MSDN Library 中線上叢書複本的安裝程式可執行檔。自訂 Desktop Engine Setup.exe。
在最新版的《SQL Server 2000 線上叢書》中,<自訂 Desktop Engine Setup.exe>說明了 Desktop Engine SP3a 與 MSDE 2000 Release A 所含之安裝程式可執行檔版本的功能。此文件也適用於 SP4 版本的 Desktop Engine 安裝程式,但不含 SP4 中所採用的 SAVESYSDB 參數。如需相關資訊,請參閱 5.6.1 小節新的 MSDE 2000 安裝程式 SAVESYSDB 參數。
注意 在 SQL Server 2000 SP3 之前的 MSDE 安裝程式版本中,使用者必須指定用來安裝或升級 MSDE 2000 執行個體的 .msi 安裝套件檔案。而在 SP3 或更新版本的安裝程式中,安裝程式會管理 .msi 檔案,因此您不需指定升級或做新安裝所使用的 .msi 檔案。
安裝 MSDE 2000 SP4 前,您必須執行下列動作:
安裝 MSDE 2000 SP4 前,請先備份 master、msdb 與 model 資料庫。安裝 MSDE 2000 SP4 時會修改 master、msdb 與 model 資料庫,而使它們與 SP4 前的 MSDE 2000 版本不相容。若您決定重新安裝不含 SP4 的 MSDE 2000,就必須使用這些資料庫的備份。
儘管 SP4 只會在屬於複寫拓撲成員的使用者資料庫中執行更新,但是備份您所有的使用者資料庫是比較審慎的做法。
現有的備份配置會記錄複寫,讓您在升級至 SP4 後而遇到失敗時能將資料庫還原至已知的點。在套用 SP4 之後,建議為任何位在複寫拓撲中的使用者資料庫進行記錄備份或完整的資料庫備份。若您執行這些資料庫的備份,而稍後複寫資料庫失敗,就不需在資料庫還原後重新套用 SP4。
如果並未對 master 及 msdb 資料庫選取 autogrow 選項,則資料庫必須至少有 500 KB 的可用空間。若要確認它們是否有這麼多空間,請對 master 資料庫或 msdb 資料庫執行 sp_spaceused 系統預存程序。如果任一個資料庫中的未配置空間少於 500 KB,請增加資料庫的大小。如需相關資訊,請參閱《SQL Server 2000 線上叢書》的<展開資料庫>。
如果已對 master 及 msdb 資料庫選取了 autogrow,而且有足夠的磁碟空間,您可以略過先前空間確認的步驟。
若要確認是否選取了 MSDE 2000 中的 autogrow 選項,請使用 osql 命令提示字元公用程式發出下列 SQL 陳述式:
sp_helpdb master
sp_helpdb msdb
在這些陳述式的輸出中,請確認成長欄位的值不是 0。
安裝 Analysis Services SP4 前,應先停止所有應用程式與服務,包括 [控制台]、[新增/移除程式]、SQL Server 2000 Reporting Services、SQL Server 2000 Notification Services,以及所有連線至所要升級之 MSDE 執行個體的應用程式。
您可以不先關閉服務即套用 MSDE 2000 SP4,但如此一來,某些服務將必須等到系統重新開機後才能再次啟動。如果您不關閉服務,安裝完成時將會提示您重新開機。若未重新開啟系統,下列服務可能會無法啟動:
您可以降低在 MSDE 2000 SP4 安裝後必須重新啟動電腦的可能性。若要降低這種可能性,請在執行安裝程式前停止前述清單中的服務與應用程式。
本節含有執行 MSDE 2000 SP4 安裝公用程式所需的一般指導方針。本節還會提供常見 MSDE 2000 SP4 案例的範例:
若要安裝 MSDE 2000 SP4,請從下列位置之一執行 Setup.exe:
如此即可啟動安裝程序。
MSDE 2000 SP4 所含的安裝程式執行檔為 MSDE 2000 的 Desktop Engine 安裝程式的 SP4 版本。除了 SAVESYSDB 參數外,MSDE 2000 SP4 安裝程式的作業方式都記載於最新版的《SQL Server 2000 線上叢書》中。如需安裝最新版《SQL Server 2000 線上叢書》的相關資訊,請參閱 1.8 小節SQL Server 2000 線上叢書已更新。這是一份記載 Setup.exe 行為的英文版參考主題:自訂 Desktop Engine Setup.exe。
根據設計,MSDE 2000 SP4 應隨應用程式一併散發,並以應用程式的安裝程式進行安裝。MSDE 2000 並沒有互動式安裝程式。根據設計,MSDE 2000 的安裝機制必須由應用程式的安裝公用程式呼叫。應用程式的安裝程式會處理任何與使用者之間的必要互動。MSDE 2000 有兩種安裝機制:
重要事項 請一律透過 Setup.exe 的執行來安裝或升級 MSDE 執行個體。請勿嘗試透過 .msi 檔案間接啟動安裝程式,例如請勿按兩下任何一個 MSDE 2000 .msi 檔案。
您必須從命令提示字元執行 Setup.exe 來安裝或升級任何 MSDE 執行個體。使用者可以指定參數來控制 MSDE 2000 安裝程式的行為。安裝參數可透過下列兩種方式之一來指定:
若指定的 MSDE 安裝參數值中包含特殊字元 (如空白字元),您必須以引號將這些值括住。在其它情況下,您可以選擇是否使用引號。
3.2.2、3.2.3 與 3.2.4 小節將針對安裝 MSDE 2000 SP4 時的常見案例提供可用參數的範例。可為安裝程式指定的參數記載於最新版的《SQL Server 2000 線上叢書》中。如需安裝最新版《SQL Server 2000 線上叢書》的相關資訊,請參閱 1.8 小節 SQL Server 2000 線上叢書已更新。這是一份記載 Setup.exe 行為的英文版參考主題:自訂 Desktop Engine Setup.exe。
注意 若您嘗試使用終端機服務連線將現有的 MSDE 執行個體升級為 MSDE 2000 SP4,或安裝新的 MSDE 2000 SP4 執行個體,則會發生問題。如果遇到問題,請從本機電腦重新啟動安裝程式。
您可以在 .ini 檔案中指定 MSDE 2000 Setup.exe 參數,此檔案的位置由 /settings 參數所指定。.ini 是一種文字檔;例如,您可以透過 [記事本] 建立和儲存檔案,並在檔名中加入 .ini 副檔名。在 .ini 檔案中,第一行為 [Options]。接下來,您可以指定參數,一行輸入一個參數。
安全性注意事項 如果您在安裝過程中會使用 .ini 檔案,請避免將安全性憑證存放在 .ini 檔案中。
下列範例將在命令提示字元中指定參數:
setup SAPWD="AStrongPassword" INSTANCENAME="InstanceName"
TARGETDIR="C:\MyInstanceFolder"
若要以 .ini 檔案中的相同參數執行安裝程式,請使用 [記事本] 建立名為 MyParameters.ini
的檔案,其中包含下列內容:
[Options]
INSTANCENAME="InstanceName"
TARGETDIR="C:\MyInstanceFolder"
接著請使用 /settings 參數指向 .ini 檔案,以執行安裝程式:
setup /settings "MyParameters.ini" SAPWD="AStrongPassword"
使用詳細資訊記錄可確認已有 N 次安裝成功,或在問題發生時提供疑難排解協助。
若要產生詳細資訊記錄,請指定 /L*v <LogFileName>,其中 <LogFileName> 是安裝程式用來記錄其所有動作的記錄檔名稱。若您所指定的名稱不含路徑,則記錄檔案會建立在目前的資料夾中。若您是從光碟片執行安裝程式,則必須指定硬碟上資料夾的完整路徑。
下列範例將在 C: 磁碟機的根資料夾中建立記錄檔 MSDELog.log:
磁碟機:setup SAPWD="AStrongSAPassword" /L*v C:\MSDELog.log
若安裝成功,記錄的結尾將出現如下項目:
=== Logging stopped: 5/16/03 0:06:10 ===
MSI (s) (BC:7C): Product: Microsoft SQL Server Desktop Engine
-- Installation operation completed successfully.
若安裝失敗,記錄的結尾將出現如下項目:
=== Logging stopped: 5/15/03 23:50:34 ===
MSI (c) (6A:CE): Product: Microsoft SQL Server Desktop Engine
-- Installation operation failed.
若安裝失敗,請在錯誤記錄中搜尋字串 "value 3"
。該字串的 10 行以內為自訂動作的失敗通知。通知中中包含了有關失敗性質的其他資訊。
本節中的範例說明如何將現有的 MSDE 2000 執行個體升級至 MSDE 2000 SP4,以及如何停用該 MSDE 2000 執行個體的網路連接。若執行個體必須接受來自在其他電腦上執行之應用程式的連線,則請勿指定 DISABLENETWORKPROTOCOLS 參數。
本節中的範例假設 sa 登入使用強式密碼。如需 sa 登入密碼的詳細資訊,請參閱 1.3 小節 MSDE 2000 SP4 的安全性注意事項。
將現有的 MSDE 2000 執行個體升級至 MSDE 2000 SP4
cd c:\MSDESP4Folder\MSDE
其中 c:\MSDESP4Folder 是指存放您所解壓縮之 MSDE 2000 SP4 檔案的資料夾路徑,或是 SQL Server 2000 SP4 CD 上的 MSDE 2000 SP4 資料夾。
setup /upgradesp sqlrun /L*v C:\MSDELog.log
setup /upgradesp sqlrun DISABLENETWORKPROTOCOLS=0 /L*v C:\MSDELog.log
setup /upgradesp sqlrun INSTANCENAME=InstanceName /L*v C:\MSDELog.log
setup /upgradesp sqlrun SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin
UPGRADEPWD=AdminPassword /L*v C:\MSDELog.log
setup /upgradesp sqlrun INSTANCENAME= InstanceName SECURITYMODE=SQL
UPGRADEUSER=AnAdminLogin UPGRADEPWD=AdminPassword /L*v C:\MSDELog.log
這些範例中使用換行,是為了方便閱讀。真正執行命令時則不可使用換行。
注意 若要升級的 MSDE 2000 執行個體先前曾使用舊版的 SQL Server 2000 Service Pack 從 MSDE 1.0 進行升級,則您還必須附加 UPGRADE=1
到安裝程式命令中。
安全性注意事項 如果您在安裝過程中會使用 .ini 檔案,請勿將憑證存放在 .ini 檔案中。
本節中的範例將說明如何安裝已設為停用網路連接的新 MSDE 2000 SP4 執行個體 (停用網路連接是預設行為)。若執行個體必須接受在其他電腦上執行之應用程式的連線,則您還必須指定 DISABLENETWORKPROTOCOLS=0
.
下列範例將使用所有設定項目 (如定序與檔案位置) 的預設值來安裝執行個體。這些設定可由安裝參數來控制,如 COLLATION、DATADIR 與 TARGETDIR。如需可對安裝程式指定之設定參數的相關資訊,請參閱自訂 Desktop Engine Setup.exe。
安裝新的 Desktop Engine 執行個體
cd c:\MSDESP4Folder\MSDE
其中 c:\MSDESP4Folder 是指存放您所解壓縮之 MSDE 2000 SP4 檔案的資料夾路徑,或是 SQL Server 2000 SP4 CD 上的 MSDE 2000 SP4 資料夾。
setup SAPWD="AStrongSAPwd" /L*v C:\MSDELog.log
其中 AStrongSAPwd 代表要指派給 sa 登入的強式密碼。
setup INSTANCENAME="InstanceName" SAPWD="AStrongSAPwd"
/L*v C:\MSDELog.log
其中 AStrongSAPwd 代表要指派給 sa 登入的強式密碼,而 InstanceName 為要指派給執行個體的名稱。
setup SAPWD="AStrongSAPwd" SECURITYMODE=SQL
/L*v C:\MSDELog.log
其中 AStrongSAPwd 代表要指派給 sa 登入的強式密碼。
setup INSTANCENAME="InstanceName" SECURITYMODE=SQL
SAPWD="AStrongSAPwd" /L*v C:\MSDELog.log
其中 AStrongSAPwd 代表要指派給 sa 登入的強式密碼,而 InstanceName 為要指派給執行個體的名稱。
重要事項 如果您在安裝過程中會使用 .ini 檔案,請勿將憑證存放在 .ini 檔案中。
重要事項 請一律為 sa 登入指定強式密碼,即使執行個體設定為使用 Windows 驗證亦然。
本節中的範例說明如何將現有的 MSDE 1.0 執行個體升級至 MSDE 2000 SP4,以及如何停用執行個體的網路連接。若執行個體必須接受在其他電腦上執行之應用程式的連線,則請勿指定 DISABLENETWORKPROTOCOLS 參數。
MSDE 1.0 的運作方式與 MSDE 2000 的預設執行個體相同,且一律會升級至 MSDE 2000 的預設執行個體。
注意 複寫拓撲中的 MSDE 1.0 執行個體無法升級至 MSDE 2000 SP4。
將 MSDE 1.0 執行個體升級至 MSDE 2000 SP4
cd c:\MSDESP4Folder\MSDE
其中 c:\MSDESP4Folder 是指存放您所解壓縮之 MSDE 2000 SP4 檔案的資料夾路徑,或是 SQL Server 2000 SP4 CD 上的 MSDE 2000 SP4 資料夾。
setup UPGRADE=1 DISABLENETWORKPROTOCOLS=1
/L*v C:\MSDELog.log
setup UPGRADE=1 SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin
UPGRADEPWD=AdminPassword DISABLENETWORKPROTOCOLS=1
/L*v C:\MSDELog.log
重要事項 如果您在安裝過程中會使用 .ini 檔案,請勿將憑證存放在 .ini 檔案中。
安全性注意事項 強烈建議您不要使用空白密碼,因為空白密碼會大幅提高安全性缺口遭受攻擊的可能性。
注意 若您使用 BLANKSAPWD=1
,則不需指定 SECURITYMODE=SQL
或 UPGRADEUSER
與 UPGRADEPWD
.
當安裝程式完成時,可能會提示您重新啟動系統。3.1.3 小節在執行 MSDE 2000 SP4 安裝程式前先停止服務與應用程式提供了何時需要重新啟動的相關指導方針。系統重新啟動後 (或在安裝程式完成卻未要求重新啟動的情況下),請使用 [控制台] 中的 [服務] 應用程式,來確定您在套用 Service Pack 前所停止的任何服務都在執行中。您在套用 Service Pack 前可能停止的服務包括 DTC、MSSQLServer 與 SQLServerAgent 服務及其執行個體特定的等同項目。
重新啟動您在執行 Service Pack 安裝程式之前關閉的應用程式。
同時,為審慎起見,也請備份已經升級的 master 與 msdb 資料庫。
下列資訊僅適用於屬於合併複寫拓撲的現有 MSDE 2000 執行個體。
注意 在大多數的情況下,尤其是在合併式複寫中,散發者及發行者會位於同一部伺服器上,並會同時升級。
在下列情況下,您必須靜止系統 (停止所有更新) 並同時升級所有伺服器。
下表所含的伺服器可同時發行及訂閱可在訂閱者進行更新的發行集。如前一節所述,對於可在訂閱者進行更新的拓撲而言,您必須遵照散發者、發行者和訂閱者這樣的升級順序。此順序的要求是,若為合併式發行集,則先升級伺服器 A;若為含有更新訂閱者的交易式發行集,則先升級伺服器 B。在此情況下,您必須靜止系統並同時升級伺服器。
伺服器 A | 伺服器 B |
---|---|
合併式複寫的發行者/散發者 | 合併式複寫的訂閱者 |
含更新之交易式複寫的訂閱者 | 含更新之交易式複寫的發行者/散發者 |
在此範例中,您可以先升級伺服器 A,因為唯讀交易式發行集允許在升級發行者/散發者之前先升級訂閱者。
伺服器 A | 伺服器 B |
---|---|
合併式複寫的發行者/散發者 | 合併式複寫的訂閱者 |
唯讀交易式複寫的訂閱者 | 唯讀交易式複寫的發行者/散發者 |
下列資訊僅適用於合併複寫拓撲中所含的 MSDE 2000 執行個體。
當有不可寫入的資料庫或檔案群組時,安裝程式將顯示下列訊息:
Setup has detected one or more databases and filegroups which are not writable.
一般而言,您可以略過此警告而繼續安裝。然而,如果有任何列於安裝記錄中的不可寫入資料庫為複寫拓撲的成員時,您必須使這些資料庫成為可寫入,並將 SP4 安裝程式重新套用至該 SQL Server 2000 執行個體。
在安裝期間,安裝程式將無法區分不可寫入的資料庫和離線或可疑的資料庫。在安裝期間,若複寫拓撲中的資料庫或檔案群組無法寫入,您必須重新套用 Service Pack 以升級此資料庫。如需有關如何使資料庫連線的詳細資訊,請參閱《SQL Server 線上叢書》中的<附加及卸離資料庫>主題。如需有關診斷可疑資料庫的詳細資訊,請參閱《SQL Server 線上叢書》中的<伺服器及資料庫疑難排解>主題。
將 MSDE 2000 SP4 套用至唯讀資料庫
ALTER DATABASE
陳述式,如下所示:
ALTER DATABASE database SET READ_WRITE
ALTER DATABASE
,如下所示:
ALTER DATABASE database SET READ_ONLY
將 SP4 套用至唯讀檔案群組
ALTER DATABASE
,如下所示:
ALTER DATABASE Database
MODIFY FILEGROUP filegroup_name READWRITE
ALTER DATABASE
,如下所示:
ALTER DATABASE Database
MODIFY FILEGROUP filegroup_name READONLY
如需 ALTER DATABASE 的詳細資訊,請參閱《SQL Server 線上叢書》的<ALTER DATABASE>參考主題。 如需有關重新套用 SP4 的詳細資訊,請參閱 3.8 小節重新套用 MSDE 2000 SP4。
當您將 MSDE 2000 執行個體升級至 MSDE 2000 SP4 時,可能必須確認某些系統的預存程序是否已在其他 SQL Server 或 MSDE 的執行個體中升級。
MSDE 2000 SP4 中包含了 Microsoft Data Access Components (MDAC) 至 MDAC 2.8 SP1 的升級。MDAC 2.8 SP1 包含了升級 SQLOLEDB 提供者與 SQL Server ODBC 驅動程式的程式。如需相關資訊,請參閱 1.5 小節確認 Microsoft Data Access Components 的版本。當提供者或驅動程式連線至 SQL Server 或 MSDE 的執行個體時,提供者或驅動程式會使用一組稱為目錄預存程序的系統預存程序。執行個體上的目錄預存程序版本,必須與提供者或驅動程式所使用的版本相同,甚至更新。若您嘗試連線至目錄預存程序版本較舊的 SQL Server 或 MSDE 執行個體,您將會收到下列錯誤:
The ODBC catalog stored procedures installed on server <ServerName>
are version <OldVersionNumber>; version <NewVersionNumber> or later
is required to ensure proper operation. Please contact your system
administrator.
每個版本的提供者與驅動程式都會隨附名為 Instcat.sql 的指令碼。Instcat.sql 可針對任何目錄版本較舊的 SQL Server 或 MSDE 執行個體,升級其中的目錄預存程序。
安裝 MSDE 2000 SP4 後,您必須從 MSDE 2000 SP4,針對任何比 SQL Server 2000 SP4 版本為舊且具有下列特性的 SQL Server 或 MSDE 執行個體,執行 Instcat.sql 指令碼:
針對已選取 Windows 驗證選項的 MSDE 2000 執行個體進行目錄預存程序的升級
osql -E -SComputerName -ilocation\instcat.sql
osql -E -SComputerName\InstanceName -ilocation\instcat.sql
若要針對已選取 [混合模式驗證] 選項的 MSDE 2000 執行個體進行目錄預存程序的升級,請執行下列操作:
osql -UAnAdminLogin -PAdminPassword
-SComputerName -ilocation\instcat.sql
osql -UAnAdminLogin -PAdminPassword
-SComputerName\InstanceName -ilocation\instcat.sql
其中:
InstanceName
是 SQL Server 2000 或 MSDE 2000 具名執行個體的名稱。instcat.sql
. 安裝 SQL Server 2000 執行個體的預設位置是 c:\program files\Microsoft SQL Server\MSSQL\Install。Instcat.sql 指令碼會產生許多訊息。一般而言,訊息並不會指出任何錯誤。它們只是通知您指令碼中的每個 Transact-SQL 陳述式各影響到多少列。最後的訊息應會指出指令碼的執行是否成功。
若要能夠回復到安裝 MSDE 2000 SP4 版之前的狀態,您必須在安裝 SP4 前先備份 master、msdb、與 model 資料庫。如需相關資訊,請參閱 3.1.1 小節備份 SQL Server 資料庫。
回復到安裝 MSDE 2000 SP4 版前的狀態
警告 還原至安裝 SQL Server SP4 版前的狀態時,您在安裝 SP4 後對資料庫 master、msdb 與 model 所做的所有變更都會遺失。
注意 還原至安裝 MSDE 2000 SP4 版前的狀態時,MDAC 並不會解除安裝。如需相關資訊,請參閱 1.5 小節驗證 Microsoft Data Access Components 的版本。
若資料庫或檔案群組屬於複寫拓撲的一部份,且在應用 SP4 之初為唯讀,則在其變成可寫入的狀態後,您必須重新套用 MSDE 2000 SP4。
若要重新套用 MSDE 2000 SP4,請遵循 3.0 小節安裝 Service Pack 中的步驟。
本節記載了 Service Pack 的其他安裝注意事項。
MSDE 2000 SP4 含有以應用程式重新散發 MSDE 2000 的所有必要檔案,前提是應用程式廠商須具備散發 MSDE 2000 的授權。您可以根據最新版《SQL Server 2000 線上叢書》中的說明,來散發 MSDE 2000 SP4 檔案。您也可以在此 Microsoft 網站中註冊以取得 MSDE 2000 重新散發的權限。
有關安裝最新版《SQL Server 2000 線上叢書》的詳細資訊,請參閱 1.8 小節SQL Server 2000 線上叢書已更新。
若應用程式具有 Windows Installer 類型的安裝公用程式,即可採用 MSDE 2000 合併模組來安裝 MSDE 2000 執行個體。MSDE 2000 SP4 針對使用合併模組的現有應用程式提供了支援的合併模組。新應用程式的安裝公用程式必須撰寫為呼叫 MSDE 2000 安裝公用程式,而非直接採用 MSDE 2000 合併模組。
選擇使用 MSDE 2000 合併模組來安裝 MSDE 2000 執行個體的廠商,必須為用戶提供所有後續的 MSDE 2000 修補程式。應用程式直接採用合併模組而安裝的 MSDE 2000 執行個體,會以 Windows Installer 用來與應用程式產生關聯的產品代碼 GUID 標示。只有同樣含有應用程式產品代碼 GUID 的修補程式檔案,才可以修補這些 MSDE 2000 執行個體。只有由應用程式廠商產生的修補程式檔案,才具有正確的產品代碼。Microsoft 所提供的 MSDE 2000 Service Pack 不適用於這些執行個體。應用程式廠商必須從 MSDE 2000 SP4 檔案建置修補程式檔案,並將這些修補程式檔案散發至任何需要 SP4 修正檔的 MSDE 用戶。
有關如何建立修補程式檔案套件的詳細資訊,請參閱 Windows Installer Software Development Kit (SDK),您可以從 Microsoft Platform SDK 網站下載。
若應用程式安裝公用程式經由呼叫 MSDE 2000 安裝程式來安裝 MSDE 2000 執行個體,則該 MSDE 2000 執行個體會以 MSDE 2000 產品代碼 GUID 標示。用戶可以使用標準 MSDE 2000 Service Pack 檔案來修補這些執行個體。應用程式廠商可以選擇下列其中一種方式來散發 MSDE 2000 SP4:
所有 MSDE SP4 安裝檔案與資料夾皆位於 \MSDE 資料夾中,此資料夾可在下列一或多個位置中找到:
\MSDE 資料夾中含有 Readmesql2k32desksp4.htm 檔案、readme.txt 檔案、license.txt 檔案,以及安裝公用程式的可執行檔。它還包含下列子資料夾:
如需有關如何使用 MSDE 合併模組的進一步指示,請參閱《SQL Server 2000 線上叢書》中的<使用 SQL Server Desktop Engine 合併模組>主題。
注意 新的安裝不支援合併模組。這些模組提供於 SP4 中,用以服務過去使用合併模組安裝的 MSDE 2000 執行個體。
若您的應用程式安裝呼叫 MSDE 2000 安裝程式,則會建置一個含有下列結構與檔案集的資料夾。資料夾 MSDEInstallFolder 代表範例資料夾的名稱:
MSDEInstallFolder
將下列檔案從 MSDE 2000 SP4 \MSDE 資料夾複製到此位置:Setup.exe、Setup.ini、Setup.rll 與 sqlresld.dll。
MSDEInstallFolder\Msi
將下列所有檔案從 MSDE 2000 SP4 \MSDE\Msi 資料夾複製到此位置。
MSDEInstallFolder\Setup
將下列所有檔案從 MSDE 2000 SP4 \MSDE\Setup 資料夾複製到此位置。
接著即可執行 Setup.exe 以安裝或升級 MSDE 2000 SP4 的執行個體。
注意 若電腦上並未安裝 Windows Installer,或 Windows Installer 的版本太舊而不受 MSDE 2000 SP4 安裝程式的支援,安裝程式會使用 MSDEInstallFolder\Msi 資料夾中的檔案來升級 Windows Installer。
本節將說明在您套用 MSDE 2000 SP4 後可能產生的問題,以及您在執行 SP4 時可使用的新功能。當您執行 Service Pack 從任何舊版的 MSDE 2000 (包括 MSDE 2000 Release A) 升級時,可能會發生本節所述的問題。本節不會完整說明 SP4 中提供的所有修正檔。如需這些修正檔的完整清單,請參閱知識庫文章 888799。
任何與 SQL Server 2000 Service Pack 4 相關但未能即時涵蓋於此讀我檔案中的資訊將在微軟知識庫文章 884525 (英文) 中發行。
下列增強功能適用於已安裝 Database Components SP4 的 Server 2000 執行個體。它們也適用於已安裝 MSDE 2000 SP4 的 MSDE 2000 Release A 執行個體。
於 SP1 推出
雜湊組已被移除。由於 MSDE 的某些增強功能,雜湊組於 MSDE 1.0 中所提供的效能優勢已不復存在。除此之外,移除雜湊組將使 MSDE 2000 更穩定。
因此,查詢最佳化程式不再使用雜湊組產生查詢計劃。
在極少數的情況下,移除雜湊組可能會導致查詢處理的速度更慢。您可以分析這類的查詢,瞭解建立更適合的索引是否可使得查詢效能回復為原先的水準。
於 SP1 推出
此 Service Pack 中已新增兩個 Affinity Mask 參數。
利用此 Service Pack,您可以指定要使用哪些 CPU 來執行磁碟 I/O 作業的執行緒。這個參數必須和 affinity mask 選項搭配使用。如需詳細資訊,請參閱知識庫文章 298402。
利用此 Service Pack,您可以設定針對 Virtual Interface Architecture (VIA) 啟用的系統,將 MSDE 2000 連線從特定網路卡繫結至一個或一組處理器。這個參數必須和 affinity mask 選項搭配使用。如需詳細資訊,請參閱知識庫文章 299641。
於 SP3 推出
當您以 @Action=Auto_Fix 引數執行 sp_change_users_login 時,必須在此時指定密碼。sp_change_users_login 會將密碼指派給任何它為使用者建立的新登入。下列範例說明新的 @Password 引數:
sp_change_users_login [ @Action = ] 'action'
[ , [ @UserNamePattern = ] 'user' ]
[ , [ @LoginName = ] 'login' ]
[ , [ @Password = ] 'password' ]
@Password 引數只能與 @Action=Auto_Fix 一起使用。下列範例說明在使用 Auto_Fix 時,sp_change_users_login 命令可使用的新語法。《SQL Server 線上叢書》中的其他範例沒有變動。
USE pubs
go
EXEC sp_change_users_login 'Auto_Fix', 'Mary', NULL, 'B3r12-36'
go
於 SP3 推出
若未明確設定 DisallowAdhocAccess 登錄選項,則依預設將不允許臨機操作存取 OLE DB 提供者。這表示臨機操作 (ad hoc) 查詢語法,例如 OPENDATASOURCE 及 OPENROWSET,在遠端伺服器上將無法作用。若要允許臨機操作存取,您必須明確將 DisallowAdhocAccess 選項設為 0。
於 SP3 推出
為了更有效地處理包含 LIKE 述詞的遠端查詢,SP3 中加入了 SqlServerLike 選項。MSDE 2000 SP3 或更新版本目前有兩個選項可傳送 LIKE 運算至連結的伺服器。若連結伺服器的 OLE DB 提供者支援 LIKE 運算子與萬用字元的 SQL Server 語法,您即可指定 SqlServerLike 選項,讓 MSDE 2000 使用 SQL Server 語法傳送 LIKE 運算。若連結伺服器的 OLE DB 提供者報告它可支援初級 ANSI/ISO SQL-92 語法,或傳回 SQLPROP_ANSILIKE 屬性,則 SQL Server 將使用 SQL-92 語法傳送 LIKE 運算至連結的伺服器。如需 SQLPROP_ANSILIKE 的詳細資訊,請參閱《SQL Server 2000 線上叢書》中的<撰寫 SQLPROPSET_OPTHINTS 屬性集程式>主題。
您必須新增登錄機碼值,才能啟用 OLE DB 提供者的 SqlServerLike 選項。
安全性注意事項 錯誤地編輯登錄,可能會造成嚴重的問題而必須重新安裝作業系統。Microsoft 不保證能夠解決因登錄編輯錯誤而導致的問題。編輯登錄前,請先備份重要的資料。
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<Instance Name>\Providers\<Provider Name>
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Providers\<Provider Name>
於 SP3 推出
對於分散式查詢,MSDE 2000 除了會傳回伺服器錯誤資訊,也會傳回提供者錯誤資訊。當相連結的伺服器之間的查詢發生錯誤時,MSDE 2000 會檢查提供者是否支援 IErrorRecords OLE DB 介面。如果支援這個介面,則 MSDE 2000 會呼叫 GetErrorInfo 函數以從提供者取得其他錯誤資訊,並將此資訊當作錯誤訊息的一部份傳回給使用者。如果不支援 IErrorRecords 介面,則 MSDE 2000 的行為將不會改變:MSDE 2000 會傳回一般錯誤。
例如,對使用 MSDASQL 但不支援 sql_variant 的伺服器執行下列查詢:
SELECT * FROM remote2k.dqtable.dbo.sqlvariantnotnull
--Remote2k is a loopback server.
套用 SP3 之前,MSDE 2000 會傳回下列錯誤訊息:
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'msdasql' supplied inconsistent metadata for a column.
Metadata information was changed at execution time.
套用 SP3 或更新版本之後,MSDE 2000 會傳回下列錯誤訊息:
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'msdasql' supplied inconsistent metadata for a column.
Metadata information was changed at execution time.
OLE DB error trace [Non-interface error: Column 'sql_variant' (compile-time
ordinal 3) of object '"dqtable"."dbo"."sqlvariantnotnull"' was reported
to have a DBCOLUMNFLAGS_ISFIXEDLENGTH of 16 at compile time and 0 at run time].
於 SP3 推出
SP3 與更新版本中含有新函數 fn_get_sql,可為指定的 SQL 控制代碼傳回 SQL 陳述式文字。此外,為支援此函數,sysprocesses 系統資料表中加入了三個新的資料行:sql_handle、stmt_start 與 stmt_end。
fn_get_sql 記載於最新版的《SQL Server 2000 線上叢書》中。如需安裝最新版《SQL Server 2000 線上叢書》的相關資訊,請參閱 1.8 小節 SQL Server 2000 線上叢書的更新已發行。這是一份記載 fn_get_sql 的英文版參考主題。
於 SP3 推出
這個 Service Pack 提供開啟及關閉跨資料庫擁有權鏈結的新選項。
安裝 MSDE 2000 SP4 時,您可以使用 ALLOWXDBCHAINING 安裝參數來啟用所有資料庫的跨資料庫擁有權鏈結。ALLOWXDBCHAINING 記載於最新版《SQL Server 2000 線上叢書》的下列主題中:自訂 Desktop Engine Setup.exe。如需安裝最新版《SQL Server 2000 線上叢書》的相關資訊,請參閱 1.8 小節SQL Server 2000 線上叢書已更新。
注意 不建議您為所有資料庫啟用跨資料庫擁有權鏈結。
您可以在安裝之後,使用下列方法來開啟及關閉執行個體中所有資料庫的跨資料庫擁有權鏈結:
如果該執行個體的跨資料庫擁有權鏈結遭到關閉,您可以將其設定為個別的資料庫。請使用下列方法,來開啟或關閉資料庫的跨資料庫擁有權鏈結:
如需相關資訊,請在執行安裝程式時按一下 [回溯相容性檢查清單] 頁面上的 [說明] 按鈕,下載更新版的 SQL Server 2000 線上叢書,或請參閱知識庫文章 810474 (英文)。
於 SP3 推出
追蹤旗標 1204 會傳回造成死結的鎖定類型,以及目前受到影響的命令。在 SP3 或更新的版本中,當開啟這個追蹤旗標時,死結資訊會自動寫入錯誤記錄中。
於 SP3 推出
只有 sysadmin 固定伺服器角色的成員才能夠執行 sp_changedbowner 系統預存程序。
於 SP3 推出
Microsoft Visual Studio® 6.0 及更舊的版本,或是 SP3 之前的 SQL Server Query Analyzer,預設會關閉偵錯預存程序的功能。預設也會關閉應用程式偵錯 (偵錯用戶端應用程式時,在 SQL Server Transact-SQL 中斷點停止)。若要啟用偵錯功能,請執行 sp_sdidebug 並傳遞 legacy_on 參數。若要停用偵錯,請將 legacy_off 傳遞給此程序。
注意 不建議您在實際執行的伺服器上執行 sp_sdidebug 預存程序。
如需詳細資訊,請參閱知識庫文章 328151。
於 SP3 推出
套用 Service Pack 後,您便無法在加入容錯移轉叢集的資料庫引擎執行個體上停用「具名管道」通訊協定。
於 SP3a 推出
從 MSDE 2000 SP3a 開始,設定為不支援網路通訊的 MSDE 2000 執行個體將會停止使用「使用者資料包通訊協定 (UDP)」連接埠 1434。設定為支援網路通訊的執行個體將使用 UDP 1434。
執行個體在升級至 SP3a 或更新版本後,當該執行個體的所有伺服器網路程式庫 (共用記憶體網路程式庫除外) 都停用時,就會停止使用 UDP 1434。當您啟用任何伺服器網路程式庫時,執行個體就會開始使用連接埠 1434。如需停用或啟用伺服器網路程式庫的相關資訊,請參閱《SQL Server 2000 線上叢書》中的<SQL Server 網路公用程式>主題。
電腦不會停止使用 UDP 連接埠 1434,除非電腦上所有的 SQL Server 2000 與 MSDE 2000 執行個體都已升級至 SP3a 或更新版本,而且已設定為不支援網路通訊。
共用記憶體網路程式庫的狀態並不會影響到 UDP 連接埠 1434 的開啟或關閉。共用記憶體網路程式庫僅適用於本機連線,而不會使用網路。共用記憶體網路程式庫一律為作用中,您無法加以啟用或停用。
您也可以在安裝或升級 MSDE 2000 執行個體時指定是否停用伺服器網路程式庫。請使用 MSDE 2000 安裝公用程式 DISABLENETWORKPROTOCOLS 參數,或 MSDE 2000 合併模組 SqlDisableNetworkProtocols 屬性。如需這些選項的詳細資訊,請參閱最新版《SQL Server 2000 線上叢書》的下列主題:自訂 Desktop Engine Setup.exe。如需安裝最新版《SQL Server 2000 線上叢書》的相關資訊,請參閱 1.8 小節SQL Server 2000 線上叢書已更新。
於 SP4 推出
在 SP4 中,網路封包大小選項 (以 sp_configure 設定) 的最大值為 32767。此值略小於先前最大值 65536 的二分之一。在升級的過程中,現有的值若大於 32767 將自動被調整為 32767。若有指令碼嘗試使用 sp_configure 來設定一個大於 32767 但小於或等於 65536 的值,此值也將被設為 32767。若將網路封包大小設為 65536 以上的值,則會導致錯誤。
於 SP4 推出
SP4 對 SQL Server 最佳化工具的行為做了變更,這項變更會影響述詞中含有大型 IN 清單或大量 OR 子句的查詢。更明確地說,這項變更 (於 SQL Server 2000 Hotfix 789 中推出) 會影響含有下列項目的查詢,或可透過含有下列項目的相等運算式加以覆寫的查詢:
當這類查詢在具有大量記憶體且並行作業較少的系統上執行時,最佳化程式可選擇低效能的查詢計劃。為覆寫最佳化工具行為的變更,此 Service Pack 中提供了追蹤旗標 9060。追蹤旗標 9060 預設為 OFF。當追蹤旗標為 ON 時,就會啟用 Hotfix 789 之前的 SP3 行為。若在追蹤旗標為 ON 時產生錯誤 701 (系統記憶體不足),請考慮為 IN 清單中的值使用暫存資料表或資料表變數,藉以重新寫入查詢。若為數值範圍,請使用 BETWEEN 子句或大於 (>) 或小於 (<) 運算子。如需使用追蹤旗標的相關資訊,請參閱《SQL Server 線上叢書》的<追蹤旗標>。
於 SP4 推出
SP4 支援 Banyan VINES、Multiprotocol、AppleTalk 與 NWLink IPX/SPX 等網路通訊協定。但這些通訊協定將不受 SQL Server 2005 與後續版本的支援。請依此進行規劃。
本節討論 MSDE 2000 SP4 所含之 MSDE 2000 複寫的增強功能。
於 SP1 推出
在交易式複寫安裝期間,會在訂閱資料庫中建立插入、刪除及更新動作的自訂預存程序。不管有多少個資料行受到 UPDATE 陳述式影響,更新自訂預存程序都會更新訂閱資料表中所有的資料行。所有未變更的資料行都會重設至更新前就已存在的相同數值。這個動作通常不會造成任何問題。不過,如果這些資料行有任何一行會編製索引,則這個重設可能會變得很費時。
若您使用交易式複寫且在訂閱資料表上有數個索引,但只有若干資料行的值會因更新而變更,則在訂閱者中套用變更時,為維護索引而產生的負荷可能會使效能受到影響。例如,用於報告目的的訂閱資料庫可能比發行集資料庫具有更多的索引。在執行時期動態建置 UPDATE 陳述式可改善效能。這個更新僅包括已變更的資料行,而建立了最理想的 UPDATE 字串。
這個 Service Pack 包含新的預存程序 sp_scriptdynamicupdproc,它可以產生自訂的預存程序供您在訂閱者中使用,以在執行時期動態建置 UPDATE 陳述式。然而,在執行時期建置動態的 UPDATE 陳述式需要額外的處理。
sp_scriptdynamicupdproc 記載於最新版的《SQL Server 2000 線上叢書》中。如需安裝最新版《SQL Server 2000 線上叢書》的相關資訊,請參閱 1.8 小節 SQL Server 2000 線上叢書的更新已發行。這是一份記載 sp_scriptdynamicupdproc 的英文版參考主題。
於 SP1 推出
設定非同步訂閱 (也就是不會接收起始快照的訂閱) 時,必須以手動方式建立 INSERT、UPDATE 及 DELETE 陳述式的自訂預存程序。一般而言,當傳遞起始快照時,這些陳述式將建立在訂閱者中。已加入新的預存程序sp_scriptpublicationcustomprocs,這個預存程序可讓您在發行集層級產生自訂的預存程序指令碼。這個新功能可讓您更輕易地設定非同步的訂閱。
sp_scriptpublicationcustomprocs 記載於最新版的《SQL Server 2000 線上叢書》中。如需安裝最新版《SQL Server 2000 線上叢書》的相關資訊,請參閱 1.8 小節 SQL Server 2000 線上叢書的更新已發行。這是 sp_scriptpublicationcustomprocs 參考主題的英文版本。
於 SP1 推出
當合併複寫系統資料表包含大量的中繼資料時,清除中繼資料可以改善效能。在 SQL Server 2000 SP1 之前,執行 sp_mergecleanupmetadata 可清除中繼資料。不過,SQL Server 2000 SP1 及以上版本包含保留性中繼資料清除,也就是說可以自動從下列系統資料表中刪除中繼資料:
注意 如果在發行集上啟用了 @keep_partition_changes 同步最佳化選項,就會有事前影像資料表。
保留性中繼資料清除發生的過程如下:
注意 SQL Server 2000 SP1 及更新版本所包含之所有合併代理程式設定檔的 -MetadataRetentionCleanup 參數都會設定為 1。如果您將伺服器升級至 SP1 或以上版本然後新增合併複寫,則合併代理程式設定檔就會自動更新以包含此參數。如果您將已經啟用合併式複寫的伺服器升級至 SP1 或更新版本,則合併代理程式設定檔並不會自動更新;而是要執行 sp_add_agent_parameter 來更新設定檔 (請參閱本節稍後的 sp_add_agent_parameter 的其他參數)。
重要事項 發行集的預設保留期限為 14 天。如果某一發行項屬於許多發行集,就可能有不同的保留期限。在那種情況下,會使用最長的保留期限來判斷最早可能發生的清除時間。如果在資料庫上有多重發行集,且其中有任何一個發行集使用了無限的發行集保留期限 (@retention=0),則並不會自動清除資料庫的合併中繼資料。因此,請小心使用無限的發行集保留期限。
系統預存程序 sp_add_agent_parameter 現在已有 MetadataRetentionCleanup 參數,可讓您從合併代理程式設定檔新增或移除中繼資料保留清除。數值 1 表示設定檔應該包含清除;數值 0 則表示它不該包含清除。例如,若要將中繼資料保留清除新增至設定檔,請執行下列程式碼:
EXEC sp_add_agent_parameter @profile_id=<my_profile_id>,
@parameter_name='MetadataRetentionCleanup', @parameter_value=1
若要在合併複寫的相關資料庫中執行自動保留性清除,則該資料庫及合併代理程式都必須位在執行 SQL Server 2000 SP1 或更新版本的伺服器上。例如:
在某些伺服器上而未在其他伺服器上執行自動清除,頂多只會造成假衝突,但機率應該不高。若為包含 SQL Server 2000 SP1 之前版本的 SQL Server 版本的拓撲,您可以在所有不會自動清除的伺服器上執行 sp_mergemetadatacleanup,即可看到其效能優勢。
保留性中繼資料清除可防止其他節點上發生無交集及無訊息覆寫變更。不過,如果符合下列條件,就可能會發生假衝突:
例如,如果發行者的中繼資料已遭到清除,但訂閱者的中繼資料尚未清除,而發行者進行了更新,則即使資料表面上已同步,但仍會發生衝突。
若要防止這種衝突,請確實在大致相同的時間內清除相關節點的中繼資料。如果 -MetadataRetentionCleanup 設定為 1,則在開始合併之前會自動清除發行者及訂閱者,以確定會同時清除節點。如果發生衝突,請使用合併複寫衝突檢視器來檢視衝突,且依需要變更結果。
如果發行項屬於數個發行集,或是處於重新發行的狀況,則發行者及訂閱者中的特定資料列的保留期限有可能不同。若要減少清除某一邊而未清除另一邊的中繼資料的機會,建議不同的發行集最好有類似的保留期限。
注意 如果系統資料表包含大量必須清除的中繼資料,則執行合併處理可能會花費很長的時間。定期清除中繼資料可以避免這個問題。
於 SP1 推出
還原自備份的發行集資料庫應先與具有全域訂閱 (也就是具有指定優先順序值的訂閱) 的訂閱資料庫進行同步,以確保正確的交集行為。同步處理可確保發行集資料庫中因還原作業而失去的變更,能夠正確地重新套用。
請勿將發行集資料庫與具有匿名訂閱的訂閱資料庫同步。因為匿名訂閱沒有足夠的中繼資料可以將變更套用至發行集資料庫,這樣的同步處理可能導致非交集的資料。
當您計劃合併式複寫的備份及還原作業時,請考慮下列其他問題:
僅在備份不超過訂閱者所訂閱的所有發行集的最短保留期限時,才從備份還原訂閱資料庫。例如,如果訂閱者分別訂閱了三個保留期限為 10、20 及 30 天的發行集,則用來還原資料庫的備份不應該超過 10 天。
強烈建議您在執行備份前,先使訂閱者與發行者同步。不然,如果從這個備份還原訂閱者,系統就可能無法正確地交集。雖然備份檔本身可能是新的,但是上次與發行者同步的時間可能與保留期限一樣久。例如,假設有個保留期限為 10 天的發行集。上次同步是在 8 天前,而現在執行了備份。如果在 4 天後套用備份,則上次同步已發生在 12 天前,超出了保留期限。如果訂閱者剛好在備份前進行了同步,則訂閱資料庫將在保留期限內。
如果您需要變更發行集保留值,請用手動方式初始化訂閱者,以避免產生非交集的資料。當到達發行集保留期限時,保留性中繼資料清除功能將刪除合併系統資料表中過時的中繼資料。
發行集保留值可用來判斷未在保留期限內進行同步的訂閱何時到期。清除之後,如果發行集保存期間拉長了,而且訂閱嘗試要與發行者合併 (而其已經刪除了中繼資料),則該訂閱會由於保留期限值的增加而不會到期。此外,發行者沒有足夠的中繼資料可將變更下載到訂閱者,進而會導致非交集的情況。
於 SP1 推出
將備份還原到相同的伺服器與資料庫 (與建立備份的來源伺服器使用相同的版本),可保留您的複寫設定。如果您把已複寫的資料庫還原到不同於用來備份資料庫的版本的 SQL Server,請考慮下列問題:
於 SP2 推出。
在一般處理過程中,合併複寫能夠傳送 DELETE 命令至訂閱者來刪除不屬於訂閱者資料分割的資料列。這種類型的 DELETE 指令稱為不相關的刪除。不相關的刪除並不會影響資料完整性或交集,但可能產生不必要的網路傳輸量。
若要減少由不相關的刪除所造成的網路傳輸量,您可以將新的快照代理程式參數
-MaxNetworkOptimization 與合併複寫發行集搭配使用。參數設為 1 會將不相關刪除的機會最小化,也就是讓網路最佳化。
注意 只有在合併發行集的同步最佳化選項設定為 true 時,才應將此參數設為 1 (sp_addmergepublication 的 @keep_partition_changes 參數)。
預設值為 0 是因為將參數設為 1 時,會增加中繼資料的儲存量,如果存在多層聯集篩選及複雜子篩選,就會造成發行者的效能降低。您應該小心存取您的複寫拓撲,而且只有在不相關刪除的網路傳輸量高到無法接受時,才將 -MaxNetworkOptimization 設為 1。
您可以經由執行系統程序 sp_add_agent_parameter 來將此參數新增至快照代理程式設定檔,如下所示:
EXEC sp_add_agent_parameter 1, 'MaxNetworkOptimization', 1
於 SP3 推出
SP3 與更新版本會自動建立新的角色供合併複寫使用。新角色名稱的格式為 MSmerge-<publication ID>。每個合併複寫發行集的角色會在發行者上建立,並作為發行集存取清單 (PAL) 來控制發行者上合併式複寫的存取權。如果這個角色已卸除,則您可以執行 SP3 或更新版本所包含的新預存程序 sp_createmergepalrole 來重新建立角色。預存程序會在發行集資料庫上的發行者端執行以重新建立角色。
sp_createmergepalrole 記載於最新版的《SQL Server 2000 線上叢書》中。如需安裝最新版《SQL Server 2000 線上叢書》的相關資訊,請參閱 1.8 小節 SQL Server 2000 線上叢書的更新已發行。這是一份記載 sp_createmergepalrole 的英文版參考主題。
於 SP3 推出
如果建立訂閱的使用者不是 sysadmin 固定伺服器角色的成員,您必須進行下列任一操作:
注意 遠端代理程式啟動功能一律會要求作業步驟在 sysadmin 固定伺服器角色中的使用者帳戶內容裡執行。
於 SP3 推出
數個用來執行、管理及監視複寫拓撲之預存程序上的使用權限已經遭到變更。這些變更大部分包含更嚴謹的使用權限 (執行預存程序所需)。如需新使用權限的相關資訊,請檢閱《SQL Server 線上叢書》更新版裡關於複寫預存程序的 Transact-SQL 參考說明文件。如需更新的《SQL Server 線上叢書》的詳細資訊,請參閱 1.8 小節 SQL Server 2000 線上叢書的更新已發行。
於 SP3 推出
新參數 @published_in_tran_pub 已經新增到 sp_addmergearticle 與 sp_changemergearticle。這個參數是用來指出合併發行集中的發行項,也會在交易式發行集中發行。@published_in_tran_pub 是 nvarchar(5),其預設值為 FALSE。TRUE 則指出發行項也會在交易式發行集中發行。
注意 當您在 sp_changemergearticle 中變更這個參數時,快照集必會無效,而且必須重新初始化訂閱者。
於 SP3 推出
SQL Server 可讓您啟用現有訂閱 (使用 SQL Server Enterprise Manager (SQL-DMO) 及複寫預存程序來建立),以便與 Windows Synchronization Manager 搭配使用。您也可以使用 Windows Synchronization Manager 來建立新的訂閱。套用 Service Pack 之後,當您同步處理訂閱時,Windows Synchronization Manager 將會提示您輸入同步處理時連線到伺服器所需的密碼。
於 SP3 推出
在某些特定的情況下,複寫可能會在附加或還原發行資料庫的過程中產生問題。這些情況包括:
若這些情況全都屬實,則您應在附加或還原的資料庫上執行 sp_changedbowner 預存程序。請指派擁有權給 sa 內建系統管理員登入。如此可確保複寫功能正常運作。
注意 您必須是 sysadmin 固定伺服器角色的成員,才能執行 sp_changedbowner。
如需跨資料庫擁有權鏈結的詳細資訊,請參閱 5.1.8 小節跨資料庫擁有權鏈結。
於 SP4 推出
複寫 ActiveX® 控制項 (sqlinitx.dll、sqldistx.dll、sqlmergx.dll 與 replerrx.dll) 不再指定為「可安全地執行指令碼」與「可安全地初始化」。控制項的安全性與功能行為在 SP3 後便無變更,但安全性指定已變更為符合安全性標準。這些變更會影響在網頁中叫用內嵌式複寫 ActiveX 控制項的應用程式。
於 SP4 推出
當您呼叫 sp_addmergearticle 時,可以指定新的參數 @compensate_for_errors。此參數可指定是否要在同步處理期間發生錯誤 (如條件約束違規) 時採取補償動作。設為 TRUE (預設值) 時,如果在同步處理期間遇到無法將變更套用至某個節點的情況,將會產生補償動作來復原對所有其他節點的變更。在某些情況下這是很適當的行為,但在其他情況下,則可能會造成問題;例如,若有訂閱者是因設定不正確而產生了錯誤,也會導致發行者與所有其他訂閱者上的變更遭到復原。
指定 FALSE 值可停用這些補償動作,但錯誤仍會記錄下來,而後續的合併會繼續嘗試套用變更。雖然受到影響的資料列可能會有失去交集的資料,但只要您儘早解決錯誤,即可套用變更,資料也會交集。
注意 若發行項的來源資料表已在其他發行集中發行過,則兩個發行項的 @compensate_for_errors 值必須相同。
於 SP4 推出
在先前的版本中,交易式發行集中的識別資料行會複寫為基底資料型別 (如 int),而不會設定識別屬性。這個方法很適合不允許在訂閱者執行插入的應用程式。SQL Server 2000 SP4 針對交易式發行集推出了新的結構描述選項 (0x4),可用來將識別資料行複寫為識別資料行。這在許多情況下都有用處,包括雙向複寫時,以及使用訂閱者作為暖待命伺服器時。在這些情況下,可在訂閱者上執行插入,且這些插入會造成識別資料行的遞增。
指定將識別資料行複寫為識別資料行:
USE Northwind
GO
DBCC CHECKIDENT ('Employees', RESEED, 1000000)
GO
如需相關資訊,請參閱《SQL Server 線上叢書》中的 DBCC CHECKIDENT。
於 SP4 推出
在執行 X64 或相容處理器的 Windows 2003 SP1 系統上執行 Windows-on-Windows 64 模式的 SQL Server 2000 (32 位元) 散發者執行個體無法擁有非 SQL Server 的訂閱者。雖然 SQL Server 2000 SP4 目前已支援 Windows-on-Windows 64 模式的執行,但用來連接散發者與非 SQL Server 訂閱者的驅動程式或提供者並不支援這種模式。
本節討論 SP4 中所包含之 SQL Server 代理程式的增強功能。
於 SP2 推出
SQL Server 代理程式作業歷程記錄現在會記錄用來執行每個作業步驟的 Windows 帳戶。此資訊可協助系統管理員診斷所排程作業的安全性問題,包括為複寫和資料轉換服務 (DTD) 工作所定義的已排程作業。
於 SP3 推出
MSDE 2000 現在可進行檢查,以確定代理程式作業擁有者具有從每項作業附加或覆寫輸出記錄檔的使用權限。這會以三種方式發生:
在所有的情況下,作業都會使用 SQL Server 代理程式認證寫入,但 MSDE 2000 現在可進行測試,以確定使用者擁有使用權限,而可寫入到伺服器上所選的作業輸出記錄檔位置。錯誤會出現在作業歷程記錄中,但如果無法寫入記錄檔,作業步驟就不會失敗。
於 SP3 推出
在 MSDE 2000 與 SQL Server 2000 32 位元版本中,SQL Agent Mail 可設定為使用擴充式 MAPI 電子郵件設定檔來傳送電子郵件警示。您可以使用擴充式 MAPI 電子郵件應用程式 (如 Microsoft Outlook) 來建立擴充式 MAPI 設定檔。在 SQL Server 2000 64 位元版本中,SQL Agent Mail 只能使用簡易 MAPI 設定檔來傳送電子郵件警示。請勿在 MSDE 2000 或 SQL Server 2000 32 位元版本中使用簡易 MAPI 設定檔。
下列主題討論 SP4 中 XML 及 SQLXML 的增強功能。
於 SP3 推出
當您套用 SP4 時,OPENXML 會更新為使用對 MSXML 2.6 具有回溯相容性的自訂 XML 剖析技術。
在 SP3 之前,OPENXML 所使用的 XML 剖析器版本,允許 XPath 運算式中的述詞跟隨在用來識別目前內容節點的特殊字元縮寫之後 (在 XPath 語法中,這個特殊縮寫字元是以句點 (.
) 表示)。這就違反了 XPath 語法規格,因其要求這個字元要跟隨在位置路徑運算式的後面。
根據新的 OPENXML 行為,述詞將無法緊接在目前內容節點縮寫的特殊字元之後。升級到 SP3 或更新版本後,在 SQLXML 查詢 (針對註解所對應的結構描述所執行的 XPath 查詢,和 XSLT 樣式表中撰寫來轉換 SQLXML 查詢結果的 XPath 查詢) 中使用錯誤語法的 XPath 運算式將會失敗。
若要避免這類失敗,請識別及修正任何使用錯誤語法的運算式。例如,在下列 xsl:if
元素中指定為 test 屬性值的 XPath 運算式語法無效,因為述詞 [@ResourceTypeID='2']
緊接在用來識別目前內容節點的特殊字元縮寫之後。
下列的陳述式在以前並不會產生錯誤,但在安裝 SP3 或更新版本之後便會失敗。
<xsl:if test=".[@ResourceTypeID='2']">
若要避免失敗,則必須修改 XPath 運算式,如下所示:
<xsl:if test="@ResourceTypeID='2'">
於 SP1 推出,於 SP4 更新
雖然 SQL Server 2000 與 MSDE 2000 仍支援資料程式庫 (DB-Library) 及 Embedded SQL for C API,但未來的 SQL Server 版本將不會包括使用這些 API 在應用程式上撰寫程式時所需的檔案或說明文件。使用 DB-Library 及 Embedded SQL for C 撰寫之現有應用程式的連線,在下一版 SQL Server 中仍會受到支援,但在未來版次中將會取消此項支援。撰寫新的應用程式時請勿使用 DB-Library 或 Embedded SQL。在修改現有的應用程式時,請摒除對這些技術的依賴。請不要使用資料程式庫或 Embedded SQL for C,而使用 NET Framework 的 system.data.SQLClient 命名空間,或 ADO、OLE DB 或 ODBC 等 API 來存取 SQL Server 中的資料。如需這些技術的相關資訊,請參閱《SQL Server 線上叢書》或 .NET Framework SDK。
以下主題將說明 MSDE 2000 安裝程式的增強功能。
於 SP4 推出
MSDE 2000 SP4 針對 MSDE 2000 安裝程式推出了新的 SAVESYSDB 參數。根據設計,將使用合併模組或 MSI 檔案安裝的 MSDE 2000 執行個體,升級至未來版本的 SQL Server 2005 Express Edition 時,即可使用 SAVESYSDB 參數。SAVESYSDB 將可與針對 SQL Server Express 未來版本規劃的新功能搭配使用。只有從命令提示字元上執行 MSDE 2000 安裝程式以進行執行個體的解除安裝作業時,SAVESYSDB 才有效。
根據預設,當您解除安裝 MSDE 2000 執行個體時,MSDE 2000 安裝程式會刪除 master、model 與 msdb 系統資料庫中的檔案。當您指定 SAVESYSDB=1 時,MSDE 2000 安裝程式會將這些資料庫的檔案保留在原處。
雖然 SAVESYSDB 隨時都可以指定,但只有與 /x 解除安裝參數一起使用時,才會進行處理:
Setup /x sqlrun01.msi SAVESYSDB=1 INSTANCENAME="MyInstance"
若未指定 /x,SAVESYSDB 則會被忽略。若 SAVESYSDB 與 /x 都已指定,則必須將 SAVESYSDB 設定為 1,設為其他值都會產生錯誤。
於 SP4 推出
SQL Server 2000 SP4 推出了新的實用性功能,可讓您將執行於 Windows XP 與 Windows Server 2003 上的 SQL Server 2000 SP4 (或更新版本) 所套用的 Hotfix 解除安裝。(SQL Server 2000 SP3 也具有相同的功能,但必須先另外運用 Hotfix 才可使用)。