天天看點

Microsoft SQL Server 2000 Service Pack 4 Desktop Engine (MSDE 2000)Microsoft SQL Server 2000 Service Pack 4Desktop Engine (MSDE 2000)目錄1.0 簡介2.0 可以找到并下載下傳 SQL Server 2000 SP4 的位置3.0 安裝 Service Pack4.0 其他安裝資訊5.0 文檔說明

Microsoft SQL Server 2000 Service Pack 4

Desktop Engine (MSDE 2000)

2005 年 3 月 29 日

© 版權所有 Microsoft Corporation,2004。保留所有權利。

SQL Server 文檔小組不能解答技術支援問題,但是歡迎您就本自述文檔提出建議和意見。通過下面的連結可以快速并直接發送電子郵件回報。在送出回報時請使用英文書寫。

要送出有關本文檔的書面回報,請單擊此處:送出回報。

目錄

1.0 簡介

    1.1 系統要求

    1.2 更新到 MSDE 2000 SP4 之前

    1.3 MSDE 2000 SP4 的安全注意事項

    1.4 确定執行個體名稱

    1.5 驗證 Microsoft 資料通路元件的版本

    1.6 确定 MSDE 2000 的目前版本

    1.7 有關 SP4 的其他資訊

    1.8 SQL Server 2000 聯機叢書更新已可用

2.0 可以找到并下載下傳 MSDE 2000 SP4 的位置

    2.1 選擇正确的語言

    2.2 下載下傳 MSDE 2000 SP4

    2.3 解壓縮 MSDE 2000 SP4 檔案

    2.4 下載下傳和解壓縮階段準則

3.0 安裝 Service Pack

    3.1 準備安裝 MSDE 2000 SP4

    3.2 運作 MSDE 2000 SP4 安裝程式

    3.3 重新啟動服務和應用程式

    3.4 在複制伺服器上安裝 MSDE 2000

    3.5 将 MSDE 2000 SP4 應用于複制拓撲中的隻讀資料庫或檔案組

    3.6 更新連結伺服器的目錄

    3.7 解除安裝 MSDE 2000 SP4

    3.8 重新應用 MSDE 2000 SP4

4.0 其他安裝注意事項

    4.1 再分發 MSDE 2000 SP4

    4.2 MSDE 2000 SP4 檔案位置

5.0 文檔說明

    5.1 MSDE 2000 增強功能

    5.2 複制增強功能

    5.3 SQL Server 代理和共享工具增強功能

    5.4 XML 增強功能

    5.5 用于 C 語言的 DB-Library 和嵌入式 SQL

    5.6 MSDE 2000 安裝程式增強功能

    5.7 可維護性增強功能

[傳回頁首]

1.0 簡介

本自述檔案描述如何使用 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 的一般過程如下:

  1. 确定是否可以使用 SP4,如果可以,确定需要安裝 SP4 的哪一部分或哪些部分。確定查閱了本自述檔案第 1.0 節中的所有部分,然後再下載下傳并安裝 SP4。
  2. 下載下傳并解壓縮 Service Pack 安裝檔案。第 2.0 節描述如何擷取 SP4 安裝檔案。
  3. 準備要更新到 SP4 的執行個體。第 3.0 節以及第 3.1 到 3.3 節較長的描述在安裝 SP4 之前的準備步驟。
  4. 安裝 SP4。第 3.2 節較長的描述運作 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 元件:

  • MSDE 2000 SP4 更新 SQL Server 2000 MSDE 2000 和 MSDE 2000 Release A 的執行個體。由 MSDE 2000 SP4 更新的元件包括:
    • MSDE 2000 資料庫引擎。
    • MSDE 2000 附帶的資料庫指令提示符實用工具,如 osql 和 bcp 實用工具。
    • 資料庫用戶端連接配接元件,如用于 SQL Server 2000 的 Microsoft OLE DB 提供程式、SQL Server 2000 ODBC 驅動程式和用戶端 Net-Library。
    • 随 MSDE 2000 附帶的複制和資料轉換服務 (DTS) 的相應部分。
  • Database Components SP4 更新 SQL Server 2000 企業版、标準版、開發版、企業評估版或個人版資料庫引擎的執行個體。
  • Analysis Services SP4 更新 SQL Server 2000 安裝中 SQL Server 2000 Analysis Services 的各部分。
  • SQL Server 2000 SP4(64 位)包含 SQL Server 2000(64 位)的所有更新,是 SQL Server 2000(64 位)的第一個 Service Pack。

所有 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 SP4

MSDE 2000 的此 Service Pack 針對建立使用 MSDE 的可再分發應用程式的開發人員。MSDE 2000 SP4 可以用于執行下列操作:

  • 将現有的 2000 MSDE 2000 或 MSDE 2000 Release A 執行個體更新到 MSDE 2000 SP4(前提是執行個體最初使用 MSDE 2000 安裝程式進行安裝)。
  • 安裝新的 MSDE 2000 SP4 執行個體(前提是您的 MSDE 2000 許可證允許您安裝 MSDE 2000 執行個體)。
  • 将 MSDE 1.0 執行個體更新到 MSDE 2000(前提是您的 MSDE 2000 許可證允許您運作 MSDE 2000 執行個體)。
  • 為開發人員提供編寫應用程式安裝程式所需的檔案,以便将 MSDE 2000 SP4 的執行個體作為應用程式安裝的一部分進行安裝。開發人員必須擁有随應用程式分發 MSDE 的許可證。
  • 為開發人員提供所需的檔案來建構修補程式子產品,分發給其應用程式使用 MSDE 2000 合并子產品安裝了 MSDE 2000 執行個體的客戶。

有關 MSDE 2000 許可的更多資訊,請參見使用 MSDE 2000。如果尚未獲得安裝或運作 MSDE 2000 的許可證,可以通過在 MSDE 2000 Release A 網頁上注冊來獲得。

[傳回頁首]

在開始安裝 MSDE 2000 SP4 之前

要安裝 MSDE 2000 SP4,請查閱本自述檔案第 1 節和第 2 節中的資料,然後按照第 3 節中的說明操作,前提是符合下列條件:

  • 已經确定可以對現有的 MSDE 執行個體應用 MSDE 2000 SP4。
  • 準備安裝新的 MSDE 2000 執行個體。
  • 準備将 MSDE 2000 SP4 檔案合并到應用程式的安裝實用工具中。

[傳回頁首]

在更新和安裝期間期望出現的情況

本自述檔案的下列各節包含的示例是将現有的 MSDE 執行個體更新到 MSDE 2000 SP4 或安裝新的 MSDE 2000 執行個體的最常見方案:

  • 3.2.2 将現有的 MSDE 2000 執行個體更新到 MSDE2000 SP4
  • 3.2.3 安裝新的 MSDE 2000 SP4 執行個體
  • 3.2.4 将 MSDE 1.0 更新到 MSDE 2000 SP4

[傳回頁首]

1.1 系統要求

在嘗試運作 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

驅動器 CD-ROM 驅動器(如果是從 CD-ROM 安裝 MSDE 2000 SP4)

MSDE 2000 沒有硬體相容性清單 (HCL)。如果計算機滿足上表所列的最低要求,MSDE 2000 軟體即可在經鑒定能夠随 Windows 作業系統使用的硬體上運作。有關經鑒定能夠随 Windows 作業系統使用的硬體的更多資訊,請參見此 Microsoft 網站上的 Windows 硬體相容性清單。

[傳回頁首]

作業系統要求

要使用 MSDE 2000,必須已安裝下列作業系統之一:

  • Windows Server 2003 Standard Edition、Windows Server 2003 Enterprise Edition、Windows Server 2003 Datacenter Edition、Windows Server 2003 Web Edition。
  • Windows 2000 Server、Windows 2000 Advanced Server、Windows 2000 Datacenter Server。
  • Windows XP Professional、Windows XP Home Edition。
  • Windows 2000 Professional。

重要   Windows NT 4.0、Windows Millennium Edition 和 Windows 98 平台上不支援 SQL Server 2000 SP4。SQL Server 2000 SP4 最終釋出之後的 12 個月内,Windows NT 4.0、Windows Millennium Edition 和 Windows 98 平台上安裝的 SQL Server 2000 SP3a 可以繼續得到關鍵熱修複程式的支援。

[傳回頁首]

軟體要求和系統要求

如果要運作 MSDE 2000 安裝程式,必須啟用檔案和列印機共享。

确認檔案和列印機共享已啟用

  1. 在“控制台”中,輕按兩下“網絡連接配接”。
  2. 在“進階”菜單中,單擊“進階設定”。
  3. 在“擴充卡和綁定”頁籤上,确定選中了“Microsoft 網絡的檔案和列印機共享”。

如果下列任一安全政策已被設定為“禁止安裝”,則 MSDE 2000 SP4 的安裝将失敗:

  • Windows XP 的本地安全政策“裝置:未簽名驅動程式的安裝操作”。
  • Windows 2000 的本地安全政策“未簽名非驅動程式的安裝操作”。

如果使用“禁止安裝”設定,則必須在安裝 MSDE 2000 SP4 之前将該設定更改為“預設繼續”。如有必要,可以在安裝完成之後将該政策還原為以前的設定。

說明   “禁止安裝”不是這些安全政策的預設設定。

設定安全政策

  1. 在“控制台”中,輕按兩下“管理工具”。
  2. 輕按兩下“本地安全政策”。
  3. 展開“本地政策”。
  4. 選中“安全選項”。
  5. 確定在安裝 MSDE 2000 SP4 之前,右窗格中的下列選項被設定為“預設繼續”:
    • 對于 Windows XP 和 Windows 2003:“裝置:未簽名驅動程式的安裝操作”。
    • 對于 Windows 2000:“未簽名非驅動程式的安裝操作”。

如果使用的是 Microsoft Windows Installer 2.0.2600.0 或更高版本,則隻能從 CD-ROM 安裝 MSDE 2000 SP4 的更新檔案。如果需要更新 Windows 安裝程式,MSDE 2000 SP4 應包含必要的檔案。

更新 Windows 安裝程式

  1. 在 Windows 資料總管中,浏覽到 /MSDE/MSI 檔案夾,該檔案夾位于 SQL Server 2000 SP4 CD 上或從自解壓縮 Service Pack 4 下載下傳檔案 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 将檔案解壓縮到的檔案夾中,其中 LLL 因語言而異。
  2. 運作 InstMsi20.exe。
  3. 根據提示重新啟動計算機。

[傳回頁首]

應用程式要求

如果某個應用程式正在使用您的 MSDE 執行個體,在更新到 MSDE 2000 SP4 之前,應詢問應用程式提供商是否所有 MSDE 更新注意事項都适用于該應用程式。

[傳回頁首]

1.2 更新到 MSDE 2000 SP4 之前

本節描述在使用 MSDE 2000 SP4 将現有的 MSDE 執行個體更新到 MSDE 2000 SP4 之前,必須解決的問題以及必須執行的任務。

在 Database Components SP4 執行個體上建立的資料庫或資料庫備份可以在早期版本的 SQL Server 2000 上附加或還原。但是,對複制拓撲中的資料庫有一些限制。有關更多資訊,請參見 1.2.3 複制拓撲或日志傳送拓撲中執行個體的注意事項。

[傳回頁首]

1.2.1 确定是否可以将 MSDE 2000 SP4 應用于現有的 MSDE 2000 執行個體

将 MSDE 2000 SP4 應用于現有的 MSDE 2000 執行個體的過程因安裝執行個體的方式而異。大多數應用程式通過下列方式之一安裝 MSDE 2000:

  • 運作 MSDE 2000 安裝程式。可以使用 MSDE 2000 SP4 檔案将通過這種方式安裝的 MSDE 2000 執行個體更新到 SP4。MSDE 2000 安裝實用工具可以從指令提示符運作,也可以通過應用程式的安裝實用工具調用。
  • 直 接利用 MSDE 2000 合并子產品。如果應用程式的安裝實用工具使用 Windows 安裝程式技術,則可以使用此安裝方法。使用 MSDE 2000 SP4 檔案無法更新通過這種方式安裝的 MSDE 2000 執行個體。要進行更新,必須向應用程式供應商索取修補程式檔案。MSDE 2000 SP4 提供合并子產品以支援使用合并子產品的現有應用程式。

    說明   新應用程式的安裝實用工具必須編寫為調用 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。

Microsoft 知識庫文章 311762 包含确定 MSDE 2000 執行個體安裝方式的說明。按照文章 311762 中的過程進行操作之後,應注意以下事項:

  • 如果資訊表明執行個體是使用 MSDE 2000 安裝程式檔案 SqlRun01.msi 到 SqlRun16.msi 安裝的,則可以使用 SQL Server 2000 SP4 下載下傳檔案更新 MSDE 2000 執行個體。
  • 如果資訊表明執行個體是通過 Microsoft 應用程式安裝的,請參見此 Microsoft 網站上有關更新該 MSDE 2000 執行個體的說明。
  • 知識庫文章 311762 将指導您讀取系統資料庫項中 ProductCode 字段的值,并在已知值表中查找該值。如果系統資料庫項中的值未在文章 311762 中列出,則表示執行個體是通過應用程式的安裝實用工具安裝的。不能使用 SQL Server 2000 SP4 的下載下傳檔案将 SP4 應用于此類 MSDE 執行個體。而是必須從編寫應用程式的公司擷取修補程式檔案。如果編寫應用程式的公司不是 Microsoft,必須向相應公司索取修補程式檔案。如果編寫應用程式的公司是 Microsoft,請參見以下網頁,其中列出了 Microsoft 開發的 MSDE 應用程式(此頁使用如何更新這些 MSDE 2000 執行個體的資訊不斷更新):Microsoft MSDE 應用程式網頁
  • 如果文章 311762 指明 ProductCode 值的原始包名稱為 Sample.msi 或 SampleUpg.msi,請參見知識庫文章 314131,檢視如何為此 MSDE 2000 執行個體建構修補程式的說明。

[傳回頁首]

1.2.2 确定是否必須使用原始 MSDE 2000 安裝檔案

可以從硬碟、網絡共享位置或 CD-ROM 運作 MSDE 2000 SP4 安裝程式。如果從硬碟運作安裝程式,則不必使用原始 MSDE 2000 安裝檔案。但是如果從網絡共享位置或 CD 将 MSDE 2000 執行個體更新到 MSDE 2000 SP4,則最初用于安裝 MSDE 2000 的檔案必須在原始安裝時檔案所處的位置。如果最初是從 CD 進行的安裝,則 MSDE 2000 SP4 安裝程式在更新過程中将要求插入原始 CD。如果原始檔案不在原始的網絡共享位置,或者原始 CD-ROM 不可用,則必須将 MSDE 2000 SP4 檔案複制到硬碟驅動器中,然後從硬碟驅動器中運作安裝程式。

[傳回頁首]

1.2.3 複制拓撲或日志傳送拓撲中執行個體的注意事項

MSDE 2000 SP4 安裝程式更新作為複制拓撲成員的使用者資料庫。此更新因素可能會影響複制的使用者資料庫的備份和還原功能。在安裝 MSDE 2000 SP4 之前,確定複制資料庫和檔案組是可寫的。

有關将 SP4 應用于複制拓撲中的資料庫的更多資訊,請參見 3.4 在複制伺服器上安裝 MSDE 2000。複制的其他備份和還原注意事項在 5.2.4 合并複制的備份和還原問題中較長的描述。

說明   如果 MSDE 2000 執行個體不是複制拓撲的一部分,則可以在任何其他版本的 SQL Server 2000 或 MSDE 2000 上備份使用者資料庫并進行還原。

如果安裝程式檢測出使用者資料庫或檔案組不可寫,将執行以下操作:

  • 将 SP4 複制更新應用于所有可寫的使用者資料庫。
  • 将隻讀資料庫的清單寫入安裝程式日志(該日志位于 Winnt/Sqlsp.log)。
  • 顯示以下警告消息:
    Setup has detected one or more databases and filegroups which are not writable.
               

除非安裝程式日志中列出的某些資料庫是複制拓撲的成員,否則可以忽略此警告。如果安裝程式日志中列出的隻讀資料庫是複制拓撲的成員,則必須使這些資料庫可寫并将 SP4 重新應用于該 MSDE 2000 執行個體。

有關使資料庫可寫的資訊,請參見 3.5 将 MSDE 2000 SP4 應用于複制拓撲中的隻讀資料庫或檔案組。有關重新應用 SP4 的更多資訊,請參見 3.8 重新應用 MSDE 2000 SP4。

[傳回頁首]

1.2.4 确定如何删除 MSDE 2000 SP4

在使用 MSDE 2000 SP4 更新現有的 MSDE 執行個體之前,建議您計劃一下如何在以後需要時将執行個體還原到先前狀态。安裝 MSDE 2000 SP4 時,會為了進行維護而更改系統表。還會更新作為複制拓撲成員的使用者資料庫和分發資料庫。由于這些更改的性質,無法輕易删除 MSDE 2000 SP4。要還原為安裝 MSDE 2000 SP4 前所運作的版本,必須先解除安裝 MSDE 2000 執行個體,然後重新安裝該執行個體。接下來,如果運作過以前的 SQL Server 2000 Service Pack 或應用過任何熱修複程式,必須将相應的 Service Pack 和熱修複程式重新應用于所還原的執行個體。

重要   要将系統安全地還原到安裝 MSDE 2000 SP4 之前的狀态,必須立即備份 master、model 和 msdb 資料庫,然後再安裝 MSDE 2000 SP4。有關更多資訊,請參見 3.1.1 備份 SQL Server 資料庫。

有關更多資訊,請參見 3.7 解除安裝 MSDE 2000 SP4。

[傳回頁首]

1.3 MSDE 2000 SP4 的安全注意事項

在 SP3a 中更改了 MSDE 2000 安裝程式的行為,以使預設設定的配置更安全。這些更改在 SP4 中繼續生效,如下所述:

  • 預設情況下禁用網絡支援

    預設情況下,在安裝新的 MSDE 2000 執行個體時,SP4 禁用網絡支援。更新現有執行個體時,将保留其網絡支援設定。如果另一台計算機上沒有任何應用程式連接配接到您的 MSDE 2000 執行個體,則執行個體不需要網絡支援。最好關閉不使用的資源。如果将 DISABLENETWORKPROTOCOLS 安裝參數的值指定為 0,則可以在安裝過程中啟用網絡支援。如果安裝 MSDE 2000 SP4 執行個體時啟用了網絡支援功能,稍後可以重新配置此執行個體來禁用網絡支援。有關如何禁用和還原網絡通路的更多資訊,請參見 Microsoft 知識庫文章 814130。

  • 安裝程式要求使用強 sa 密碼

    如果不指定強 sa 密碼,MSDE 2000 SP4 安裝程式不會安裝新的 MSDE 2000 執行個體。可以使用 SAPWD 參數指定強 sa 密碼。如果不為 sa 登入指定一個強密碼,MSDE 2000 SP4 安裝程式不會更新現有的 MSDE 2000 執行個體。除非使用 MSDE 執行個體的應用程式在某些方面依賴空的 sa 密碼,否則,即使是更新現有的執行個體,也必須為 sa 登入指定一個強密碼。即使 MSDE 2000 執行個體使用的是 Windows 身份驗證,sa 登入也會在執行個體切換到混合模式身份驗證時立即被激活。空、空白、簡單或者衆所周知的 sa 密碼可能很容易被利用來進行未經授權的通路。如果在将 MSDE 2000 執行個體更新到 MSDE 2000 SP4 之前需要指定一個強 sa 密碼,請參見 Microsoft 知識庫文章 322336。

  • Windows 身份驗證

    為了提高安全性,隻要有可能,請對 MSDE 2000 安裝使用 Windows 身份驗證。如果下列兩個條件都為真,可以考慮從混合模式身份驗證切換到 Windows 身份驗證:

    • 如果選中了“Windows 身份認證”選項,則可以運作使用 MSDE 2000 的應用程式。
    • 已經為所有需要連接配接到該執行個體的使用者定義了 Windows 身份驗證登入。有關如何添加登入的更多資訊,請參見 SQL Server 2000 聯機叢書中的“添加 Windows 使用者或組”。
    有關将 MSDE 2000 執行個體從混合模式身份驗證更改為 Windows 身份驗證的更多資訊,請參見 Microsoft 知識庫文章 322336。

[傳回頁首]

1.4 确定執行個體名稱

如果要在一台計算機上安裝 MSDE 2000 和 SQL Server 2000 資料庫引擎的多個副本(即執行個體),必須知道執行個體名稱。一台計算機上最多可以安裝 16 個執行個體。其中一個執行個體沒有名稱,被稱為預設執行個體。其他 15 個執行個體必須具有唯一的執行個體名稱,被稱為命名執行個體。

使用 MSDE SP4 安裝程式安裝或更新 MSDE 執行個體。如果要安裝或更新 MSDE 的命名執行個體,必須使用 INSTANCENAME 參數來指定執行個體名稱。如果不指定 INSTANCENAME,安裝程式将對該計算機上預設的 MSDE 執行個體操作。不能使用 MSDE 2000 SP4 更新 SQL Server 2000 資料庫引擎執行個體。

查找計算機上的現有執行個體:

  1. 在 Windows 資料總管中,右鍵單擊“我的電腦”,然後單擊“管理”。
  2. 展開“服務和應用程式”。
  3. 單擊“服務”。

預設執行個體将作為名為 MSSQLSERVER 的一項服務出現在右側清單窗格中。命名執行個體将作為 MSSQL$InstanceName 服務列出,其中 InstanceName 是執行個體的名稱。

執行個體名稱必須遵循此 Microsoft 網頁中包含的規則。

[傳回頁首]

1.5 驗證 Microsoft 資料通路元件的版本

MSDE 2000 SP4 安裝程式确定是否要将已安裝的 Microsoft 資料通路元件 (MDAC) 版本更新為 MDAC 2.8 SP1:

  • 運作 Windows 2000 的計算機更新到 MDAC 2.8 SP1。
  • 運 行 Windows XP 或 Windows Server 2003 的計算機不更新到 MDAC 2.8 SP1。如果系統要求安裝 MDAC 2.8 SP1 中包含的任何修複程式,請将系統更新為 Windows XP SP2 或 Windows Server 2003 SP1,以便擷取 MDAC 2.8 SP2。
  • 在安裝了相同或更高版本的 MDAC 的計算機上,不會安裝 MDAC 2.8 SP1。

    說明   如果安裝了 MSDE 2000 SP4 的計算機更新到更新的作業系統平台,則 SP4 安裝的 MDAC 版本将不再存在。

說明   有關确定計算機上 MDAC 版本的說明,請參見知識庫文章 301202。

MSDE 2000 SP4 安裝 MDAC 2.8 SP1 時,MDAC 的語言版本與 MSDE 2000 SP4 的語言版本相同。如果要保留與 MSDE 2000 SP4 不同的 MDAC 語言版本,則必須下載下傳并安裝相應的 MDAC 2.8 SP1 語言版本,然後再運作 MSDE 2000 SP4 安裝程式。可以從 Microsoft 資料通路下載下傳頁下載下傳 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。知識庫文章 884930 中介紹了 MDAC 2.8 SP1 中包含的修複程式。

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 最終釋出版。

[傳回頁首]

1.6 确定 MSDE 2000 的目前版本

在運作安裝程式之前,應先确定要更新的 MSDE 2000 執行個體的版本。如果 MSDE 2000 的版本已達到或高于 SP4,則不需要安裝 SP4。

确定所安裝的 MSDE 2000 版本:

  1. 使用 isql、osql 或查詢分析器對資料庫引擎執行個體執行以下查詢之一。
    • SELECT SERVERPROPERTY('ProductLevel')

    • SELECT @@VERSION

    • SELECT SERVERPROPERTY('ProductVersion')

  2. 利用下表确定您的 MSDE 版本。
    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 之後應用了熱修複程式,您的産品版本與上述值可能會有所不同。例如,在對 MSDE 2000 Release A 應用了安全修複程式 MS03-031 之後,

    @@VERSION

    傳回值 8.00.818。
  3. (可選)如果無法确定安裝的版本是 SQL Server 2000 資料庫引擎還是 MSDE 2000,請使用 isql、osql 或查詢分析器對不确定的執行個體執行以下查詢。

    SELECT SERVERPROPERTY('Edition')

    如果傳回值 Desktop Engine,表示執行個體為 MSDE 2000。

[傳回頁首]

1.7 有關 SP4 的其他重要資訊

該 Service Pack 中包含的修複程式清單列在 Microsoft 知識庫文章 888799 中。888799 中列出的每個修複程式都包含一個連結,指向有關特定修複程式所解決問題的知識庫文章。使用指向各個知識庫文章的連結可以了解各個修複程式的資訊。

對于未能及時包含在本自述檔案中、與 SQL Server 2000 Service Pack 4 相關的資訊,将釋出在 Microsoft 知識庫文章 884525 中。

本自述檔案中提到的知識庫文章位于 Microsoft 知識庫。

在知識庫中查找文章

  1. 在“進階搜尋”下的“搜尋”文本框中,鍵入所需的文章編号。
  2. 在“搜尋類型”下拉清單中,選擇“文章 ID”。
  3. 單擊“運作搜尋”右箭頭按鈕。
熱修複程式

所有公開釋出的 SQL Server 2000 SP3a 和 SQL Server 2000(64 位)安全公告已在 SP4 中解決。

如果您在 2004 年 12 月 2 日後收到 SQL Server 2000 熱修複程式,則該熱修複程式可能未包括在 SP4 中。請與主要的産品支援提供商聯系擷取用于 SQL Server 2000 SP4 的同一熱修複程式。

SQL Server 2000 SP4 包括可維護性增強功能,使您可以解除安裝以後的熱修複程式。有關更多資訊,請參見 5.7 可維護性增強功能。

與 Slammer 蠕蟲有關的修複程式

SQL Server 2000 SP4 包含了對 MSDE 2000 的更改,可以解決 Slammer 蠕蟲造成的問題:

  • SP4 解決了一些客戶在 SQL Server 2000 SP3 中安裝 Microsoft 資料通路元件 (MDAC) 時遇到的安裝問題。
  • 如果将 MSDE 2000 SP4 或 SP3a 的某個執行個體配置為不支援網絡連接配接,則該執行個體也将停止使用 UDP 端口 1434。
SQL Server CE 和 SQL Mobile 伺服器工具更新

對于已更新或計劃将 SQL Server 2000 資料庫和釋出伺服器更新到 SP4 的 Microsoft SQL Server 2000 Windows® CE Edition (SQL Server CE) and SQL Server 2005 Mobile Edition (SQL Mobile) 使用者,還必須更新安裝了 Microsoft Internet 資訊服務 (IIS) 伺服器上的伺服器複制元件。對于 SQL Server CE 和 SQL Mobile,更新的伺服器工具安裝程式已可用。

說明   即使在更新到 SQL Server 2000 SP3 或 SP3a 之後更新了伺服器複制元件,仍必須安裝最新的 SP4 特定伺服器工具元件更新。

OPENXML 更新

SQL Server 2000 SP4 消除了 OPENXML 對作業系統安裝的 MSXML 版本的依賴性。MSDE 2000 SP4 安裝内部版本的 MSXML 技術,可以向後相容 MSXML 2.6。

[傳回頁首]

1.8 SQL Server 2000 聯機叢書更新已可用

SQL Server 2000 聯機叢書是 MSDE 2000 的主要使用者文檔。聯機叢書會使用修複程式和新的資訊定期更新。在 2004 年 1 月,聯機叢書進行了更新,包括了有關 MSDE 2000 的更多資訊。強烈建議您下載下傳并安裝最新版本的聯機叢書,原因如下:

  • MSDE 2000 安裝文檔進行了更新,以反映 SQL Server 2000 SP3 和 SP3a 中引入的更改。安裝文檔中有關 MSDE 2000 安裝程式 SP4 版本的内容也是最新的,SAVESYSDB 參數除外,該參數是在 SP4 中引入的。有關更多資訊,請參見 5.6.1 MSDE 2000 安裝程式的新參數 SAVESYSDB。
  • 其中描述了 osql 實用工具的用法。本資料主要針對 MSDE 2000 的新客戶。
  • 新增了一節來說明 SQL Server 2000 聯機叢書中哪些部分适用于 MSDE 2000。
  • 對 MSDE 2000 工作負荷調控器的描述已更新。
  • 針對 MSDE 2000 的主題已編制索引,以便随 MSDE 2000 一起出現。所有這些主題還包含字元串 MSDE 2000,以便在搜尋 MSDE 2000 資料時出現。

目前版本的聯機叢書位于下列位置:

  • 最新版本的聯機叢書位于此聯機叢書下載下傳網站,是一組可下載下傳的檔案。
  • 最新版本的聯機叢書還可以從 MSDN Library 中擷取。可以從此網站擷取最新版本的聯機叢書(英語版)。

[傳回頁首]

更新的 SQL Server 2000 示例已可用

可以從此 Microsoft 網站獲 取針對 SQL Server 2000 SP3 和 SP3a 更新過的 SQL Server 2000 資料庫引擎示例。 引用了 MSDE 2000 中所包括的 SQL Server 2000 元件的所有示例同樣适用于 MSDE 2000,但 MSDE 2000 中不支援的功能除外。包括的功能有資料庫引擎、資料庫用戶端連接配接元件和程式設計 API、複制以及資料轉換服務 (DTS)。

[傳回頁首]

2.0 可以找到并下載下傳 SQL Server 2000 SP4 的位置

在準備下載下傳并解壓縮 SQL Server 2000 SP4 之前,請先閱讀本節後面的“下載下傳和解壓縮階段準則”。SQL Server 2000 SP4 通過下列方式分發:

  • SQL Server 2000 Service Pack 4 CD光牒,其中包含下列元件的 Service Pack:
    • MSDE 2000 SP4
    • Database Components SP4
    • Analysis Services SP4
    • SQL Server 2000 SP4(64 位)
    如果有 SQL Server 2000 SP4 CD光牒,可以直接通過該CD光牒,使用自解壓縮檔案 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 将 MSDE 2000 執行個體更新到 MSDE 2000 SP4。
  • 可以從 Internet 上的此 Microsoft 網站下載下傳的四個自解壓縮安裝封包件:
    • SQL2000.MSDE-KB884525-SP4-x86-LLL.exe (Desktop Engine (MSDE 2000) SP4)
    • SQL2000-KB884525-SP4-x86-LLL.exe (Database Components SP4)
    • SQL2000.AS-KB884525-SP4-x86-LLL.exe (Analysis Services SP4)
    • SQL2000-KB884525-SP4-ia64-LLL.exe(SQL Server 2000 SP4(64 位))
    說明   LLL 代表因語言而異的訓示符。

從下載下傳網站或 SP4 CD光牒擷取了 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 之後,可以運作該檔案,将 MSDE 2000 SP4 檔案解壓縮到計算機上。SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 會在硬碟上建立一組檔案夾和檔案,可以用于安裝 MSDE 2000 SP4。

[傳回頁首]

2.1 選擇正确的語言

SQL Server 2000 Desktop Engine Service Pack 是針對各種語言提供的。要更新 MSDE 2000 執行個體,必須擷取與執行個體語言相同的 Service Pack。Service Pack 可以在 SQL Server 2000 SP4 CD光牒上擷取,也可以通過下載下傳 MSDE 2000 SP4 檔案擷取。例如,如果更新日語版的 MSDE 2000 執行個體,必須擷取日語版的 MSDE 2000 SP4。

說明   因為葡萄牙語(巴西)、瑞典語和荷蘭語版本的 SQL Server 2000 隻包含 SQL Server 2000 Desktop Engine,是以為這些語言提供的 Service Pack 中隻包含 MSDE 2000 SP4。對于這些語言,不能通過 Database Components SP4 或 Analysis Services SP4 更新 SQL Server 2000 元件。

如果無法确定 MSDE 2000 執行個體的語言,請執行下列操作:

  • 單擊“開始”,然後單擊“運作”。
  • 在“打開”框中,鍵入“Regedit”,然後單擊“确定”。
  • 查找并選擇下列系統資料庫項之一:
    • 對于 MSDE 2000 的預設執行個體,查找并選擇以下子系統資料庫項:

      HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/CurrentVersion

    • 對于 MSDE 2000 的命名執行個體,查找并選擇以下子系統資料庫項:

      HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/InstanceName/CurrentVersion

      其中,InstanceName 是執行個體的名稱。

  • 檢視右側清單窗格中 Language 條目的值。将該值與下表中的值進行比較,确定 MSDE 2000 執行個體的語言:
    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 簡體中文

[傳回頁首]

2.2 下載下傳 MSDE 2000 SP4

如果 MSDE 2000 執行個體是使用 MSDE 安裝實用工具安裝的,則可以使用 SQL Server 2000 SP4 下載下傳檔案更新 MSDE 2000 執行個體。安裝實用工具的原始包名稱為 SqlRun01.msi 到 SqlRun16.msi。

下載下傳 MSDE 2000 SP4:

  • 轉至此 Microsoft 網站。
  • 從該頁右上方的“完整下載下傳”下拉清單中,選擇與 SQL Server 2000 執行個體的語言相比對的語言,并單擊“Go”。
  • 在與所選語言對應的 Microsoft Download Center 頁面上,選擇檔案 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe,其中 LLL 因語言而異。

[傳回頁首]

2.3 解壓縮 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 檔案:

  • 打開 Windows 資料總管并浏覽到包含 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 的檔案夾。
  • 輕按兩下下載下傳的檔案,以便解壓縮 MSDE 2000 SP4 檔案。按照系統要求,指定要将 SP4 檔案解壓縮到的檔案夾。

[傳回頁首]

2.4 下載下傳和解壓縮階段準則

在從 Internet 下載下傳并解壓縮 MSDE 2000 SP4 安裝檔案時,請遵循下列準則:    

  • 在運作 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 将 SP4 檔案置于某個檔案夾時,確定可用空間大約是該可執行檔案大小的三倍,以便解壓縮并存儲 Service Pack 安裝檔案。必須擁有足夠的空間來存儲自解壓縮檔案和解壓縮後的 Service Pack 檔案,并擁有足夠的臨時工作空間來存儲自解壓縮程式。
  • 在運作自解壓縮檔案 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 時,檔案會提示您輸入要将 Service Pack 檔案儲存到的檔案夾的名稱。

    說明   如果将 Service Pack 解壓縮到網絡共享目錄中,指定的檔案夾路徑是運作 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 的檔案夾的相對路徑。

  • 解壓縮元件之後,可以重命名或移動該檔案夾。但是,請確定檔案夾路徑名不包含空格。
  • 可以将全部四個 SP4 自解壓縮檔案下載下傳并解壓縮到同一個目标檔案夾,以便建立一個位置,從該位置安裝 SQL Server 2000 SP4 的每個部分。四個自解壓縮檔案不會互相覆寫,也不會互相幹擾。

[傳回頁首]

3.0 安裝 Service Pack

要安裝 MSDE 2000 SP4,請遵循以下各節中的安裝說明。在安裝 MSDE 2000 SP4 之前,請查閱 1.0 簡介中的資料。MSDE 2000 SP4 的安裝階段如下:

  1. 準備安裝 MSDE 2000 SP4
  2. 通過運作 MSDE 2000 SP4 安裝 Service Pack
  3. 重新啟動服務和應用程式

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 的聯機叢書副本中安裝程式可執行檔案參考主題的連結:Customizing Desktop Engine Setup.exe(自定義 Desktop Engine Setup.exe)。

在最新版本的 SQL Server 2000 聯機叢書中,“Customizing Desktop Engine Setup.exe”(自定義 Desktop Engine Setup.exe)介紹了 Desktop Engine SP3a 和 MSDE 2000 Release A 中包含的安裝程式可執行檔案版本的功能。文檔中有關 Desktop Engine 安裝程式 SP4 版本的内容也是最新的,SAVESYSDB 參數除外,該參數在 SP4 中引入。有關更多資訊,請參見 5.6.1 MSDE 2000 安裝程式的新參數 SAVESYSDB。

說明   在 SQL Server 2000 SP3 之前的 MSDE 安裝程式版本中,使用者必須指定用于安裝或更新 MSDE 2000 執行個體的 .msi 安裝封包件。在 SP3 以及更高版本的安裝程式中,由安裝程式管理 .msi 檔案,不需要使用者在更新或新安裝中指定 .msi 檔案。

[傳回頁首]

3.1 準備安裝 MSDE 2000 SP4

在安裝 MSDE 2000 SP4 之前,必須執行下列操作:

  1. 備份 SQL Server 資料庫
  2. 确認系統資料庫具有足夠的可用空間
  3. 停止服務和應用程式

3.1.1 備份 SQL Server 資料庫

在安裝 MSDE 2000 SP4 之前,需要備份 master、msdb 和 model 資料庫。安裝 MSDE 2000 SP4 時将修改 master、msdb 和 model 資料庫,會使其與 SP4 之前的 MSDE 2000 版本不相容。如果決定重新安裝沒有 SP4 的 MSDE 2000,必須備份這些資料庫。

盡管 SP4 隻對作為複制拓撲成員的使用者資料庫執行更新,但是備份使用者資料庫仍不失為明智之舉。

現有備份方案考慮到了複制,是以,在更新到 SP4 之後,可以在出現故障後将資料庫還原到某個已知點。建議在應用 SP4 之後,為複制拓撲中包含的所有使用者資料庫建立日志備份或完整的資料庫備份。如果執行了上述資料庫備份,之後某個複制資料庫出現故障,則還原資料庫以後不必 重新應用 SP4。

[傳回頁首]

3.1.2 确認系統資料庫具有足夠的可用空間

如果沒有為 master 和 msdb 資料庫選擇“自動增長”選項,那麼資料庫必須至少有 500 KB 的可用空間。要确認 master 資料庫或 msdb 資料庫是否具有這麼多空間,請分别對它們運作 sp_spaceused 系統存儲過程。如果任一資料庫中未配置設定的空間少于 500 KB,則應增加相應資料庫的大小。有關更多資訊,請參見 SQL Server 2000 聯機叢書中的“擴充資料庫”。

如果為 master 和 msdb 資料庫選擇了“自動增長”選項,并且驅動器上有足夠的空間,可以跳過上述空間确認步驟。

要确認是否已在 MSDE 2000 中選中了“自動增長”選項,請使用 osql 指令提示符實用工具執行下列 SQL 語句:

  • sp_helpdb master

  • sp_helpdb msdb

在這些語句的輸出結果中,确認增長列的值不為 0。

[傳回頁首]

3.1.3 在運作 MSDE 2000 SP4 安裝程式之前停止服務和應用程式

在安裝 MSDE 2000 SP4 之前,應停止所有應用程式和服務,包括“控制台”、“添加和删除程式”、“SQL Server 2000 Reporting Services”、“SQL Server 2000 Notification Services”以及所有連接配接到所更新的 MSDE 執行個體的應用程式。

可以在不事先關閉服務的情況下應用 MSDE 2000 SP4,但事後如果不重新啟動系統,那麼有些服務将無法重新啟動。如果不關閉服務,安裝程式完成時将提示您重新啟動計算機。如果不重新啟動系統,下列服務可能會無法啟動:

  • Microsoft 分布式事務處理協調器 (DTC)、Microsoft 搜尋服務和 MSSQLServerOLAPService 服務。
  • 用于正在更新的執行個體(例如,MSSQL$NamedInstance)的 MSSQLServer 和 SQLServerAgent 服務。
  • Microsoft 元件服務、Microsoft 消息隊列和 Microsoft COM 事務內建器。

您可以降低安裝 MSDE 2000 SP4 之後需要重新啟動計算機的可能性。為降低這種可能性,在運作安裝程式之前,應停止上表中的服務和應用程式。

[傳回頁首]

3.2 運作 MSDE 2000 SP4 安裝程式

本節包括運作 MSDE 2000 SP4 安裝實用工具的一般準則。之後,本節還提供最常見 MSDE 2000 SP4 方案的示例:

  • 3.2.2 将現有的 MSDE 2000 執行個體更新到 SP4
  • 3.2.3 安裝新的 MSDE 2000 SP4 執行個體
  • 3.2.4 将 MSDE 1.0 更新到 MSDE 2000 SP4

要安裝 MSDE 2000 SP4,請從下列任一位置運作 Setup.exe:

  • 在本地計算機上,包含從 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 解壓縮的 Service Pack 檔案的檔案夾,其中 LLL 因語言而異。
  • 在網絡共享位置上,包含從 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 解壓縮的 Service Pack 檔案的檔案夾。

這将啟動安裝過程。

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 行為的英語版參考主題:Customizing Desktop Engine Setup.exe(自定義 Desktop Engine Setup.exe)。

[傳回頁首]

3.2.1 運作安裝程式的一般準則

MSDE 2000 SP4 被設計為可以随應用程式一起分發并通過應用程式安裝程式來安裝。MSDE 2000 沒有互動式安裝程式。MSDE 2000 的安裝機制被設計為由應用程式的安裝實用工具來調用。應用程式安裝程式處理所有與最終使用者的必需互動。MSDE 2000 有兩種安裝機制:

  • 指令提示符安裝實用工具 (Setup.exe)。此安裝實用工具通常由應用程式的安裝實用工具來調用,但也可以從指令提示符視窗來運作。MSDE 2000 安裝實用工具沒有可由使用者來控制該實用工具的行為的圖形使用者界面。但它可以接受一組參數,這些參數定義了該實用工具執行的操作。

    重要   一定要通過運作 Setup.exe 來安裝或更新 MSDE 執行個體。不要試圖通過 .msi 檔案間接啟動安裝程式;例如,不要輕按兩下某個 MSDE 2000 .msi 檔案。

  • 一定要使用 /L*v 開關生成安裝程式日志輸出檔案。
  • 一 組 Windows 安裝程式合并子產品。編寫基于 Windows 安裝程式的安裝實用工具的開發人員可以對應用程式的安裝程式進行程式設計,以便通過使用 MSDE 2000 合并子產品來安裝 MSDE 2000 執行個體。開發人員可以通過指定與 MSDE 2000 安裝實用工具參數相對應的安裝包屬性來控制已安裝執行個體的配置。

[傳回頁首]

安裝參數

必須通過從指令提示符運作 Setup.exe 來安裝或更新任意 MSDE 執行個體。使用者可通過指定參數來控制 MSDE 2000 安裝程式的行為。安裝參數可通過下列兩種方式指定:

  • 在指令提示符處。
  • 在安裝實用工具将讀取的 .ini 檔案中。

如果指定的 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 行為的英語版參考主題:Customizing Desktop Engine Setup.exe(自定義 Desktop Engine Setup.exe)。

說明   如果使用終端服務連接配接嘗試将現有的 MSDE 執行個體更新到 MSDE 2000 SP4,或者安裝新的 MSDE 2000 SP4 執行個體,可能會出現問題。如果遇到問題,請從本地計算機重新啟動安裝程式。

[傳回頁首]

使用 .ini 檔案

可以在 .ini 檔案中指定 MSDE 2000 Setup.exe 參數,.ini 檔案的位置由 /settings 開關指定。.ini 檔案是一個文本檔案,如使用記事本建立并使用擴充名 .ini 儲存的檔案。.ini 檔案中的第一行是 [Options]。您可以在後面指定參數,每行指定一個參數。

安全說明  如果安裝時使用 .ini 檔案,請不要将安全憑據存儲在該檔案中。

下例說明了如何在指令提示符處指定參數:

setup SAPWD="AStrongPassword" INSTANCENAME="InstanceName"
TARGETDIR="C:/MyInstanceFolder"
           

要使用 .ini 檔案中的相同參數運作安裝程式,請使用記事本建立一個名為

MyParameters.ini

的檔案,其内容如下:

[Options]
INSTANCENAME="InstanceName"
TARGETDIR="C:/MyInstanceFolder"
           

然後在運作安裝程式時,使用 /settings 開關指向該 .ini 檔案:

[傳回頁首]

請求安裝程式日志

使用詳細日志來驗證 N 安裝是否成功,或者幫助解決出現的問題。

要生成詳細日志,請指定 /L*v <LogFileName>,其中 <LogFileName> 是安裝程式用于記錄所有操作的日志檔案的名稱。如果指定名稱時沒有包含路徑,将在目前檔案夾中建立日志檔案。如果是從 CD-ROM 執行安裝程式,則必須指定指向硬碟上某個檔案夾的完整路徑。

下例将在 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 行是有關自定義操作的故障通知。該通知中包含有關故障性質的附加資訊。

[傳回頁首]

3.2.2 将現有的 MSDE 2000 執行個體更新到 MSDE 2000 SP4

本節中的示例描述如何将現有的 MSDE 2000 執行個體更新到 MSDE 2000 SP4 以及如何對該 MSDE 2000 執行個體禁用網絡連接配接。如果該執行個體必須接受其他計算機上運作的應用程式所請求的連接配接,請不要指定 DISABLENETWORKPROTOCOLS 參數。

本節中的示例假定 sa 登入有一個強密碼。有關 sa 登入密碼的更多資訊,請參見 1.3 MSDE 2000 SP4 的安全注意事項。

将現有的 MSDE 2000 執行個體更新到 MSDE 2000 SP4

  1. 打開指令提示符視窗。
  2. 在指令提示符處,使用 cd 指令導航至包含 MSDE 2000 SP4 安裝實用工具的檔案夾:
    cd c:/MSDESP4Folder/MSDE
               
    其中 c:/MSDESP4Folder 是一個路徑,它指向将 MSDE 2000 SP4 檔案解壓縮到的檔案夾或者 SQL Server 2000 SP4 CD光牒上的 MSDE 2000 SP4 檔案夾。
  3. 執行下列指令之一:
    • 對于使用 Windows 身份驗證并且禁用了網絡協定的預設執行個體,執行:
      setup /upgradesp sqlrun /L*v C:/MSDELog.log
                 
    • 對于使用 Windows 身份驗證并且啟用了網絡協定的預設執行個體,執行:
      setup /upgradesp sqlrun DISABLENETWORKPROTOCOLS=0 /L*v C:/MSDELog.log
                 
    • 對于使用 Windows 身份驗證并且禁用了網絡協定的命名執行個體,執行:
      setup /upgradesp sqlrun INSTANCENAME=InstanceName /L*v C:/MSDELog.log
                 
    • 對于使用混合模式身份驗證并且禁用了網絡協定的預設執行個體(其中,AnAdminLogin 是 sysadmin 固定伺服器角色的成員),執行:
      setup /upgradesp sqlrun SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin 
      UPGRADEPWD=AdminPassword /L*v C:/MSDELog.log
                 
    • 對于使用混合模式身份驗證并且禁用了網絡協定的命名執行個體(其中,AnAdminLogin 是 sysadmin 固定伺服器角色的成員),執行:
      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 檔案中。

[傳回頁首]

3.2.3 安裝新的 MSDE 2000 SP4 執行個體

本節中的示例描述如何安裝已配置為禁用網絡連接配接(預設行為)的新 MSDE 2000 SP4 執行個體。如果該執行個體必須接受在其他計算機上運作的應用程式請求的連接配接,必須還要指定

DISABLENETWORKPROTOCOLS=0

以下示例使用所有配置項(如排序規則和檔案位置)的預設設定安裝執行個體。這些配置可以由安裝參數(如 COLLATION、DATADIR 和 TARGETDIR)來控制。有關在安裝時可以指定的配置參數的更多資訊,請參見 Customizing Desktop Engine Setup.exe(自定義 Desktop Engine Setup.exe)。

安裝新的 Desktop Engine 執行個體

  1. 打開指令提示符視窗。
  2. 在指令提示符處,使用 cd 指令導航至包含 MSDE 2000 SP4 安裝實用工具的檔案夾:
    cd c:/MSDESP4Folder/MSDE
               
    其中 c:/MSDESP4Folder 是一個路徑,它指向将 MSDE 2000 SP4 檔案解壓縮到的檔案夾或者 SQL Server 2000 SP4 CD光牒上的 MSDE 2000 SP4 檔案夾。
  3. 執行下列指令之一:
    • 要安裝被配置為使用 Windows 身份驗證的預設執行個體,請執行:
      setup SAPWD="AStrongSAPwd" /L*v C:/MSDELog.log
                 
      其中,AStrongSAPwd 是為 sa 登入指定的強密碼。
    • 要安裝被配置為使用 Windows 身份驗證的命名執行個體,請執行:
      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 檔案中。

重要  即使執行個體被配置為使用 Windows 身份驗證,也請始終為 sa 登入指定一個強密碼。

[傳回頁首]

3.2.4 将 MSDE 1.0 更新到 MSDE 2000 SP4

本節中的示例描述如何将現有的 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

  1. 打開指令提示符視窗。
  2. 在指令提示符處,使用 cd 指令導航至包含 MSDE 2000 SP4 安裝實用工具的檔案夾:
    cd c:/MSDESP4Folder/MSDE
               
    其中 c:/MSDESP4Folder 是一個路徑,它指向将 MSDE 2000 SP4 檔案解壓縮到的檔案夾或者 SQL Server 2000 SP4 CD光牒上的 MSDE 2000 SP4 檔案夾。
  3. 執行下列指令之一:
    • 如果從使用 Windows 身份驗證的 MSDE 1.0 執行個體更新,請執行:
      setup UPGRADE=1 DISABLENETWORKPROTOCOLS=1
      /L*v C:/MSDELog.log
                 
    • 如果從使用混合模式身份驗證的 MSDE 1.0 執行個體更新(其中,AnAdminLogin 是 sysadmin 固定伺服器角色的成員),請執行:
      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.3 重新啟動服務和應用程式

完成安裝後,可能會提示您重新啟動系統。3.1.3 在運作 MSDE 2000 SP4 安裝程式之前停止服務和應用程式中 提供了有關何時必須重新啟動的準則。在系統重新啟動(或者完成安裝但未請求重新啟動)之後,使用“控制台”中的“服務”應用程式,確定在應用 Service Pack 之前停止的所有服務現在正在運作。在應用 Service Pack 之前可能已停止的服務包括 DTC、MSSQLServer 和 SQLServerAgent 服務或其執行個體專用的同等服務。

請重新啟動運作 Service Pack 安裝程式之前關閉的應用程式。

此時,對更新後的 master 和 msdb 資料庫進行備份也是明智的。

[傳回頁首]

3.4 在複制伺服器上安裝 MSDE 2000 SP4

以下資訊僅适用于作為合并複制拓撲一部分的現有 MSDE 2000 執行個體。

  • 在更新到 SP4 之前,請確定用來運作 SQL Server 服務的 Windows 帳戶是 sysadmin 固定伺服器角色的成員。之是以必須确認,是因為要通過 SQL Server 服務帳戶的上下文更新複制分發資料庫。在更新到 SP4 之後,應從 sysadmin 角色中删除該 Windows 帳戶。
  • 更新釋出伺服器前,必須先更新分發伺服器。
  • 對于基于事務複制及隻讀訂閱伺服器的複制拓撲,如果需要更新拓撲中的 MSDE 2000 執行個體,可以在更新釋出伺服器和分發伺服器之前或之後更新訂閱伺服器。
  • 對于基于合并複制或事務複制及更新訂閱伺服器的複制拓撲,如果需要更新拓撲中的 MSDE 2000 執行個體,必須在更新釋出伺服器和分發伺服器之後更新訂閱伺服器。

    說明   許多情況下,尤其在合并複制中,分發伺服器和釋出伺服器位于同一台伺服器,在同一時間更新。

  • 如果要使用合并複制,而分發伺服器位于另一台計算機或資料庫執行個體(遠端分發伺服器)上,則必須在應用 SP4 之後生成一個新快照。
  • 不能将複制拓撲中的 MSDE 1.0 執行個體更新到 MSDE 2000 SP4。

[傳回頁首]

在用作釋出伺服器和訂閱伺服器的伺服器上安裝 MSDE 2000 SP4

在以下情況下,需要使系統暫停(停止所有更新)并同時更新所有伺服器。

  • 對于基于合并複制的複制拓撲
  • 對于基于更新訂閱伺服器的事務複制的複制拓撲,其中一個或多個伺服器既充當訂閱伺服器,又充當釋出伺服器(或分發伺服器)。

示例 1:需要同時更新的拓撲

下表中包括的伺服器既釋出又訂閱允許在訂閱伺服器上進行更新的釋出。如上一節所述,對于允許在訂閱伺服器上進行更新的拓撲,必須遵循下列更新順序: 分發伺服器、釋出伺服器、訂閱伺服器。此順序要求,對于合并釋出,先更新伺服器 A;對于通過更新訂閱伺服器進行的事務釋出,先更新伺服器 B。在此情況下,必須使系統暫停,然後同時更新這些伺服器。

伺服器 A 伺服器 B
用于合并複制的釋出伺服器/分發伺服器 用于合并複制的訂閱伺服器
用于通過更新進行事務複制的訂閱伺服器 用于通過更新進行事務複制的釋出伺服器/分發伺服器

示例 2:允許依次更新的拓撲

在此示例中,可以首先更新伺服器 A,因為隻讀事務複制允許在更新釋出伺服器/分發伺服器之前先更新訂閱伺服器。

伺服器 A 伺服器 B
用于合并複制的釋出伺服器/分發伺服器 用于合并複制的訂閱伺服器
用于隻讀事務複制的訂閱伺服器 用于隻讀事務複制的釋出伺服器/分發伺服器

[傳回頁首]

3.5 将 MSDE 2000 SP4 應用于複制拓撲中的隻讀資料庫或檔案組

以下資訊僅适用于作為合并複制拓撲一部分的 MSDE 2000 執行個體。

如果存在隻讀資料庫或檔案組,則安裝程式将顯示以下消息:

Setup has detected one or more databases and filegroups which are not writable.
           

通常,可以忽略此警告并繼續運作安裝程式。但是,如果安裝程式日志中列出的任何隻讀資料庫是複制拓撲的成員,則必須使這些資料庫可寫,并将 SP4 安裝程式重新應用于該 SQL Server 2000 執行個體。

安裝過程中,安裝程式不會區分隻讀資料庫和脫機或可能有問題的資料庫。如果複制拓撲中的資料庫或檔案組在安裝時是隻讀的,必須重新應用 Service Pack 來更新該資料庫。有關如何使資料庫聯機的更多資訊,請參見 SQL Server 2000 聯機叢書中的“附加和分離資料庫”主題。有關診斷可能有問題的資料庫的更多資訊,請參見 SQL Server 2000 聯機叢書中的“伺服器和資料庫疑難解答”主題。

對隻讀資料庫應用 MSDE 2000 SP4

  1. 使用

    ALTER DATABASE

    語句使隻讀資料庫可寫,如下所示:
    ALTER DATABASE database SET READ_WRITE
               
  2. 對所有隻讀資料庫重複步驟 1。
  3. 應用(或重新應用)SP4。
  4. 如果需要,使用

    ALTER DATABASE

    重新使資料庫隻讀,如下所示:
    ALTER DATABASE database SET READ_ONLY
               

對隻讀檔案組應用 SP4

  1. 使用

    ALTER DATABASE

    使隻讀檔案組可寫,如下所示:
    ALTER DATABASE Database 
    MODIFY FILEGROUP filegroup_name READWRITE 
               
  2. 對所有隻讀檔案組重複步驟 1。
  3. 應用(或重新應用)Service Pack。
  4. 使用

    ALTER DATABASE

    重新使檔案組隻讀,如下所示:
    ALTER DATABASE Database 
    MODIFY FILEGROUP filegroup_name READONLY
               

有關 ALTER DATABASE 的更多資訊,請參見 SQL Server 聯機叢書中的“ALTER DATABASE”參考主題。有關重新應用 SP4 的更多資訊,請參見 3.8 重新應用 MSDE 2000 SP4。

[傳回頁首]

3.6 更新連結伺服器的目錄

将 MSDE 2000 執行個體更新到 MSDE 2000 SP4 時,可能需要驗證某些系統存儲過程在其他 SQL Server 或 MSDE 執行個體中是否已更新。

MSDE 2000 SP4 包括将 Microsoft 資料通路元件 (MDAC) 更新到 MDAC 2.8 SP1。MDAC 2.8 SP1 包括對 SQLOLEDB 提供程式和 SQL Server ODBC 驅動程式的更新。有關更多資訊,請參見 1.5 驗證 Microsoft 資料通路元件的版本。 如果提供程式或驅動程式連接配接到 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 的腳本附帶的。Instcat.sql 會更新任何包含更低目錄版本的 SQL Server 或 MSDE 執行個體中的目錄存儲過程。

安裝了 MSDE 2000 SP4 之後,必須針對任何版本低于 SQL Server 2000 SP4 并具有以下特性的 SQL Server 或 MSDE 執行個體,從 MSDE 2000 SP4 運作 Instcat.sql 腳本:

  • 通過使用 SQLClient 托管命名空間、ADO、OLE DB 或 ODBC 并且在任何安裝了 MSDE 2000 SP4 的計算機上運作的應用程式進行通路。
  • 通過對 MSDE 2000 SP4 執行個體運作的分布式查詢引用。分布式查詢包括對使用 sp_addlinkedserver 以及 OPENROWSET 和 OPENQUERY 函數定義的連結伺服器條目的引用。

更新選中了“Windows 身份驗證”選項的 MSDE 2000 執行個體上的目錄存儲過程

  1. 使用作為 SQL Server sysadmin 固定伺服器角色成員的登入帳戶登入 Windows。
  2. 打開指令提示符視窗。
  3. 運作 osql 實用工具:
    • 對于預設執行個體,執行:
      osql -E -SComputerName -ilocation/instcat.sql
                 
    • 對于命名執行個體,執行:
      osql -E -SComputerName/InstanceName -ilocation/instcat.sql
                 

更新選中了“混合模式身份驗證”選項的 MSDE 2000 執行個體上的目錄存儲過程:

  1. 使用任意登入帳戶登入 Windows。
  2. 打開指令提示符視窗。
  3. 運作 osql 實用工具:
    • 對于預設執行個體,執行:
      osql -UAnAdminLogin -PAdminPassword 
      -SComputerName -ilocation/instcat.sql
                 
    • 對于命名執行個體,執行:
      osql -UAnAdminLogin -PAdminPassword 
      -SComputerName/InstanceName -ilocation/instcat.sql
                 

其中:

  • AnAdminLogin 是一個 SQL Server 登入,它是 sysadmin 固定伺服器角色的成員。
  • AdminPassword 是 AnAdminLogin 的密碼。
  • ComputerName 是運作 SQL Server 或 MSDE 執行個體的計算機的名稱。
  • InstanceName

    是 SQL Server 2000 或 MSDE 2000 命名執行個體的名稱。
  • location 是包含

    instcat.sql

    的檔案夾的完整路徑。已安裝的 SQL Server 2000 執行個體的預設位置是 c:/program files/Microsoft SQL Server/MSSQL/Install。

Instcat.sql 腳本可生成許多消息。這些消息通常不指明任何錯誤。隻是通知您腳本中每條 Transact-SQL 語句所影響的行數。最後一條消息應指明腳本是否成功運作。

[傳回頁首]

3.7 解除安裝 MSDE 2000 SP4

為了能夠還原到安裝 SP4 之前的 MSDE 2000 版本,必須先備份 master、msdb 和 model 資料庫,然後再安裝 SP4。有關更多資訊,請參見 3.1.1 備份 SQL Server 資料庫。

還原到安裝 SP4 之前的 MSDE 2000 版本

  1. 分離所有使用者資料庫。有關更多資訊,請參見 SQL Server 2000 聯機叢書中的“如何附加和分離資料庫(企業管理器)”。
  2. 解除安裝 MSDE 2000:在“控制台”中,輕按兩下“添加/删除程式”,然後選擇要解除安裝的 MSDE 2000 執行個體,再單擊“删除”。
  3. 從 CD-ROM 或最初安裝 MSDE 2000 的位置重新安裝 MSDE 2000。
  4. 應用安裝 MSDE 2000 SP4 之前安裝的所有 Service Pack 和熱修複程式。
  5. 從安裝 SP4 之前建立的最後一個備份中還原 master、msdb 和 model 資料庫。如果資料檔案的位置未更改,此還原将自動附加建立備份時附加的所有使用者資料庫。
  6. 附加最後一次備份 master 資料庫之後建立的所有使用者資料庫。
  7. 必要時對複制進行配置。

    警告  還原到安裝 SP4 之前的 SQL Server 版本後,将丢失自安裝 SP4 之後對 master、msdb 和 model 資料庫所做的所有更改。

    說明   還原到安裝 SP4 之前的 MSDE 2000 版本時,不會解除安裝 MDAC 更新。有關更多資訊,請參見 1.5 驗證 Microsoft 資料通路元件的版本。

[傳回頁首]

3.8 重新應用 MSDE 2000 SP4

如果使最初應用 SP4 時屬于複制拓撲的隻讀資料庫或檔案組可寫,必須重新應用 MSDE 2000 SP4。

要重新應用 MSDE 2000 SP4,請執行 3.0 安裝 Service Pack 中的步驟。

[傳回頁首]

4.0 其他安裝資訊

本節描述 Service Pack 安裝的其他注意事項。

4.1 再分發 MSDE 2000 SP4

如果應用程式供應商具有分發 MSDE 2000 的許可證,MSDE 2000 SP4 将包含随該應用程式再分發 MSDE 2000 所需的所有檔案。可以按照最新版本的 SQL Server 2000 聯機叢書中所述分發 MSDE 2000 SP4 檔案。還可以在此 Microsoft 網站上注冊,獲得再分發 MSDE 2000 的權利。

有關安裝最新版本的 SQL Server 2000 聯機叢書的更多資訊,請參見 1.8 SQL Server 2000 聯機叢書更新已可用。

[傳回頁首]

分發 MSDE 2000 SP4 修補程式

如果某個應用程式有基于 Windows 安裝程式的安裝實用工具,則該應用程式可以通過使用 MSDE 2000 合并子產品來安裝 MSDE 2000 執行個體。MSDE 2000 SP4 提供合并子產品以支援使用合并子產品的現有應用程式。新應用程式的安裝實用工具必須編寫為調用 MSDE 2000 安裝實用工具,而不是直接使用 MSDE 2000 合并子產品。

如果供應商選擇使用 MSDE 2000 合并子產品安裝 MSDE 2000 執行個體,則他們必須為其客戶提供以後所有的 MSDE 2000 修補程式。應用程式直接使用合并子產品安裝的 MSDE 2000 執行個體,使用 Windows 安裝程式與應用程式關聯的産品代碼 GUID 進行标記。隻有也包含該應用程式産品代碼 GUID 的修補程式檔案才能修補這些 MSDE 2000 執行個體。隻有應用程式供應商開發的修補程式檔案才會包含正确的産品代碼。由 Microsoft 提供的 MSDE 2000 Service Pack 不能應用于這些執行個體。應用程式供應商必須使用 MSDE 2000 SP4 檔案建構修補程式檔案,并将這些修補程式檔案分發給該供應商所有需要 SP4 中修複程式的 MSDE 客戶。

有關如何建立修補程式檔案包的更多資訊,請參見 Windows 安裝程式軟體開發工具包 (SDK),該工具包可以從 Microsoft 平台 SDK 網站下載下傳。

如果應用程式的安裝實用工具通過調用 MSDE 2000 安裝程式來安裝 MSDE 2000 執行個體,則 MSDE 2000 執行個體使用 MSDE 2000 産品代碼 GUID 進行标記。客戶可以使用标準的 MSDE 2000 Service Pack 檔案來修補這些執行個體。應用程式供應商可以選擇下列某個方法來分發 MSDE 2000 SP4:

  • 指導客戶從 SQL Server 2000 SP4 下載下傳頁或 SQL Server 2000 SP4 CD光牒安裝 MSDE 2000 SP4。指導客戶直接應用 SP4 的應用程式供應商必須提供針對其客戶的特定說明。
  • 有關 Microsoft 應用程式小組為其客戶準備的 MSDE 2000 Service Pack 說明類型的示例,請參見此 Microsoft MSDE 應用程式網頁。
  • 下載下傳 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 下載下傳檔案并将其随如何應用 Service Pack 的說明一起分發給客戶。
  • 使用 MSDE 2000 SP4 檔案建構 Service Pack 應用程式實用工具,在由該應用程式安裝的 MSDE 2000 執行個體上安裝 SP4。

[傳回頁首]

4.2 MSDE 2000 SP4 檔案位置

所有 MSDE SP4 安裝檔案和檔案夾均位于 /MSDE 檔案夾,該檔案夾位于下列一個或多個位置:

  • SQL Server 2000 SP4 CD-ROM。
  • 包含從 SQL2000.MSDE-KB884525-SP4-x86-LLL.exe 解壓縮的 Service Pack 檔案的檔案夾,其中 LLL 因語言而異。

/MSDE 檔案夾中包含 Readmesql2k32desksp4.htm 檔案、readme.txt 檔案、license.txt 檔案和安裝實用工具的可執行檔案。它還包含下列子檔案夾:

  • /Msi:包含安裝 Windows 安裝程式或更新版本低于 2.0.2600.0 的 Windows 安裝程式所必需的可執行檔案。
  • /MSM:包含合并子產品安裝程式所必需的合并子產品。
  • /Setup: 包含 MSDE 2000 安裝程式安裝新的 MSDE 2000 SP4 執行個體所必需的 .msi 安裝封包件或将現有的 MSDE 2000 執行個體更新到 SP4 所必需的 .msp 修補程式封包件。/Setup 還包含 sqlrun.cab 壓縮封包件,其中包含安裝程式安裝的檔案。

有關如何使用 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 安裝程式或者其版本低于支援的 MSDE 2000 SP4 安裝程式版本,安裝程式将使用 MSDEInstallFolder/Msi 檔案夾中的檔案來更新 Windows 安裝程式。

[傳回頁首]

5.0 文檔說明

本節介紹在應用 MSDE 2000 SP4 之後可能發生的問題以及運作 SP4 時可以使用的新功能。在通過運作 Service Pack 從任何早期版本的 MSDE 2000(包括 MSDE 2000 Release A)更新時,可能會出現這些問題。本節不描述 SP4 中提供的所有修複程式。有關這些修複程式的完整清單,請參見知識庫文章 888799。

對于未能及時包含在本自述檔案中、與 SQL Server 2000 Service Pack 4 相關的資訊,将釋出在 Microsoft 知識庫文章 884525 中。

[傳回頁首]

5.1 MSDE 2000 增強功能

下列增強功能适用于安裝 Database Components SP4 的 MSDE 2000 執行個體。它們還适用于安裝 MSDE 2000 SP4 的 MSDE 2000 Release A 執行個體。

[傳回頁首]

5.1.1 删除了散列組

在 SP1 中引入

散列組 (hash teams) 已删除。由于 MSDE 2000 中的某些增強功能,使用散列組已不能獲得它們在 MSDE 1.0 中所提供的性能優勢。而且,删除散列組使得 MSDE 2000 更加穩定。

是以,查詢優化器不再用散列組生成查詢計劃。

在極個别的情況下,删除散列組可能會使查詢的處理速度減慢。請分析這類查詢并确定建立更适合的索引是否能使查詢性能恢複到以前的水準。

[傳回頁首]

5.1.2 添加了 Affinity Mask 開關

在 SP1 中引入

此 Service Pack 添加了兩個 Affinity Mask 開關。

Affinity Mask I/O 開關

使用此 Service Pack,可以指定使用哪些 CPU 來運作用于磁盤 I/O 操作的線程。這一開關必須與 Affinity Mask 選項結合起來使用。有關更多資訊,請參見知識庫文章 298402。

Affinity Mask 連接配接開關

使用此 Service Pack,可以将支援虛拟接口體系結構 (VIA) 的系統配置為将 MSDE 2000 連接配接從某些網卡綁定到一個處理器或一組處理器。這一開關必須與 Affinity Mask 選項結合起來使用。有關更多資訊,請參見知識庫文章 299641。

[傳回頁首]

5.1.3 sp_change_users_login 的文法更改

在 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
           

[傳回頁首]

5.1.4 預設情況下禁用對 OLE DB 提供程式的特殊通路

在 SP3 中引入

如果未明确設定 DisallowAdhocAccess 系統資料庫選項,則預設情況下,不允許對 OLE DB 提供程式進行特殊通路。這表示特殊查詢文法(如 OPENDATASOURCE 和 OPENROWSET)無法針對遠端伺服器工作。要允許特殊通路,必須明确将 DisallowAdhocAccess 選項設定為 0。

[傳回頁首]

5.1.5 新的 SqlServerLike 提供程式選項

在 SP3 中引入

為了更有效地處理包含 LIKE 謂詞的遠端查詢,在 SP3 中添加了 SqlServerLike 選項。在 MSDE 2000 SP3 或更高版本中,現在有兩個選項可用來将 LIKE 運算發送到連結伺服器。如果用于連結伺服器的 OLE DB 提供程式支援 LIKE 運算符和通配符的 SQL Server 文法,則可以指定 SqlServerLike 選項,以便讓 MSDE 2000 使用 SQL Server 文法發送 LIKE 運算。如果用于連結伺服器的 OLE DB 提供程式報告它支援 Entry Level ANSI/ISO SQL-92 文法或者傳回 SQLPROP_ANSILIKE 屬性,則 SQL Server 将使用 SQL-92 文法将 LIKE 運算發送到連結伺服器。有關 SQLPROP_ANSILIKE 的更多資訊,請參見 SQL Server 2000 聯機叢書中的“SQLPROPSET_OPTHINTS 屬性集程式設計”主題。

必須添加一個系統資料庫項值,才能為 OLE DB 提供程式啟用 SqlServerLIKE 選項。

安全說明  如果系統資料庫編輯不當,可能會導緻嚴重問題并需要重新安裝作業系統。Microsoft 不能保證因系統資料庫編輯不當而導緻的問題會得到解決。編輯系統資料庫之前,請備份所有重要資料。

  1. 打開 Regedit32。
  2. 查找正确的系統資料庫項:
    • 對于命名執行個體,查找以下子系統資料庫項:

      HKEY_LOCAL_MACHINE/Software/Microsoft/Microsoft SQL Server/<Instance Name>/Providers/<Provider Name>

    • 對于預設執行個體,查找以下子系統資料庫項:

      HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/Providers/<Provider Name>

  3. 在 <Provider Name> 系統資料庫項中,添加一個名為 SqlServerLIKE 的 DWORD 值,并将其值設定為 1。

[傳回頁首]

5.1.6 分布式查詢的擴充錯誤消息

在 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].

[傳回頁首]

5.1.7 新函數 fn_get_sql 傳回 SQL 語句

在 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 的英語版參考主題。

[傳回頁首]

5.1.8 跨資料庫所有權連結

在 SP3 中引入

此 Service Pack 提供了一個新選項,可以用來打開和關閉跨資料庫所有權連結。

在安裝 MSDE 2000 SP4 時,可以使用 ALLOWXDBCHAINING 安裝參數為所有資料庫啟用跨資料庫所有權連結。ALLOWXDBCHAINING 在最新版本的 SQL Server 2000 聯機叢書的以下主題中描述:Customizing Desktop Engine Setup.exe(自定義 Desktop Engine Setup.exe)。有關安裝最新版本的 SQL Server 2000 聯機叢書的資訊,請參見 1.8 SQL Server 2000 聯機叢書更新已可用。

說明   建議不要對所有資料庫啟用跨資料庫所有權連結。

安裝後,可以使用下列方法對執行個體中的所有資料庫打開或關閉跨資料庫的所有權連結:

  • 使用 sp_configure 系統存儲過程的新參數 Cross DB Ownership Chaining。
  • 在企業管理器中,使用“SQL Server 屬性”對話框中“安全性”頁籤上的“允許跨資料庫所有權連結”選項。
  • 使用 SQLServer.Configuration.ConfigValues 資料庫管理對象 (DMO) 集合。當 SQLServer 對象引用 MSDE 2000 SP3 或更高版本的執行個體時,該集合将包含一個名為 Cross DB Ownership Chaining 的 ConfigValue 對象。

如果對該執行個體關閉了跨資料庫所有權連結,則可以對單個資料庫進行配置。使用下列方法可以對資料庫打開和關閉跨資料庫的所有權連結:

  • 使用 sp_dboption 系統存儲過程的新選項 db chaining。
  • 在企業管理器中,使用“資料庫屬性”對話框中“選項”頁籤上的“允許跨資料庫所有權連結”選項。
  • 使用 DMO 對象 DBOption2 的 DBChaining 屬性。

有關更多資訊,請在運作安裝程式時單擊“後向相容性一覽表”頁上的“幫助”按鈕、下載下傳 SQL Server 2000 聯機叢書的更新版,或者檢視知識庫文章 810474。

[傳回頁首]

5.1.9 跟蹤标志 1204 的增強功能

在 SP3 中引入

跟蹤标志 1204 傳回參與死鎖的鎖的類型以及目前受影響的指令。在 SP3 和更高版本中,當啟用此跟蹤标志時,會将死鎖資訊自動寫入錯誤日志。

[傳回頁首]

5.1.10 sp_changedbowner 的權限更改

在 SP3 中引入

隻有 sysadmin 固定伺服器角色的成員可以運作 sp_changedbowner 系統存儲過程。

[傳回頁首]

5.1.11 調試功能的更改

在 SP3 中引入

預設情況下,禁用在 Microsoft Visual Studio® 6.0 及更早版本或 SP3 之前的 SQL Server 查詢分析器中調試存儲過程的功能。預設情況下還将禁用應用程式調試(在調試用戶端應用程式時停止于 SQL Server Transact-SQL 斷點處)。要啟用調試功能,請運作 sp_sdidebug 并傳遞參數 legacy_on。要禁用調試功能,請将 legacy_off 傳遞給此過程。

說明   建議不要在生産用伺服器上運作 sp_sdidebug 存儲過程。

有關更多資訊,請參見知識庫文章 328151。

[傳回頁首]

5.1.12 在群集伺服器上不能禁用命名管道

在 SP3 中引入

應用了 Service Pack 之後,将無法再在參與故障轉移群集的資料庫引擎執行個體上禁用命名管道協定。

[傳回頁首]

5.1.13 UDP 端口 1434 的操作

在 SP3a 中引入

從 MSDE 2000 SP3a 開始,如果 MSDE 2000 執行個體未被配置為支援網絡通信,将停止使用使用者資料報協定 (UDP) 端口 1434。配置為支援網絡通信的執行個體将使用 UDP 端口 1434。

對于更新到 SP3a 或更高版本的執行個體,隻要所有伺服器 Net-Library(共享記憶體 Net-Library 除外)都被禁用,它将停止使用 UDP 端口 1434。隻要啟用任何一個伺服器 Net-Library,該執行個體又将開始使用端口 1434。有關禁用或啟用伺服器 Net-Library 的更多資訊,請參見 SQL Server 2000 聯機叢書中的“SQL Server 網絡實用工具”主題。

隻有将計算機上所有 SQL Server 2000 和 MSDE 2000 執行個體都更新到了 SP3a 或更高版本并配置為不支援網絡通信,該計算機才會停止使用 UDP 端口 1434。

UDP 端口 1434 的打開和關閉與共享記憶體 Net-Library 的狀态無關。共享記憶體 Net-Library 隻供本地連接配接使用,它不使用網絡。共享記憶體 Net-Library 始終處于活動狀态;它不能被啟用或禁用。

還可以在安裝或更新 MSDE 2000 執行個體時指定是否禁用伺服器 Net-Library。使用 MSDE 2000 安裝實用工具的 DISABLENETWORKPROTOCOLS 參數或 MSDE 2000 合并子產品的 SqlDisableNetworkProtocols 屬性。有關這些選項的更多資訊,請參見最新版本的 SQL Server 2000 聯機叢書中的以下主題:Customizing Desktop Engine Setup.exe(自定義 Desktop Engine Setup.exe)。有關安裝最新版本的 SQL Server 2000 聯機叢書的資訊,請參見 1.8 SQL Server 2000 聯機叢書更新已可用。

[傳回頁首]

5.1.14 最大網絡資料包大小的更改

在 SP4 中引入

在 SP4 中,網絡資料包大小選項的最大值(使用 sp_configure 設定)為 32767。該值略小于以前的最大值 65536 的一半。在更新期間,大于 32767 的現有值将自動調整為 32767。如果腳本嘗試使用 sp_configure 設定一個大于 32767 但小于等于 65536 的值,該值也将設定為 32767。将網絡資料包大小設定為大于 65536 的值将導緻錯誤。

[傳回頁首]

5.1.15 優化具有大的 IN 清單或許多 OR 子句的查詢

在 SP4 中引入

SP4 包含對 SQL Server 優化器行為的更改,此更改影響包含具有大的 IN 清單或許多 OR 子句的謂詞的查詢。更具體的講,此更改(在 SQL Server 2000 熱修複程式 789 中引入)影響包含以下内容的查詢(或可以使用包含以下内容的對應表達式重寫的查詢):

  • IN 清單中包含 10,000 個以上的元素
  • 兩個 IN 清單,每個清單都包含 100 個以上的元素
  • OR 子句中包含 10,000 個以上的分離項
  • OR 子句和 IN 清單組合,使對應的表達式包含 10,000 個以上的分離項

如果運作此類查詢的系統具有大量記憶體但并行程度很低,優化器可能會選擇性能較差的查詢計劃。為了覆寫優化器行為的更改,此 Service Pack 中提供了跟蹤标志 9060。預設情況下,禁用跟蹤标志 9060。如果啟用該跟蹤标志,熱修複程式 789 之前的 SP3 行為将啟用。如果啟用該跟蹤标志時遇到錯誤 701(系統記憶體不足),應考慮使用 IN 清單中的值的臨時表或表變量重寫查詢。對于數字範圍,應使用 BETWEEN 子句或者大于 (>) 或小于 (<) 運算符。有關使用跟蹤标志的資訊,請參見 SQL Server 聯機叢書中的“跟蹤标志”。

[傳回頁首]

5.1.16 支援未來的網絡協定

在 SP4 中引入

SP4 中支援 Banyan VINES、多協定、AppleTalk 和 NWLink IPX/SPX 網絡協定。但是,在 SQL Server 2005 以及更高版本中将不支援這些協定。請做出相應計劃。

[傳回頁首]

5.2 複制增強功能

本節讨論 MSDE 2000 SP4 中包含的 MSDE 2000 複制增強功能。

5.2.1 事務複制 UPDATE 自定義存儲過程

在 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 的英語版參考主題。

[傳回頁首]

5.2.2 事務複制腳本自定義存儲過程

在 SP1 中引入

設定 nosync 訂閱(即不接收初始快照的訂閱)時,必須手動建立 INSERT、UPDATE 和 DELETE 語句的自定義存儲過程。通常,在傳送初始快照時,會在訂閱伺服器上建立這些語句。新添加的存儲過程 sp_scriptpublicationcustomprocs 可以為釋出級的自定義存儲過程生成腳本。這一新功能可以使設定 nosync 訂閱變得更加容易。

sp_scriptpublicationcustomprocs 在最新版本的 SQL Server 2000 聯機叢書中描述。有關安裝最新版本的 SQL Server 2000 聯機叢書的資訊,請參見 1.8 SQL Server 2000 聯機叢書更新已可用。這是 sp_scriptpublicationcustomprocs 的英語版參考主題。

[傳回頁首]

5.2.3 合并複制基于保持的中繼資料清除

在 SP1 中引入

如果在合并複制系統表中有大量中繼資料,清除中繼資料将會改善性能。在 SQL Server 2000 SP1 之前,中繼資料隻能通過運作 sp_mergecleanupmetadata 來清除。但是,SQL Server 2000 SP1 及更高版本包含基于保持的中繼資料清除功能,這意味着可以從下列系統表中自動删除中繼資料:

  • MSmerge_contents
  • MSmerge_tombstone
  • MSmerge_genhistory
  • 任何前映像表(如果存在)

說明   如果在釋出中啟用了 @keep_partition_changes 同步優化選項,則前映像表是存在的。

出現下列情況時,将發生基于保持的中繼資料清除:

  • 如果合并代理程式參數 –MetadataRetentionCleanup 設為 1(這是預設情況),合并代理程式将清除合并所涉及的訂閱伺服器和釋出伺服器。
  • 如果參數 -MetadataRetentionCleanup 設為 0,則不進行自動清除。在這種情況下,請通過執行 sp_mergemetadataretentioncleanup 手動啟動基于保持的中繼資料清除。必須在每一個應被清除的釋出伺服器和訂閱伺服器上執行此存儲過程。建議(但不是必須)在相似的時刻清除釋出伺服器和訂閱伺服器(請參見本節後面的防止虛假沖突)。

    說明   對于 SQL Server 2000 SP1 及更高版本中包括的所有合并代理程式配置檔案,将 -MetadataRetentionCleanup 參數設定為 1。如果将伺服器更新到 SP1 或更高版本,然後添加合并複制,則合并代理程式配置檔案将自動更新以包括此參數。如果将已啟用合并複制的伺服器更新到 SP1 或更高版本,則合并代理程式配置檔案不會自動更新;請通過運作 sp_add_agent_parameter 來更新配置檔案(請參見本節後面的 sp_add_agent_parameter 的其他參數)。

    重要  釋出的預設保持期為 14 天。如果某個項目同時屬于多個釋出,則可能有幾個不同的保持期。此時,将使用最長的保持期來确定清除可能發生的最早時刻。如果在資料庫上有多個釋出,并且其中有一個釋出使用無限的釋出保持期 (@retention=0),則不會自動清除該資料庫的合并中繼資料。是以,使用無限釋出保持時要格外小心。

sp_add_agent_parameter 的其他參數

系統存儲過程 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 拓撲中的中繼資料清除

要在與合并複制有關的資料庫中自動進行基于保持的清除,此資料庫及合并代理程式必須都位于運作 SQL Server 2000 SP1 或更高版本的伺服器上。例如:

  • SQL Server 7.0 請求訂閱伺服器不會在 SQL Server 2000 SP1 釋出伺服器上運作清除。
  • SQL Server 2000 SP1 強制合并代理程式不會在 SQL Server 2000(無 SP1)訂閱伺服器資料庫上運作清除。
  • SQL Server 2000 SP1 強制合并代理程式會在 Server 2000 SP1 釋出伺服器資料庫上運作清除,即使該釋出伺服器上有正在運作 SQL Server 2000 或更早版本的訂閱伺服器。

在某些伺服器上進行自動清除而在其他伺服器上不進行自動清除時,最多會引起虛假沖突,而這種沖突極少發生。對于包括 SQL Server 2000 SP1 之前的 SQL Server 版本的拓撲,可以通過在所有未被自動清除的伺服器上運作 sp_mergemetadatacleanup 來改善其性能。

防止虛假沖突

基于保持的中繼資料清除可以防止在其他節點上發生未彙集的和無提示的更改覆寫。然而,下列情況下會發生虛假沖突:

  • 在一個節點上清除中繼資料,而在其他節點上不清除。
  • 已清除節點上的後續更新發生在中繼資料被删除的那一行。

例如,如果中繼資料在釋出伺服器上被清除而在訂閱伺服器上未被清除,并且在釋出伺服器進行了一次更新,則即使資料似乎已同步,仍會發生沖突。

要防止此沖突,需確定中繼資料幾乎同時在相關節點上被清除。如果将 -MetadataRetentionCleanup 設為 1,則在合并開始之前将自動清除釋出伺服器和訂閱伺服器,進而確定節點被同時清除。如果發生沖突,請使用合并複制沖突檢視器檢查沖突并在必要時更改結果。

如果某個項目屬于多個釋出或位于某個重新釋出方案中,則給定行在釋出伺服器和訂閱伺服器上的保持期可能不同。要減少中繼資料在一側清除而在另一側未清除的可能性,建議對不同的釋出使用相似的保持期。

說明   如果在系統表中有大量必須清除的中繼資料,合并處理的運作時間可能會比較長。請定期清除中繼資料以避免出現此情況。

[傳回頁首]

5.2.4 合并複制的備份和還原問題

在 SP1 中引入

從某個備份還原的釋出資料庫首先應與一個具有全局訂閱(即具有配置設定的優先級值的訂閱)的訂閱資料庫同步,以確定正确的彙集行為。同步可以確定能夠重新正确地應用釋出資料庫中由于還原操作而丢失的更改。

不要将釋出資料庫與含有匿名訂閱的訂閱資料庫同步。因為匿名訂閱沒有将更改應用于釋出資料庫所需的足夠的中繼資料,是以這種同步可能會導緻資料未彙集。

在規劃合并複制的備份和還原操作時,還需考慮下列幾個問題:

  • 從沒有超過保持期的備份中還原訂閱資料庫。

隻有當備份時間不超過訂閱伺服器所訂閱的所有釋出的最短保持期時,才從備份中還原訂閱資料庫。例如,如果訂閱伺服器訂閱了三個保持期分别為 10 天、20 天和 30 天的釋出,則用于還原資料庫的備份的保持時間不應超過 10 天。

  • 生成備份之前進行同步。

強烈建議您在進行備份前将訂閱伺服器與釋出伺服器同步。否則,如果從該備份恢複訂閱伺服器,系統可能無法正常彙集。 雖然備份檔案本身也許是新的,但與釋出伺服器的最近一次同步至今的時間也可能和保持期一樣長。例如,假設有一個保持期為 10 天的釋出。最近一次同步在 8 天前,現在執行備份。如果 4 天後應用備份,則最近一次同步發生在 12 天之前,已過了保持期。如果訂閱伺服器在備份之前剛剛同步過,訂閱資料庫将在保持期之内。

  • 如果更改了釋出保持期值,請重新初始化訂閱伺服器。

如果需要更改釋出的保持期值,可手動重新初始化訂閱伺服器,以避免資料不彙集。當到達釋出保持期時,基于保持的中繼資料清除功能将從合并系統表中删除過時的中繼資料。

釋出的保持期值用于确定保持期内尚未同步的釋出何時到期。如果在清除之後增加了釋出的保持期,而某個訂閱試圖與釋出 伺服器(已删除中繼資料)合并,則該訂閱将不會到期,這是因為保持期值已經增加了。而且,釋出伺服器沒有足夠的中繼資料來下載下傳對訂閱伺服器所做的更改,進而導 緻資料不彙集。

  • 請對所有釋出伺服器及其可選同步夥伴使用相同的釋出保持期值。使用其他值可能導緻資料不彙集。

[傳回頁首]

5.2.5 從不同版本的 SQL Server 還原複制的資料庫

在 SP1 中引入

将備份還原到備份建立時所在的伺服器或資料庫,并且其上運作的伺服器版本不變時,可保留複制設定。如果将複制的資料庫還原到與備份資料庫時不同的 SQL Server 版本,則需考慮下列問題:

  • 如果要從使用 SQL Server 2000 建立的備份中将資料庫還原到 SQL Server 2000 SP3a 中,且希望保留複制設定,則必須運作 sp_vupgrade_replication。運作 sp_vupgrade_replication 可以確定複制中繼資料會被更新。如果不運作 sp_vupgrade_replication,則複制中繼資料可能會處于一種無法預知的狀态。
  • 如 果要從使用 SQL Server 7.0(發行版本、SP1、SP2、SP3 和 SP4)建立的備份中将資料庫還原到 SQL Server 2000 中,且希望保留複制設定,則必須在安裝 Service Pack 之前重建備份。可以直接從在 SQL Server 7.0 中建立的複制資料庫備份中将資料庫還原到 SQL Server 2000 SP3a 中,但是将不會保留複制設定。

[傳回頁首]

5.2.6 快照代理程式的新指令行參數 -MaxNetworkOptimization

在 SP2 中引入。

在正常處理過程中,當某些行不屬于訂閱伺服器的分區時,合并複制會向訂閱伺服器發送 DELETE 指令。這種 DELETE 指令也稱為不相幹删除。不相幹删除不會影響資料的完整性或彙集,但可能導緻不必要的網絡通信。

要減少不相幹删除導緻的網絡通信,可以在合并複制釋出中使用新的快照代理程式參數

-MaxNetworkOptimization。将該參數設為 1 可盡量減少不相幹删除,進而最大程度地優化網絡性能。

說明   僅當合并複制的同步優化選項設為 true(sp_addmergepublication 的 @keep_partition_changes 參數)時,将此參數設為 1 才有用。

預設值為 0,因為如果存在多級聯接篩選器和複雜的子集篩選器,則将該參數設為 1 會導緻存儲更多的中繼資料,并導緻釋出伺服器的性能降低。應當認真評估複制拓撲結構,并且隻有當不相幹删除導緻的網絡通信量高得無法接受時,才将 -MaxNetworkOptimization 設為 1。

可以通過執行系統過程 sp_add_agent_parameter 将此參數添加到快照代理程式配置檔案中,如下所示:

EXEC sp_add_agent_parameter 1, 'MaxNetworkOptimization', 1
           

[傳回頁首]

5.2.7 合并複制使用新角色

在 SP3 中引入

SP3 和更高版本自動建立一個角色供合并複制使用。該新角色的名稱形式為 MSmerge-<publication ID>。該角色是在釋出伺服器上為每個合并複制釋出而建立的,并且作為釋出通路清單 (PAL) 來控制對釋出伺服器上合并釋出的通路。如果除去了該角色,可以運作 SP3 或更高版本中附帶的新存儲過程 sp_createmergepalrole 來重新建立該角色。此存儲過程将在釋出伺服器的釋出資料庫上執行,以便重新建立該角色。

sp_createmergepalrole 在最新版本的 SQL Server 2000 聯機叢書中描述。有關安裝最新版本的 SQL Server 2000 聯機叢書的資訊,請參見 1.8 SQL Server 2000 聯機叢書更新已可用。這是 sp_createmergepalrole 的英語版參考主題。

[傳回頁首]

5.2.8 非系統管理者使用者建立的訂閱的新要求

在 SP3 中引入

如果建立某個訂閱的使用者不是 sysadmin 固定伺服器角色的成員,則必須執行下列任一操作:

  • 使用登入名和密碼配置 SQL Server 代理的代理帳戶,以便與複制代理程式關聯的 SQL Server 代理作業步驟能夠擁有足夠的運作權限。有關更多資訊,請參見 SQL Server 聯機叢書中的“xp_sqlagent_proxy_account”主題。
  • 在運作該代理之前,請将作業步驟的所有者更改為作為 sysadmin 固定伺服器角色成員的使用者。

說明   遠端代理程式激活功能總是要求作業步驟在 sysadmin 固定伺服器角色的使用者帳戶的上下文中運作。

[傳回頁首]

5.2.9 存儲過程權限的更改

在 SP3 中引入

許多用于實作、管理和監視複制拓撲的存儲過程的權限已經更改。這些更改中的大多數都涉及到使運作存儲過程所需的權限變得更為嚴格。有關新權限的更多 資訊,請查閱 SQL Server 聯機叢書更新版中有關複制存儲過程的 Transact-SQL 參考文檔。有關更新的 SQL Server 聯機叢書的更多資訊,請參見 1.8 SQL Server 2000 聯機叢書更新已可用。

[傳回頁首]

5.2.10 sp_addmergearticle 和 sp_changemergearticle 的新參數

在 SP3 中引入

sp_addmergearticle 和 sp_changemergearticle 中已經同時添加了一個新參數 @published_in_tran_pub。此參數用于指明是否将合并釋出中的一個項目同時釋出到事務釋出中。@published_in_tran_pub 的資料類型為 nvarchar(5),預設值為 FALSE。TRUE 用于指明将某個項目同時釋出于事務釋出中。

說明   在 sp_changemergearticle 中更改此參數時,必須使快照無效并且必須重新初始化訂閱伺服器。

[傳回頁首]

5.2.11 對 Windows 同步管理器支援的更改

在 SP3 中引入

SQL Server 允許您啟用現有的訂閱(使用 SQL Server 企業管理器 SQL-DMO 和複制存儲過程建立),以便與 Windows 同步管理器一起使用。還可以使用 Windows 同步管理器建立新訂閱。在您應用該 Service Pack 以後,當 Windows 同步管理器同步訂閱時,将提示您輸入連接配接到參與同步的伺服器所需的一個或多個密碼。

[傳回頁首]

5.2.12 附加或還原複制資料庫要求的更改

在 SP3 中引入

在某些情況下,在附加或還原釋出資料庫的過程中,複制可能無法正常工作。包括以下情況:

  • 已應用 SP3 或更高版本。
  • 附加資料庫的使用者不是 sysadmin 固定伺服器角色的成員。
  • 尚未啟用跨資料庫連結。

如果符合上述所有情況,則應在附加或還原的資料庫上執行 sp_changedbowner 存儲過程。将所有權指定給内置的 sa 管理者登入。這将確定複制功能能夠正常運作。

說明   隻有 sysadmin 固定伺服器角色的成員能夠執行 sp_changedbowner。

有關跨資料庫所有權連結的更多資訊,請參見 5.1.8 跨資料庫所有權連結。

[傳回頁首]

5.2.13 複制 ActiveX 控件的安全性指定的更改

在 SP4 中引入

複制 ActiveX(R) 控件(sqlinitx.dll、sqldistx.dll、sqlmergx.dll 和 replerrx.dll)不再指定為“對于腳本是安全的”和“對于初始化是安全的”。控件的安全性和功能行為在 SP3 之後未曾更改;但是,安全性指定已根據安全标準進行了更改。這些更改可能會影響調用網頁中的嵌入式複制 ActiveX 控件的應用程式。

[傳回頁首]

5.2.14 合并釋出中項目的新參數

在 SP4 中引入

在調用 sp_addmergearticle 時,可以指定新參數 @compensate_for_errors。 該參數指定如果在同步期間遇到錯誤(例如違反限制),是否要進行補償操作。如果設定為 TRUE(預設值),則同步期間無法在節點上應用的更改将通過補償操作撤消所有其他節點上的更改。在某些情況下需要此行為,但某些情況下也可能會産生問 題;例如,一個因配置不當而出錯的訂閱伺服器可能會撤消在釋出伺服器和所有其他訂閱伺服器上的更改。

如果指定值 FALSE,将禁用這些補償操作;但是,仍會記錄錯誤,後續的合并将繼續嘗試應用更改。盡管受影響的行中的資料似乎沒有彙集,但是,隻要您解決了錯誤,即可應用更改,資料也将彙集。

說明   如果項目的源表已在另一個釋出中釋出,則兩個項目的 @compensate_for_errors 值必須相同。

[傳回頁首]

5.2.15 用于複制事務釋出中辨別列的新架構選項

在 SP4 中引入

在以前的版本中,事務釋出中的辨別列作為基本資料類型(例如 int)進行複制,而不設定辨別屬性。此方法适合不允許在訂閱伺服器上進行插入的應用程式。SQL Server 2000 SP4 為事務釋出引入了一個新的架構選項 (0x4),用于将辨別列作為一個辨別列進行複制。這在許多情況下都适用,包括雙向複制以及使用訂閱伺服器作為備用伺服器。在上述情況下,可能會在訂閱伺服器上進行插入,而插入會使辨別列增加。

指定辨別列應作為一個辨別列複制:

  1. 在釋出伺服器上建立表時,為辨別列指定 NOT FOR REPLICATION 選項。這樣可以確定隻有使用者插入會使辨別列增加,複制代理程式插入不會增加辨別列。有關更多資訊,請參見 SQL Server 聯機叢書中的“CREATE TABLE”。
  2. 在添加包含辨別列的項目時,應為 sp_addarticle 的 @schema_option 參數設定 0x4 選項。有關此參數的更多資訊,請參見 SQL Server 聯機叢書中的“sp_addarticle”。
  3. 初始化訂閱伺服器之後,對每個包含辨別列的表執行 DBCC CHECKIDENT。這樣可以為在訂閱伺服器的辨別列中的插入指定起始值,使插入的值不會與釋出伺服器上已插入的值相同。例如,可以指定在訂閱伺服器上的插入應從 1,000,000 開始:
    USE Northwind
    GO
    DBCC CHECKIDENT ('Employees', RESEED, 1000000)
    GO
               

有關更多資訊,請參見 SQL Server 聯機叢書中的 DBCC CHECKIDENT。

5.2.16 在 Windows-on-Windows 64 模式下運作的分發伺服器不支援非 SQL Server 訂閱伺服器

在 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 訂閱伺服器的驅動程式或提供程式不支援此模式。

[傳回頁首]

5.3 SQL Server 代理和共享工具增強功能

本節讨論 SP4 中包含的 SQL Server 代理增強功能。

5.3.1 SQL Server 代理記錄帳戶資訊

在 SP2 中引入

SQL Server 代理作業曆史記錄現在會記錄運作每個作業步驟的 Windows 帳戶。此資訊可以幫助管理者診斷與排程作業(包括為複制和資料轉換服務 (DTS) 任務定義的排程作業)有關的安全性問題。

[傳回頁首]

5.3.2 SQL Server 代理權限檢查

在 SP3 中引入

MSDE 2000 現在會檢查以確定代理作業的所有者具有追加或重寫每個作業所産生的輸出日志檔案的權限。存在三種情況:

  • 如果作業所有者是 sysadmin 固定伺服器角色的成員,則可以将作業輸出日志檔案寫入伺服器。
  • 如果作業所有者是 Windows 使用者,則 MSDE 2000 将測試該使用者是否對伺服器上所選作業輸出日志檔案位置具有寫權限。
  • 如果作業所有者是 MSDE 2000 使用者,則 MSDE 2000 将測試 SQL Server 代理的代理帳戶是否對伺服器上所選作業輸出日志檔案位置具有寫權限。如果尚未設定代理帳戶,則不會寫入日志。

在所有情況下,均使用 SQL Server 代理憑據寫入作業,但 MSDE 2000 現在将進行測試以確定使用者對伺服器上所選作業輸出日志檔案位置具有寫權限。錯誤被記錄在作業曆史記錄中,但如果無法寫入日志檔案,作業步驟也不會失敗。

[傳回頁首]

5.3.3 SQL 代理郵件 MAPI 配置檔案

在 SP3 中引入

在 MSDE 2000 和 32 位版本的 SQL Server 2000 中,可以配置 SQL 代理郵件以使用擴充 MAPI 電子郵件配置檔案來發送電子郵件警報。可以使用擴充 MAPI 電子郵件應用程式(如 Microsoft Outlook)來建立擴充 MAPI 配置檔案。在 64 位版本的 SQL Server 2000 中,SQL 代理郵件隻能使用簡單 MAPI 配置檔案來發送電子郵件警報。不要在 MSDE 2000 或 32 位版本的 SQL Server 2000 中使用簡單 MAPI 配置檔案。

[傳回頁首]

5.4 XML 增強功能

以下主題讨論 SP4 中包含的 XML 和 SQLXML 的增強功能。

5.4.1 改進的 XPath 表達式驗證

在 SP3 中引入

在應用 SP4 時,OPENXML 更新為使用自定義的 XML 分析技術,該技術是為了向後相容 MSXML 2.6。

在 SP3 之前,OPENXML 使用的 XML 分析器版本允許 XPath 表達式中的謂詞跟在用于辨別目前上下文節點(在 XPath 文法中,目前上下文節點由句點

.

表示)的特殊字元縮寫詞後面。這種做法違反了 XPath 文法規範,該規範要求此字元後跟一個位置路徑表達式。

對于新的 OPENXML 行為,謂詞不能緊跟在目前上下文節點縮寫詞特殊字元的後面。在更新到 SP3 或更高版本之後,SQLXML 查詢(對所批注的映射架構執行的 XPath 查詢以及用于轉換 SQLXML 查詢結果的 XSLT 樣式表中的 XPath 查詢)存在文法錯誤的 XPath 表達式将失敗。

要防止發生這些失敗,請辨別并修複所有使用錯誤文法的表達式。例如,在下面的

xsl:if

元素中,被指定為測試特性值的 XPath 表達式的文法是無效的,原因在于謂詞

[@ResourceTypeID='2']

直接跟在用于辨別目前上下文節點的特殊字元縮寫詞的後面。

以下語句在以前不生成錯誤,但是在安裝 SP3 或更高版本之後将失敗。

<xsl:if test=".[@ResourceTypeID='2']">
           

要防止失敗,必須按如下所示修改該 XPath 表達式:

<xsl:if test="@ResourceTypeID='2'">
           

[傳回頁首]

5.5 用于 C 語言的 DB-Library 和嵌入式 SQL

在 SP1 中引入,在 SP4 中更新

雖然 SQL Server 2000 和 MSDE 2000 仍然支援用于 C 語言應用程式接口 (API) 的 DB-Library 和嵌入式 SQL,但是以後的 SQL Server 版本将不再包含編寫使用這些 API 的應用程式所需的檔案或文檔。SQL Server 的下一個版本仍然支援來自使用用于 C 語言的 DB-Library 和嵌入式 SQL 編寫的現有應用程式的連接配接,但在此之後的版本中将不再提供這種支援。在編寫新的應用程式時不要使用 DB-Library 或嵌入式 SQL。修改現有應用程式時應消除對這些技術的依賴性。使用 .NET Framework 中的 system.data.SQLClient 命名空間或者 ADO、OLE DB 或 ODBC 等 API 通路 SQL Server 中的資料,代替用于 C 語言的 DB-Library 或嵌入式 SQL。有關這些技術的更多資訊,請參見 SQL Server 聯機叢書或 .NET Framework SDK。

[傳回頁首]

5.6 MSDE 2000 安裝程式增強功能

以下主題描述 MSDE 2000 安裝程式的增強功能。

5.6.1 MSDE 2000 安裝程式的新參數 SAVESYSDB

在 SP4 中引入

MSDE 2000 SP4 為 MSDE 2000 安裝程式引入了一個新參數 SAVESYSDB。SAVESYSDB 參數供在将使用合并子產品或 MSI 檔案安裝的 MSDE 2000 執行個體更新到将來的 SQL Server 2005 Express Edition 版本時使用。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,将其設定為任何其他值都會出錯。

[傳回頁首]

5.7 可維護性增強功能

在 SP4 中引入

SQL Server 2000 SP4 引入了新的可維護性功能,使您可以解除安裝在 Windows XP 和 Windows Server 2003 上運作的 SQL Server 2000 SP4 以及更高版本所應用的熱修複程式。(SQL Server 2000 SP3 也提供了此功能,但是隻有在應用了附加的熱修複程式之後才可用。)

[傳回頁首]