Microsoft SQL Server 2000 Service Pack 4

Desktop Engine (MSDE 2000)

2005 年 3 月 29 日

© Copyright Microsoft Corporation, 2004. All rights reserved.

 
SQL Server ドキュメント チームは、技術サポートの質問にお答えすることはできませんが、この Readme ドキュメントに関する提案やコメントは歓迎します。以下のリンクを使用して、電子メール フィードバックを直接お送りください。フィードバックは英語でお願いします。

このドキュメントに関するフィードバックを送信するには、次のリンクをクリックしてください。  フィードバックの送信
 

目次

1.0 はじめに

    1.1 必要なシステム

    1.2 MSDE 2000 SP4 にアップグレードする前に

    1.3 MSDE 2000 SP4 のセキュリティに関する考慮事項

    1.4 インスタンス名の確認

    1.5 Microsoft Data Access Components のバージョンの確認

    1.6 MSDE 2000 の現在のバージョンの確認

    1.7 SP4 に関する追加情報

    1.8 SQL Server 2000 Books Online の利用可能な更新

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 Setup の実行

    3.3 サービスおよびアプリケーションの再起動

    3.4 レプリケートされているサーバーへの MSDE 2000 SP4 のインストール

    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 DB-Library と Embedded SQL for C

    5.6 MSDE 2000 Setup の機能強化

    5.7 サービス性の機能強化

[先頭に戻る]

1.0 はじめに

この Readme ファイルでは、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 のどの部分をインストールする必要があるかを判断します。SP4 のダウンロードとインストールを行う前に、この Readme の「1.0 はじめに」の内容をすべて再確認します。

  2. Service Pack インストール ファイルをダウンロードして展開します。SP4 インストール ファイルの入手方法については、「2.0 SQL 2000 SP4 の検索およびダウ ンロードの場所」を参照してください。

  3. SP4 へのアップグレードのためにインスタンスを準備します。「3.0 Service Pack のインストール」および「3.1 MSDE 2000 SP4 インストールの準備」〜「3.3 サービスおよびアプリケーションの再起動」に、SP4 をインストールする前に行う準備手順の詳細が記載されています。

  4. SP4 をインストールします。SP4 セットアップを実行する際のオプションの詳細については、「3.2 MSDE 2000 SP4 Setup の実行」を参照してください。

注意   特に断りがない限り、この Readme に記載される「SQL Server 2000 Desktop Engine」はすべて MSDE 2000 Release A を指しています。MSDE 2000 Release A のダウンロードは機能的には SQL Server 2000 Desktop Engine SP3a と同等ですが、以前の MSDE 2000 ライセンスのときとは異なる権利がユーザーに許諾される、新しい使用許諾契約書 (EULA) が付属しています。

SQL Server 2000 SP4 は 4 つの部分に分かれています。各部分を使用して、さまざまな SQL Server コンポーネントに SP4 を適用します。

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 のその他の部分は、Analysis Services やデータベース エンジンなど、その他の SQL Server 2000 コンポーネントに適用されます。データベース コンポーネント SP4 と Analysis Services SP4 の使用方法については、別の Readme ファイルを参照してください。他の Readme ファイルは、Microsoft Web サイトで入手できます。

[先頭に戻る]

MSDE 2000 SP4 の使用

MSDE 2000 の Service Pack は、MSDE を使用する再配布可能なアプリケーションを作成する開発者を対象としています。MSDE 2000 SP4 を使用して、次のことを行うことができます。

MSDE 2000 ライセンスの詳細については、「MSDE を正しく使用するための FAQ」を参照してください。MSDE 2000 をインストールまたは実行するためのライセンスをまだ所持していない場合は、MSDE 2000 Release A Web ページで登録を行うことにより、このライセンスを取得できます。

[先頭に戻る]

MSDE 2000 SP4 のインストールを開始する前に

以下の条件を満たす場合は、この Readme の「1.0 はじめに」と「2.0 MSDE 2000 SP4 の検索およびダウンロードの場所」の内容を再確認してから「3.0 Service Pack のインストール」の指示に従って、MSDE 2000 SP4 をインストールしてください。

[先頭に戻る]

アップグレードおよびインストールの一般的なシナリオ

この Readme の以下のセクションには、MSDE の既存のインスタンスを MSDE 2000 SP4 にアップグレードする際、または MSDE 2000 の新規インスタンスをインストールする際の、最も一般的なシナリオの例が示されています。

[先頭に戻る]

1.1 必要なシステム

MSDE 2000 SP4 Setup を実行するには、コンピュータが以下のハードウェア要件とソフトウェア要件を満たしている必要があります。

ハードウェア要件

次の表は、MSDE 2000 をインストールおよび実行するためのハードウェア要件を示しています。

ハードウェア 最小要件
コンピュータ Intel Pentium または互換の 166 MHz 以上のプロセッサを搭載
メモリ (RAM) 128 MB (Microsoft Windows XP および Windows 2003 Server)

64 MB 以上 (Windows 2000)

ハード ディスク容量 75 MB (Microsoft Windows XP および Windows 2003 Server)

100 MB (Windows 2000)

ドライブ CD-ROM ドライブ (MSDE 2000 SP4 を CD-ROM からインストールする場合)

MSDE 2000 にはハードウェア互換性リスト (HCL) はありません。コンピュータがこの表に記載された最小要件を満たしている場合、MSDE 2000 ソフトウェアは Windows オペレーティング システムの使用を認定されているハードウェアで動作します。Windows オペレーティング システムの使用を認定されているハードウェアの詳細については、Microsoft Web サイトで Windows ハードウェア互換性リストを参照してください。

[先頭に戻る]

オペレーティング システムの要件

MSDE 2000 を使用するには、次のオペレーティング システムのいずれかがインストールされている必要があります。

重要   SQL Server 2000 SP4 は、Windows NT 4.0、Windows Millennium Edition、および Windows 98 プラットフォームではサポートされません。Windows NT 4.0、Windows Millennium Edition、および Windows 98 プラットフォームにインストールされている SQL Server 2000 SP3a は、SQL Server 2000 SP4 の最終リリース後 12 か月間、引き続き重要な修正プログラムのサポートを受け取ります。

[先頭に戻る]

ソフトウェアおよびシステムの要件

MSDE 2000 Setup を実行するには、ファイルとプリンタの共有が有効になっている必要があります。

ファイルとプリンタの共有が有効になっているかどうかを確認するには、次の操作を行います。

  1. [コントロール パネル] で、[ネットワーク接続] をダブルクリックします。

  2. [ローカル エリア接続] を右クリックして [プロパティ] をクリックします。

  3. [全般] タブで、[Microsoft ネットワーク用ファイルとプリンタ共有] チェック ボックスがオンになっていることを確認します。

以下のセキュリティ ポリシーが [インストールを許可しない] に設定されている場合は、MSDE 2000 SP4 をインストールできません。

[インストールを許可しない] 設定を使用している場合は、MSDE 2000 SP4 をインストールする前に [警告なしで許可する] に変更する必要があります。インストール完了後に、必要に応じてポリシーを以前の設定に戻すことができます。

注意  [インストールを許可しない] はこれらのセキュリティ ポリシーの既定の設定ではありません。

セキュリティ ポリシーを設定するには、次の操作を行います。

  1. [コントロール パネル] で、[管理ツール] をダブルクリックします。

  2. [ローカル セキュリティ ポリシー] をダブルクリックします。

  3. [ローカル ポリシー] を展開します。

  4. [セキュリティ オプション] を選択します。

  5. MSDE 2000 SP4 をインストールする前に、右側のウィンドウで次のオプションが [警告なしで許可する] に設定されていることを確認します。

Microsoft Windows インストーラ 2.0.2600.0 以降を使用している場合のみ、CD-ROM から MSDE 2000 SP4 のアップグレード ファイルをインストールできます。Windows インストーラをアップグレードする必要がある場合は、MSDE 2000 SP4 に必要なファイルが含まれています。

Windows インストーラをアップグレードするには、次の操作を行います。

  1. Windows エクスプローラで、SQL Server 2000 SP4 CD-ROM の \MSDE\MSI フォルダ、または自己解凍形式の Service Pack 4 ダウンロード ファイル SQL2000.MSDE-KB884525-SP4-x86-LLL.exe (LLL は言語によって異なります) から展開したフォルダの \MSDE\MSI フォルダに移動します。

  2. InstMsi20.exe を実行します。

  3. 案内に従って、コンピュータを再起動します。

[先頭に戻る]

アプリケーションの要件

MSDE のインスタンスがアプリケーションによって使用されている場合は、MSDE 2000 SP4 にアップグレードする前に、そのアプリケーションに適用される MSDE アップグレードの考慮事項があるかどうかをアプリケーションの提供元に確認します。

[先頭に戻る]

1.2 MSDE 2000 SP4 にアップグレードする前に

ここでは、MSDE 2000 SP4 を使用して MSDE の既存のインスタンスを MSDE 2000 SP4 にアップグレードする前に対応する必要がある問題、およびアップグレード前に実行する必要がある作業について説明します。

データベース コンポーネント SP4 のインスタンス上で作成されるデータベースまたはデータベース バックアップは、以前のバージョンの SQL Server 2000 上でアタッチまたは復元できます。ただし、レプリケーション トポロジ内のデータベースについては制限があります。詳細については、「1.2.3 レプリケーションまたはログ配布トポロジ内のインスタンスに関する考慮事項」を参照してください。

[先頭に戻る]

1.2.1 MSDE 2000 の既存のインスタンスに MSDE 2000 SP4 を適用できるかどうかの判断

MSDE 2000 の既存のインスタンスに MSDE 2000 SP4 を適用するための手順は、インスタンスがインストールされた方法に応じて異なります。MSDE 2000 はほとんどのアプリケーションで、以下のいずれかの方法でインストールされます。

1 台のコンピュータに MSDE 2000 の複数のインスタンスが存在する場合、MSDE 2000 SP4 を適用できるかどうかを判断するには、各インスタンスを個別に評価する必要があります。また、SP4 も各インスタンスに個別に適用する必要があります。

注意   Microsoft は、SQL Server データベース エンジンの 16 を超えるインスタンスが 1 台のコンピュータに存在する設定をサポートしていません。これらには、SQL Server 6.5、SQL Server 7.0、SQL Server 2000、MSDE 1.0、MSDE 2000 などのインスタンスが含まれます。

マイクロソフト サポート技術情報の文書 311762 には、MSDE 2000 のインスタンスがインストールされた方法を判断するための手順が含まれています。文書 311762 の手順に従ったうえで、以下の点に留意してください。

[先頭に戻る]

1.2.2 元の MSDE 2000 インストール ファイルが必要かどうかの判断

MSDE 2000 SP4 Setup プログラムは、ハード ディスク、ネットワーク共有、または CD-ROM から実行できます。Setup をハード ディスクから実行する場合は、元の MSDE 2000 インストール ファイルは必要ありません。しかし、ネットワーク共有または CD-ROM から MSDE 2000 のインスタンスを MSDE 2000 SP4 にアップグレードする場合は、最初に MSDE 2000 のインストールに使用したファイルを元のインストールのときと同じ場所に置く必要があります。元のインストールが CD-ROM から行われた場合は、MSDE 2000 SP4 Setup はアプグレード中に元の CD-ROM を要求します。元のファイルがネットワーク共有の元の場所に存在しない場合、または元の CD-ROM が利用できない場合は、MSDE 2000 SP4 ファイルをハード ドライブにコピーし、ハード ドライブから Setup を実行する必要があります。

[先頭に戻る]

1.2.3 レプリケーションまたはログ配布トポロジ内のインスタンスに関する考慮事項

MSDE 2000 SP4 Setup は、レプリケーション トポロジのメンバであるユーザー データベースをアップグレードします。このアップグレード要素は、レプリケートされたユーザー データベースのバックアップおよび復元機能に影響する場合があります。MSDE 2000 SP4 をインストールする前に、レプリケーション データベースおよびファイル グループが書き込み可能であることを確認してください。

レプリケーション トポロジに含まれるデータベースへの SP4 適用の詳細については、「3.4 レプリケートされているサーバーへの MSDE 2000 SP4 のインストール」を参照してください。レプリケーションに関するその他のバックアップと復元の考慮事項については、「5.2.4 マージ レプリケーションのバックアップと復元の問題点」を参照してください。

注意   MSDE 2000 のインスタンスがレプリケーション トポロジの一部でない場合は、ユーザー データベースをバックアップし、SQL Server 2000 または MSDE 2000 の任意のリリース上で復元することができます。

Setup が書き込み可能ではないユーザー データベースまたはファイル グループを検出した場合は、以下のことを行います。

Setup ログに一覧表示された一部のデータベースがレプリケーション トポロジのメンバではない場合は、この警告を無視できます。Setup ログに一覧表示された書き込み可能ではないデータベースのいずれかがレプリケーション トポロジのメンバである場合は、これらのデータベースを書き込み可能にし、MSDE 2000 のインスタンスに SP4 を再適用する必要があります。

データベースを書き込み可能にすることに関する詳細については、「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 以前の状態に安全に復元するには、MSDE 2000 SP4 をインストールする直前に master、model、および msdb データベースのバックアップを作成しておく必要があります。詳細については、「3.1.1 SQL Server データベースのバックアップ」を参照してください。

詳細については、「3.7 MSDE 2000 SP4 のアンインストール」を参照してください。

[先頭に戻る]

1.3 MSDE 2000 SP4 のセキュリティに関する考慮事項

SP3a では、既定の設定がよりセキュアになるように MSDE 2000 Setup の動作が変更されました。SP4 ではこれらの変更が次のように行われています。

[先頭に戻る]

1.4 インスタンス名の確認

1 つのコンピュータに MSDE 2000 および SQL Server 2000 データベース エンジンの複数のコピー (インスタンス) をインストールする場合は、インスタンス名を知っている必要があります。1 つのコンピュータにインストールできる最大インスタンス数は 16 です。このうち 1 つのインスタンスはインスタンス名を持たず、"既定のインスタンス" と呼ばれます。その他の 15 のインスタンスは一意のインスタンス名を持ち、"名前付きインスタンス" と呼ばれます。

MSDE のインスタンスをインストールまたはアップグレードするには、MSDE SP4 Setup プログラムを使用します。MSDE の名前付きインスタンスをインストールまたはアップグレードしている場合は、インスタンス名を指定するために INSTANCENAME パラメータを使用する必要があります。INSTANCENAME パラメータを指定しないと、Setup はそのコンピュータの MSDE の既定のインスタンスを操作します。MSDE 2000 SP4 を使用して、SQL Server 2000 データベース エンジンのインスタンスをアップグレードすることはできません。

コンピュータ上にある既存のインスタンスを検索するには、次の操作を行います。

  1. Windows エクスプローラで [マイ コンピュータ] を右クリックし、[管理] をクリックします。

  2. [サービスとアプリケーション] を展開します。

  3. [サービス] をクリックします。

既定のインスタンスが、MSSQLSERVER という名前のサービスとして右側のウィンドウに表示されます。名前付きインスタンスは、MSSQL$InstanceName という名前のサービスとして表示されます。ここで InstanceName はインスタンスの名前です。

インスタンス名は、Microsoft Web ページに記載されている規則に従っている必要があります。

[先頭に戻る]

1.5 Microsoft Data Access Components のバージョンの確認

MSDE 2000 SP4 Setup は、インストールされている Microsoft Data Access Components (MDAC) のバージョンを MDAC 2.8 SP1 にアップグレードするかどうかを判断します。

注意   コンピュータ上の MDAC のバージョンを確認する方法については、サポート技術情報の文書 301202 を参照してください。

MSDE 2000 SP4 は MDAC 2.8 SP1 をインストールします。この MDAC の言語バージョンは、MSDE 2000 SP4 の言語バージョンと同じです。MSDE 2000 SP4 とは異なる言語バージョンの MDAC を保持する場合は、MSDE 2000 SP4 Setup を実行する前に、目的の言語バージョンの MDAC 2.8 SP1 をダウンロードしてインストールする必要があります。言語固有のバージョンの MDAC 2.8 SP1 は、Microsoft Data Access Downloads ページからダウンロードできます。

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 Web サイトからダウンロードしてインストールする必要があります。MDAC 2.8 SP1 の詳細については、Microsoft Data Access Downloads ページを参照してください。MDAC のバージョンの詳細については、サポート技術情報の文書 822758 を参照してください。MDAC 2.8 SP1 に含まれる修正プログラムについては、サポート技術情報の文書 884930 に説明があります。

MSDE 2000 と共に使用できるすべてのバージョンの Windows に、MSDE 2000 SP4 で動作するバージョンの MDAC ソフトウェアが含まれています。MSDE 2000 のインスタンスを、ネットワーク通信をサポートし、かつデータベース サーバーとして動作するように設定した場合は、Windows コンピュータにクライアント ソフトウェアをインストールしなくても、アプリケーションはそのコンピュータから MSDE 2000 のインスタンスに接続できます。ネットワーク通信の詳細については、Microsoft Web ページを参照してください。

注意   プレリリース版の SQL Server 2000 SP4 によってインストールされる MSXML 3.0 SP7 は、プレリリース版です。プレリリース版の SQL Server 2000 SP4 をインストールした場合は、最終リリース版の MSXML 3.0 SP7 を Microsoft Web サイトからダウンロードしてインストールすることをお勧めします。

[先頭に戻る]

1.6 MSDE 2000 の現在のバージョンの確認

Setup を実行する前に、アップグレードする MSDE 2000 インスタンスのバージョンを確認します。MSDE 2000 のバージョンが既に SP4 より後のものである場合は、SP4 をインストールする必要はありません。

インストールされている MSDE 2000 のバージョンを確認するには、次の操作を行います。

  1. isql、osql、またはクエリ アナライザを使用して、データベース エンジンのインスタンスに対して以下のクエリのいずれかを実行します。
  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 をインストールした後で修正プログラムを適用した場合は、製品のバージョンがこれらの値とは異なることがあります。たとえば、@@VERSION は、MSDE 2000 Release A にセキュリティ関連修正プログラム MS03-031 を適用した後では、値 8.00.818 を返します。

  3. (省略可能) SQL Server 2000 データベース エンジンのエディションと MSDE 2000 のどちらをインストールしたかが不確かな場合は、isql、osql、またはクエリ アナライザを使用して、問題のインスタンスに対して以下のクエリを実行します。

    SELECT SERVERPROPERTY('Edition')

    "Desktop Engine" という値が返されたら、そのインスタンスは MSDE 2000 です。

[先頭に戻る]

1.7 SP4 に関する重要な追加情報

この Service Pack で解決された問題点の一覧は、マイクロソフト サポート技術情報の文書 888799 にあります。888799 の一覧にある問題はそれぞれ、特定の修正プログラムで解決された問題について説明されているサポート技術情報の文書にリンクされています。それぞれの問題点についての情報を参照するには、サポート技術情報の各文書へのリンクをたどってください。

この Readme ファイルを記述している時点で利用できなかった SQL Server 2000 Service Pack 4 関連のすべての情報は、マイクロソフト サポート技術情報の文書 884525 で公開する予定です。

この Readme で言及されているサポート技術情報の文書は、マイクロソフト サポート技術情報で検索できます。

サポート技術情報の文書を検索するには、次の操作を行います。

  1. [高度な検索] の [キーワード] ボックスに、目的の文書の番号を入力します。

  2. [検索の種類] ボックスの一覧の [文書番号] をクリックします。

  3. [検索の実行] 右矢印ボタンをクリックします。
修正プログラム

これまでに公開されたすべての SQL Server 2000 SP3a および SQL Server 2000 (64-bit) のセキュリティ更新が SP4 に含まれています。

2004 年 12 月 2 日以降に SQL Server 2000 の修正プログラムを受け取っている場合は、その修正プログラムは SP4 に含まれていません。SQL Server 2000 SP4 に対して同じ修正プログラムを入手する方法については、ご購入元に相談してください。

SQL Server 2000 SP4 ではサービス性が拡張されており、修正プログラムを将来アンインストールすることができます。詳細については、「5.7 サービス性の機能強化」を参照してください。

Slammer ワーム関連の修正プログラム

SQL Server 2000 SP4 は、Slammer ワームによって発生した問題に対処する MSDE 2000 に以下の変更を組み込んだものです。

SQL Server CE と SQL Mobile の サーバー ツールの更新

SQL Server 2000 データベース サーバーおよびパブリッシャ サーバーを SP4 にアップグレードした、またはアップグレードする予定の Microsoft SQL Server 2000 Windows® CE Edition (SQL Server CE) ユーザーと SQL Server 2005 Mobile Edition (SQL Mobile) ユーザーは、Microsoft インターネット インフォメーション サービス (IIS) サーバーのサーバー レプリケーション コンポーネントも更新する必要があります。更新されたサーバー ツール インストーラには、SQL Server CE 用と SQL Mobile 用があります。

注意   SQL Server 2000 SP3 または SP3a へアップグレードした後でサーバー レプリケーション コンポーネントを更新した場合でも、最新の SP4 固有の更新をサーバー ツール コンポーネントにインストールする必要があります。

OPENXML の更新

SQL Server 2000 SP4 は、オペレーティング システムによってインストールされる MSXML のバージョンに対する OPENXML の従属関係を削除します。MSDE 2000 SP4 は、MSXML 2.6 との下位互換性を備えた内部バージョンの MSXML テクノロジをインストールします。

[先頭に戻る]

1.8 SQL Server 2000 Books Online の利用可能な更新

SQL Server 2000 Books Online は、MSDE 2000 用の主要なユーザー ドキュメントです。Books Online は、修正と新しい情報によって定期的に更新されます。2004 年 1 月には、MSDE 2000 に関する追加情報を含むように更新されました。以下の理由により、最新バージョンの Books Online をダウンロードしてインストールすることを強くお勧めします。

現在のバージョンの Books Online は、次の場所にあります。

[先頭に戻る]

利用できる更新された SQL Server 2000 サンプル

SQL Server 2000 SP3 と SP3a で更新された SQL Server 2000 データベース エンジンのサンプルは、Microsoft Web サイトから入手できます。MSDE 2000 に含まれている SQL Server 2000 コンポーネントを呼び出すサンプルは、MSDE 2000 でサポートされない機能以外はすべて MSDE 2000 にも適用されます。これらの機能には、データベース エンジン、データベース クライアント接続コンポーネントとプログラミング API、レプリケーション、およびデータ変換サービス (DTS) があります。

[先頭に戻る]

2.0 SQL Server 2000 SP4 の検索およびダウンロードの場所

SQL Server 2000 SP4 のダウンロードと展開の準備を行う前に、後に説明されている「2.4 展開フェーズ ガイドラインのダウンロード」をお読みください。SQL Server 2000 SP4 は以下の方法で配布されています。

ダウンロード サイトまたは SP4 CD-ROM のいずれかから 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 だけです。データベース コンポーネント SP4 または Analysis Services SP4 によってアップグレードされる SQL Server 2000 コンポーネントは、これらの言語では利用できません。

MSDE 2000 のインスタンスの言語がわからない場合は、次の操作を行います。

[先頭に戻る]

2.2 MSDE 2000 SP4 のダウンロード

MSDE 2000 のインスタンスが MSDE Setup ユーティリティを使用してインストールされた場合は、SQL Server 2000 SP4 ダウンロード ファイルを使用して MSDE 2000 のインスタンスをアップグレードできます。セットアップ ユーティリティのオリジナルのパッケージ名は、SqlRun01.msi から SqlRun16.msi まででした。

MSDE 2000 SP4 をダウンロードするには、次の操作を行います。

[先頭に戻る]

2.3 MSDE 2000 SP4 ファイルの展開

MSDE 2000 SP4 をインストールするには、まず SQL2000.MSDE-KB884525-SP4-x86-LLL.exe からインストール ファイルを展開する必要があります。SQL2000.MSDE-KB884525-SP4-x86-LLL.exe は、SP4 の CD-ROM から直接実行できます。また、ファイルをダウンロードしたフォルダまたは CD-ROM からコピーしたフォルダからも実行できます。

MSDE 2000 SP4 ファイルを展開するには、次の操作を行います。

[先頭に戻る]

2.4 展開フェーズ ガイドラインのダウンロード

インターネットから MSDE 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 Setup の実行

  3. サービスおよびアプリケーションの再起動

MSDE 2000 SP4 には、SQL Server 2000 Desktop Engine のインスタンスのインストールまたはアップグレードに必要なファイルの完全なセットが含まれています。MSDE 2000 のインスタンスのインストールまたはアップグレードを行うライセンスを所持していれば、MSDE 2000 SP4 のファイルを使用して MSDE 2000 のすべてのセットアップ操作を実行できます。MSDE 2000 ライセンスの詳細については、Microsoft Web サイトを参照してください。

Setup の実行に関する追加情報が必要な場合、ドキュメントの主な情報源は SQL Server 2000 Books Online です。SQL Server 2000 Books Online の最新バージョンのインストールや、MSDN ライブラリにあるオンライン版 Books Online へのアクセスの詳細については、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。

MSDN ライブラリの Books Online コピーに含まれている Setup 実行可能ファイルのトピックに、「Customizing Desktop Engine Setup.exe」があります。

最新バージョンの SQL Server 2000 Books Online の「Desktop Engine の Setup.exe のカスタマイズ」では、Desktop Engine SP3a および MSDE 2000 Release A に含まれているバージョンの Setup 実行可能ファイルの機能について説明しています。また、SP4 で導入された SAVESYSDB パラメータを除く、Desktop Engine Setup の SP4 バージョンに関する最新情報も記載しています。詳細については、「5.6.1 MSDE 2000 Setup の新しい SAVESYSDB パラメータ」を参照してください。

注意   SQL Server 2000 SP3 より前のバージョンの MSDE Setup では、ユーザーは MSDE 2000 のインスタンスのインストールまたはアップグレードに使用した .msi インストール パッケージ ファイルを指定する必要がありました。SP3 以降のバージョンの Setup では、Setup が .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 Books Online の「データベースの拡張」を参照してください。

master データベースと msdb データベースで自動拡張オプションが選択されていて、ドライブに十分な空き領域がある場合は、前の領域確認手順を省略できます。

MSDE 2000 で自動拡張オプションがオンになっていることを確認するには、osql コマンド プロンプト ユーティリティを使用して、以下の SQL ステートメントを実行します。

このステートメントの出力の、[growth] 列の値が 0 以外になっていることを確認します。

[先頭に戻る]

3.1.3 MSDE 2000 SP4 Setup を実行する前のサービスおよびアプリケーションの停止

MSDE 2000 SP4 をインストールする前に、すべてのアプリケーションおよびサービスを停止する必要があります。これには、コントロール パネル、プログラムの追加と削除、SQL Server 2000 Reporting Services、SQL Server 2000 Notification Services、およびアップグレードされる MSDE のインスタンスに接続するその他すべてのアプリケーションが含まれます。

最初にサービスをシャットダウンしなくても MSDE 2000 SP4 を適用できますが、その場合はシステムを再起動しないと再開しないサービスがいくつかあります。サービスをシャットダウンしない場合は、Setup の完了時にコンピュータの再起動を求められます。システムを再起動しないと、以下のサービスは開始できないことがあります。

MSDE 2000 SP4 をインストールした後で、コンピュータの再起動が必要となる可能性を減らすことができます。この可能性を減らすには、Setup を実行する前に、前の一覧のサービスおよびアプリケーションを停止します。

[先頭に戻る]

3.2 MSDE 2000 SP4 Setup の実行

ここでは、MSDE 2000 SP4 Setup ユーティリティを実行するための一般的なガイドラインについて説明します。次に、MSDE 2000 SP4 の最も一般的なシナリオの例を紹介します。

MSDE 2000 SP4 をインストールするには、以下のいずれかの場所から Setup.exe を実行します。

これによって Setup インストール プロセスが開始されます。

MSDE 2000 SP4 に含まれている Setup 実行可能ファイルは、MSDE 2000 用の Desktop Engine Setup プログラムの SP4 バージョンです。SAVESYSDB パラメータを除き、MSDE 2000 SP4 Setup の操作については最新バージョンの SQL Server 2000 Books Online に記載されています。最新バージョンの SQL Server 2000 Books Online のインストールについては、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。Setup.exe の動作について説明している英語版リファレンスは、「Customizing Desktop Engine Setup.exe」です。

[先頭に戻る]

3.2.1 Setup を実行するための一般的なガイドライン

MSDE 2000 SP4 はアプリケーションと共に配布され、アプリケーションのセットアップ プログラムでインストールされるように設計されています。MSDE 2000 には、対話型のセットアップ プログラムはありません。MSDE 2000 のセットアップ メカニズムは、アプリケーションのセットアップ ユーティリティから呼び出されるように設計されています。このアプリケーション セットアップは、エンド ユーザーとの間で必要になる対話をすべて処理します。MSDE 2000 には、次の 2 つのインストール メカニズムがあります。

[先頭に戻る]

セットアップ パラメータ

MSDE の任意のインスタンスをインストールまたはアップグレードするには、コマンド プロンプトから Setup.exe を実行する必要があります。ユーザーは、パラメータを指定することによって、MSDE 2000 Setup プログラムの動作を制御します。次の 2 つの方法のいずれかで、セットアップ パラメータを指定できます。

指定する MSDE Setup パラメータの値にブランクなどの特殊文字が含まれる場合は、その値を引用符で囲む必要があります。それ以外の場合は、引用符を省略できます。

「3.2.2 MSDE 2000 の既存のインスタンスの MSDE 2000 SP4 へのアップグレード」、「3.2.3 MSDE 2000 SP4 の新規インスタンスのインストール」、および「3.2.4 MSDE 1.0 から MSDE 2000 SP4 へのアップグレード」には、MSDE 2000 SP4 をインストールするときの最も一般的なシナリオで使用するパラメータの例が記載されています。Setup で指定可能なパラメータは、最新バージョンの SQL Server 2000 Books Online に記載されています。最新バージョンの SQL Server 2000 Books Online のインストールについては、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。Setup.exe の動作について説明している英語版リファレンスは、「Customizing Desktop Engine Setup.exe」です。

注意   MSDE の既存のインスタンスを MSDE 2000 SP4 にアップグレードするか、または MSDE 2000 SP4 の新規インスタンスをインストールしようとしてターミナル サービス接続を使用すると、問題が発生する可能性があります。問題が発生した場合は、ローカル コンピュータから Setup を再開してください。

[先頭に戻る]

.ini ファイルの使用

MSDE 2000 Setup.exe のパラメータは、格納場所が /settings スイッチで指定される .ini ファイルで指定できます。.ini ファイルは、たとえばメモ帳を使用して作成され、.ini という拡張子の付いたファイル名で保存されたテキスト ファイルです。.ini ファイルの先頭の行は [Options] です。次に、各パラメータを 1 行に 1 つずつ指定します。

セキュリティ上の注意  セットアップ時に .ini ファイルを使用する場合は、.ini ファイルにセキュリティ資格情報を格納しないでください。

次の例では、コマンド プロンプトでパラメータを指定します。

setup SAPWD="強力なパスワード" INSTANCENAME="インスタンス名"
TARGETDIR="C:\MyInstanceFolder"

.ini ファイルに同じパラメータを使用して Setup を実行するには、メモ帳を使用して次の内容の MyParameters.ini というファイルを作成します。

[Options]
INSTANCENAME="インスタンス名"
TARGETDIR="C:\MyInstanceFolder"

次に、この .ini ファイルを指す /settings スイッチを使用して Setup を実行します。

setup /settings "MyParameters.ini" SAPWD="強力なパスワード"

[先頭に戻る]

セットアップ ログの要求

特定のインストールが成功したかどうかの確認や、問題が発生した場合のトラブルシューティングには、詳細ログを使用します。

詳細ログを生成するには、/L*v <ログ ファイル名> を指定します。この <ログ ファイル名> は、Setup のすべての操作が記録されるログ ファイルの名前です。名前の一部としてパスを指定しない場合、ログ ファイルはカレント フォルダに作成されます。CD-ROM から Setup を実行している場合は、ハード ディスク上のフォルダへのフルパスを指定する必要があります。

次の例では、ログ ファイル MSDELog.log を C: ドライブのルート フォルダに作成します。

setup SAPWD="強力な sa パスワード" /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 Setup ユーティリティを含むフォルダに移動します。
    cd c:\MSDESP4Folder\MSDE

    ここで c:\MSDESP4Folder は、MSDE 2000 SP4 ファイルを展開したフォルダへのパスか、SQL Server 2000 SP4 CD-ROM の MSDE 2000 SP4 フォルダです。

  3. 以下のコマンドのいずれかを実行します。

    見やすさを重視して、これらの例には改行を付けてあります。コマンドを実行するときは、改行を削除する必要があります。

    注意   アップグレードする 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 などのセットアップ パラメータで設定を制御できます。Setup で指定可能な設定パラメータの詳細については、「Customizing Desktop Engine Setup.exe」を参照してください。

Desktop Engine の新規インスタンスをインストールするには、次の操作を行います。

  1. コマンド プロンプト ウィンドウを開きます。

  2. コマンド プロンプトから、次のように cd コマンドを使用して、MSDE 2000 SP4 Setup ユーティリティを含むフォルダに移動します。
    cd c:\MSDESP4Folder\MSDE

    ここで c:\MSDESP4Folder は、MSDE 2000 SP4 ファイルを展開したフォルダへのパスか、SQL Server 2000 SP4 CD-ROM の MSDE 2000 SP4 フォルダです。

  3. 以下のコマンドのいずれかを実行します。

重要  セットアップ時に .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 Setup ユーティリティを含むフォルダに移動します。
    cd c:\MSDESP4Folder\MSDE

    ここで c:\MSDESP4Folder は、MSDE 2000 SP4 ファイルを展開したフォルダへのパスか、SQL Server 2000 SP4 CD-ROM の MSDE 2000 SP4 フォルダです。

  3. 以下のコマンドのいずれかを実行します。

重要  セットアップ時に .ini ファイルを使用する場合は、.ini ファイルにセキュリティ資格情報を格納しないでください。

セキュリティ上の注意  ブランク パスワードを使用するとセキュリティ違反に対してきわめて脆弱になるため、使用しないことを強くお勧めします。

注意   BLANKSAPWD=1 を使用している場合は、SECURITYMODE=SQL または UPGRADEUSERUPGRADEPWD を指定する必要はありません。

[先頭に戻る]

3.3 サービスおよびアプリケーションの再起動

Setup が完了すると、システムの再起動を要求されることがあります。「3.1.3 MSDE 2000 SP4 Setup を実行する前のサービスおよびアプリケーションの停止」に、再起動が必要な場合のガイドラインが記載されています。システムの再起動後 (または、再起動が要求されないで Setup が完了した後)、コントロール パネルの [サービス] アプリケーションを使用して、Service Pack の適用を行う前に停止させたすべてのサービスが実行されていることを確認します。Service Pack を適用する前に停止した可能性があるサービスには、DTC、MSSQLServer、SQLServerAgent サービス、またはインスタンス固有のサービスがあります。

Service Pack の Setup プログラムを実行する前に終了したアプリケーションを再開します。

念のため、この時点でアップグレードした master データベースと msdb データベースをバックアップします。

[先頭に戻る]

3.4 レプリケートされているサーバーへの MSDE 2000 SP4 のインストール

以下は、マージ レプリケーション トポロジの一部である MSDE 2000 の既存のインスタンスだけに適用されます。

[先頭に戻る]

パブリッシャおよびサブスクライバとして動作するサーバーへの MSDE 2000 SP4 のインストール

以下の場合には、システムを停止し (つまり、すべての更新を中止し)、すべてのサーバーを同時にアップグレードする必要があります。

例 1: 同時アップグレードを必要とするトポロジ

以下の表は、サブスクライバで更新できるパブリケーションのパブリッシュとサブスクライブを両方行うサーバーを示しています。前のセクションで説明したように、サブスクライバでの更新を許可するトポロジでは、ディストリビュータ、パブリッシャ、サブスクライバの順にアップグレードする必要があります。この順序により、マージ パブリケーションではサーバー A を最初にアップグレードする必要があり、更新サブスクライバを使用するトランザクション パブリケーションではサーバー B を最初にアップグレードする必要があります。このような場合には、システムを停止し、サーバーを同時にアップグレードする必要があります。

サーバー A サーバー B
マージ レプリケーションのパブリッシャ/ディストリビュータ マージ レプリケーションのサブスクライバ
更新を伴うトランザクション レプリケーションのサブスクライバ 更新を伴うトランザクション レプリケーションのパブリッシャ/ディストリビュータ

例 2: 順番にアップグレードできるトポロジ

読み取り専用のトランザクション パブリケーションでは、パブリッシャ/ディストリビュータをアップグレードする前にサブスクライバをアップグレードできるので、この例ではサーバー A を最初にアップグレードできます。

サーバー A サーバー B
マージ レプリケーションのパブリッシャ/ディストリビュータ マージ レプリケーションのサブスクライバ
読み取り専用トランザクション レプリケーションのサブスクライバ 読み取り専用トランザクション レプリケーションのパブリッシャ/ディストリビュータ

[先頭に戻る]

3.5 レプリケーション トポロジ内にある読み取り専用のデータベースまたはファイル グループへの MSDE 2000 SP4 の適用

以下は、マージ レプリケーション トポロジの一部である MSDE 2000 のインスタンスだけに適用されます。

書き込み可能ではないデータベースまたはファイル グループが存在するとき、Setup プログラムは以下のメッセージを表示します。

書き込み可能ではない 1 つ以上のデータベースとファイル グループを検出しました。

一般的には、この警告を無視し、セットアップを続行します。ただし、Setup ログに一覧された書き込み可能ではないデータベースのいずれかがレプリケーション トポロジのメンバである場合は、これらのデータベースを書き込み可能にし、SQL Server 2000 のインスタンスに SP4 Setup を再適用する必要があります。

Setup は、インストール中に書き込み可能ではないデータベースと、オフラインまたは問題のあるデータベースを区別しません。レプリケーション トポロジ内のデータベースまたはファイル グループがセットアップ中に書き込み可能ではない場合は、Service Pack を再適用してこのデータベースをアップグレードする必要があります。データベースをオンラインにする方法の詳細については、SQL Server 2000 Books Online の「データベースをアタッチまたはデタッチする方法」を参照してください。また、問題のあるデータベースの診断の詳細については、SQL Server 2000 Books Online の「サーバーおよびデータベースに関するトラブルシューティング」を参照してください。

読み取り専用のデータベースに 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 Books Online の「ALTER DATABASE」を参照してください。SP4 の再適用の詳細については、「3.8 MSDE 2000 SP4 の再適用」を参照してください。

[先頭に戻る]

3.6 リンク サーバーのカタログのアップグレード

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 <サーバー名>
are version <古いバージョン番号>; version <新しいバージョン番号> 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 スクリプトを実行する必要があります。

Windows 認証オプションが選択されている MSDE 2000 のインスタンス上のカタログ ストアド プロシージャをアップグレードするには、次の操作を行います。

  1. SQL Server の sysadmin 固定サーバー ロールのメンバであるログインを使用して Windows にログオンします。

  2. コマンド プロンプト ウィンドウを開きます。

  3. osql ユーティリティを実行します。

混合モード認証オプションが選択されている MSDE 2000 インスタンス上のカタログ ストアド プロシージャをアップグレードするには、次の操作を行います。

  1. 任意のログオンを使用して Windows にログオンします。

  2. コマンド プロンプト ウィンドウを開きます。

  3. osql ユーティリティを実行します。

ここで、

Instcat.sql スクリプトは多くのメッセージを生成します。一般に、これらのメッセージはエラーを示すものではありません。スクリプト内の各 Transact-SQL ステートメントによって影響を受けた行数が通知されるだけです。最後のメッセージは、スクリプトが正しく実行されたかどうかを示します。

[先頭に戻る]

3.7 MSDE 2000 SP4 のアンインストール

MSDE 2000 を SP4 以前のバージョンに戻せるようにするには、SP4 をインストールする前に master、msdb、および model データベースをバックアップしておく必要があります。詳細については、「3.1.1 SQL Server データベースのバックアップ」を参照してください。

MSDE 2000 を SP4 以前のバージョンに戻すには、次の操作を行います。

  1. すべてのユーザー データベースをデタッチします。詳細については、SQL Server 2000 Books Online の「データベースをアタッチまたはデタッチする方法 (Enterprise Manager)」を参照してください。

  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. 必要に応じて、レプリケーションを設定します。

    警告  SQL Server 2000 を SP4 以前のバージョンに戻すと、SP4 の適用後に master、msdb、および model データベースに対して行われたすべての変更が失われます。

    注意   MSDE 2000 を SP4 以前のバージョンに戻しても、MDAC の更新はアンインストールされません。詳細については、「1.5 Microsoft Data Access Components のバージョンの確認」を参照してください。

[先頭に戻る]

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 の再配布に必要なすべてのファイルが含まれています。MSDE 2000 SP4 ファイルは、最新バージョンの SQL Server 2000 Books Online の説明に従って配布します。また、Microsoft Web サイトで、MSDE 2000 を再配布する権利を登録できます。

最新バージョンの SQL Server 2000 Books Online のインストールに関する詳細については、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。

[先頭に戻る]

MSDE 2000 SP4 修正プログラムの配布

アプリケーションに Windows インストーラ ベースのセットアップ ユーティリティが含まれている場合、そのアプリケーションは MSDN 2000 マージ モジュールを使用して MSDE 2000 のインスタンスをインストールできます。MSDE 2000 SP4 はマージ モジュールを提供して、マージ モジュールを使用する既存のアプリケーションをサポートしています。新しいアプリケーションのセットアップ ユーティリティは、MSDE 2000 マージ モジュールを直接使用するのではなく、MSDE 2000 Setup ユーティリティを呼び出すように作成する必要があります。

MSDE 2000 マージ モジュールを使用して MSDE 2000 のインスタンスをインストールすることを選択したベンダは、ユーザーに MSDE 2000 のその後のすべての修正プログラムを提供する必要があります。アプリケーションがマージ モジュールを直接使用してインストールした MSDE 2000 のインスタンスは、Windows インストーラがそのアプリケーションに関連付けた製品コード GUID でマークされます。そのアプリケーション製品コード GUID を含む修正プログラム ファイルだけが、MSDE 2000 の対応するインスタンスに修正プログラムを適用できます。そのアプリケーション ベンダが作成した修正プログラム ファイルだけが、適切な製品コードを保持することになります。Microsoft が提供する MSDE 2000 Service Pack をこのようなインスタンスに適用することはできません。アプリケーション ベンダは、MSDE 2000 SP4 ファイルから修正プログラム ファイルを構築し、その修正プログラム ファイルを、SP4 の修正項目を必要とするすべての MSDE ユーザーに配布する必要があります。

修正プログラム ファイル パッケージを作成する方法の詳細については、Microsoft Platform SDK Web サイトからダウンロードできる Windows Installer Software Development Kit (SDK) を参照してください。

アプリケーションのセットアップ ユーティリティが MSDE 2000 Setup を呼び出して MSDE 2000 のインスタンスをインストールしている場合、MSDE 2000 のそのインスタンスは MSDE 2000 製品コード GUID でマークされます。ユーザーは、このようなインスタンスに対しては標準の MSDE 2000 Service Pack ファイルを使用して修正プログラムを適用できます。アプリケーション ベンダは、MSDE 2000 SP4 の配布に、以下の方法のいずれかを選択できます。

[先頭に戻る]

4.2 MSDE 2000 SP4 のファイルの場所

すべての MSDE SP4 インストール ファイルおよびフォルダは、以下のいずれかの場所にある \MSDE フォルダに格納されています。

\MSDE フォルダには、Readmesql2k32desksp4.htm ファイル、readme.txt ファイル、license.txt ファイル、および Setup ユーティリティの実行可能ファイルが含まれています。このフォルダには、以下のサブフォルダも含まれます。

MSDE マージ モジュールの使用方法の詳細については、SQL Server 2000 Books Online の「SQL Server Desktop Engine マージ モジュールの使用」を参照してください。

注意   マージ モジュールは、新規インストールではサポートされません。SP4 では、マージ モジュールは以前にマージ モジュールを使用してインストールされた MSDE 2000 のインスタンスにサービスを提供するために用意されています。

アプリケーション セットアップが MSDE 2000 Setup を呼び出している場合は、以下の構造と一連のファイルを含むフォルダを作成します。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 フォルダからすべてのファイルをコピーします。

その後、MSDE 2000 SP4 のインスタンスをインストールまたはアップグレードするために Setup.exe を実行できます。

注意   コンピュータに Windows インストーラがインストールされていない場合、または MSDE 2000 SP4 Setup でサポートされているバージョンよりも前のバージョンがインストールされている場合、Setup は MSDEInstallFolder\Msi フォルダ内のファイルを使用して Windows インストーラをアップグレードします。

[先頭に戻る]

5.0 特記事項

ここでは、MSDE 2000 SP4 の適用後に発生する可能性のある問題と、SP4 を実行すると利用できる新機能について説明します。これらの問題点に当てはまるのは、以前のバージョンの MSDE 2000 (MSDE 2000 Release A を含む) からアップグレードするために Service Pack を実行する場合です。ここでは、SP4 で解決されたすべての問題について説明するわけではありません。SP4 で解決された問題点の完全な一覧については、マイクロソフト サポート技術情報の文書 888799 を参照してください。

この Readme ファイルを記述している時点で利用できなかった SQL Server 2000 Service Pack 4 関連のすべての情報は、マイクロソフト サポート技術情報の文書 884525 で公開する予定です。

[先頭に戻る]

5.1 MSDE 2000 の機能強化

以下の機能強化は、データベース コンポーネント SP4 がインストールされた MSDE 2000 インスタンスに適用されます。また、MSDE 2000 SP4 がインストールされた MSDE 2000 Release A のインスタンスにも適用されます。

[先頭に戻る]

5.1.1 ハッシュ チームの削除

(SP1 からの機能)

ハッシュ チームが削除されました。MSDE 2000 に対する一定の機能強化により、ハッシュ チームには MSDE 1.0 で実現されたようなパフォーマンス上の利点はなくなりました。さらに、ハッシュ チームを削除することによって MSDE 2000 の安定性が向上します。

そのため、クエリ オプティマイザはハッシュ チームを使用したクエリ プランを生成しなくなりました。

めったにないケースですが、ハッシュ チームを削除したことにより、クエリの処理速度が低下する場合があります。より適したインデックスを作成することでクエリのパフォーマンスを以前のレベルに戻せるかどうかを確認するために、このようなクエリを分析します。

[先頭に戻る]

5.1.2 Affinity Mask スイッチの追加

(SP1 からの機能)

この Service Pack では 2 つの Affinity Mask スイッチが追加されました。

Affinity Mask I/O スイッチ

この Service Pack では、ディスク入出力操作のスレッドを実行するために、どの CPU を使用するかを指定できるようになりました。このスイッチは、affinity mask オプションと併せて使用する必要があります。詳細については、サポート技術情報の文書 298402 を参照してください。

Affinity Mask Connection スイッチ

この Service Pack では、特定のネットワーク カードから 1 つのプロセッサまたはプロセッサのセットにMSDE 2000 接続をバインドするために VIA (Virtual Interface Architecture) を有効にするように、システムを設定できます。このスイッチは、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' ]

@Action=Auto_Fix を指定するときのみ @Password 引数を使用します。以下の例は、Auto_Fix を使用するときの sp_change_users_login コマンドの新しい構文を示しています。SQL Server Books Online のその他の例は、変更されていません。

USE pubs
go
EXEC sp_change_users_login 'Auto_Fix', 'Mary', NULL, 'B3r12-36'
go

[先頭に戻る]

5.1.4 既定で無効になっている OLE DB プロバイダへのアドホック アクセス

(SP3 からの機能)

DisallowAdhocAccess レジストリ オプションを明示的に設定していない場合、既定では OLD DB プロバイダへのアドホック アクセスは許可されません。これは、OPENDATASOURCE や OPENROWSET などのアドホック クエリ構文がリモート サーバーに対して機能しないことを意味します。アドホック アクセスを許可するためには、DisallowAdhocAccess オプションを明示的に 0 に設定する必要があります。

[先頭に戻る]

5.1.5 新しい SqlServerLike プロバイダ オプション

(SP3 からの機能)

LIKE 述語を含むリモート クエリのより効率的な処理を可能にするために、SP3 で SqlServerLike オプションが追加されました。MSDE 2000 SP3 以降は、リンク サーバーに LIKE 演算を送信するためのオプションが 2 つ用意されています。リンク サーバーの 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 Books Online の「SQLPROPSET_OPTHINTS プロパティ セットのプログラミング」を参照してください。

OLE DB プロバイダの SqlServerLike オプションを有効にするには、レジストリ キー値を追加する必要があります。

セキュリティ上の注意  レジストリの編集を誤ると、オペレーティング システムの再インストールが必要になる深刻な問題が発生する恐れがあります。Microsoft は、レジストリを誤って編集したことにより発生した問題に関しては、一切責任を負わないものとします。レジストリを編集する前に、重要なデータをすべてバックアップしてください。

  1. Regedit32 を開きます。

  2. 以下の適切なレジストリ キーを検索します。
  3. <プロバイダ名> キーに SqlServerLIKE という名前の DWORD 値を追加し、その値を 1 に設定します。

[先頭に戻る]

5.1.6 分散クエリの拡張エラー メッセージ

(SP3 からの機能)

分散クエリでは、MSDE 2000 はサーバー エラー情報以外にプロバイダ エラー情報も返します。リンク サーバー間のクエリがエラーになると、MSDE 2000 はプロバイダが IErrorRecords OLE DB インターフェイスをサポートしているかどうかを確認します。このインターフェイスをサポートする場合、MSDE 2000 は GetErrorInfo 関数を呼び出してプロバイダから詳細エラー情報を取得し、この情報をエラー メッセージの一部として返します。IErrorRecords インターフェイスをサポートしていない場合は、MSDE 2000 の動作は以前と同じです。MSDE 2000 は汎用のエラーを返します。

たとえば、MSDASQL を使用するサーバーに対して以下のクエリを実行します。MSDASQL は sql_variant をサポートしません。

SELECT * FROM remote2k.dqtable.dbo.sqlvariantnotnull 
--Remote2k はループバック サーバーです。

SP3 以前は、MSDE 2000 は以下のエラー メッセージを返しました。

サーバー:メッセージ 7356、レベル 16、状態 1、行 1

OLE DB プロバイダ 'msdasql' は列に対して一貫性のないメタ データを提供しました。
実行時にメタ データ情報が変更されました。

SP3 以降を適用した後は、MSDE 2000 は以下のエラー メッセージを返します。

サーバー:メッセージ 7356、レベル 16、状態 1、行 1

OLE DB プロバイダ 'msdasql' は列に対して一貫性のないメタ データを提供しました。
実行時にメタ データ情報が変更されました。

OLE DB エラー トレース [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 SQL ステートメントを返す新しい関数 fn_get_sql

(SP3 からの機能)

SP3 以降には、指定した SQL ハンドルに SQL ステートメントのテキストを返す新しい関数 fn_get_sql が含まれています。さらに、この関数をサポートするために、sysprocesses システム テーブルに新しく 3 つの列を追加しました。sql_handle、stmt_start、および stmt_end です。

fn_get_sql については、SQL Server 2000 Books Online の最新コピーに説明があります。最新バージョンの SQL Server 2000 Books Online のインストールについては、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。英語版のリファレンスは、「fn_get_sql」です。

[先頭に戻る]

5.1.8 複数データベースの組み合わせ所有権

(SP3 からの機能)

この Service Pack では、複数データベースの組み合わせ所有権をオンまたはオフにする新しいオプションを提供しています。

MSDE 2000 SP4 をインストールしているときは、すべてのデータベースに対して複数データベースの組み合わせ所有権を有効にするために、ALLOWXDBCHAINING セットアップ パラメータを使用できます。ALLOWXDBCHAINING については、最新バージョンの SQL Server 2000 Books Online の「Desktop Engine の Setup.exe のカスタマイズ」で説明されています。最新バージョンの SQL Server 2000 Books Online のインストールについては、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。

注意   すべてのデータベースに対して複数データベースの組み合わせ所有権を有効にすることはお勧めしません。

インストール後に、以下の手法を使用して、インスタンスのすべてのデータベースに対して複数データベースの組み合わせ所有権をオンまたはオフにできます。

そのインスタンスで複数データベースの組み合わせ所有権がオフになっている場合は、個別のデータベースに対してこのオプションを設定できます。以下の手法を使用して、あるデータベースに対して複数データベースの組み合わせ所有権をオンおよびオフにします。

詳細については、セットアップ実行時に [旧バージョンとの互換性チェックリスト] ページで [ヘルプ] をクリックするか、SQL Server 2000 Books Online の更新されたエディションをダウンロードするか、サポート技術情報の文書 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 にブレークポイントを指定して停止する) アプリケーションのデバッグも既定でオフになります。デバッグ機能を有効にするには、パラメータ legacy_on を渡して、sp_sdidebug を実行します。デバッグ機能を無効にするには、このプロシージャに legacy_off を渡します。

注意   運用サーバーで sp_sdidebug ストアド プロシージャを実行することはお勧めしません。

詳細については、サポート技術情報の文書 328151 を参照してください。

[先頭に戻る]

5.1.12 クラスタ化されたサーバー上で名前付きパイプを無効にできない

(SP3 からの機能)

Service Pack の適用後、フェールオーバー クラスタに参加しているデータベース エンジンのインスタンス上では、名前付きパイプ プロトコルを無効にできなくなります。

[先頭に戻る]

5.1.13 UDP ポート 1434 での操作

(SP3a からの機能)

MSDE 2000 SP3a からは、ネットワーク通信をサポートするように設定されていない MSDE 2000 のインスタンスは、UDP (User Datagram Protocol) ポート 1434 の使用を停止します。ネットワーク通信をサポートするように設定されているインスタンスは、UDP 1434 を使用します。

SP3a 以降にアップグレードされたインスタンスは、そのインスタンスの共有メモリ Net-Library を除くすべてのサーバー Net-Library が無効になると、必ず UDP 1434 の使用を停止します。任意のサーバー Net-Library を有効にすると、そのインスタンスはポート 1434 の使用を開始します。サーバー Net-Library の有効化または無効化に関する詳細については、SQL Server 2000 Books Online の「SQL Server ネットワーク ユーティリティ」を参照してください。

コンピュータによる UDP ポート 1434 の使用は、そのコンピュータ上の SQL Server 2000 および MSDE 2000 のすべてのインスタンスが SP3a 以降にアップグレードされ、ネットワーク通信をサポートしないように設定されるまで停止されません。

UDP ポート 1434 が開かれるか閉じられるかは、共有メモリ Net-Library の状態には依存しません。共有メモリ Net-Library はローカル接続にのみ使用され、ネットワークを使用しません。共有メモリ Net-Library は常にアクティブで、有効または無効にできません。

また、MSDE 2000 のインスタンスをインストールまたはアップグレードするときに、サーバー Net-Library を無効にするかどうかも指定できます。MSDE 2000 Setup ユーティリティの DISABLENETWORKPROTOCOLS パラメータ、または MSDE 2000 マージ モジュールの SqlDisableNetworkProtocols プロパティのいずれかを使用します。これらのオプションの詳細については、最新バージョンの SQL Server 2000 Books Online の「Desktop Engine の Setup.exe のカスタマイズ」を参照してください。最新バージョンの SQL Server 2000 Books Online のインストールについては、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。

[先頭に戻る]

5.1.14 最大ネットワーク パケット サイズの変更

(SP4 からの機能)

SP4 では、ネットワーク パケット サイズのオプションの最大値 (sp_configure を使用して設定) は 32767 です。これは、以前の最大値 65,536 の半分より少し小さな値です。アップグレード中に、32,767 より大きい既存の値は自動的に 32,767 に調整されます。スクリプトが sp_configure を使用して 32,767 より大きく、65,536 以下の値を設定しようと試みた場合も、値は 32,767 に設定されます。ネットワーク パケット サイズを 65,536 より大きい値に設定するとエラーになります。

[先頭に戻る]

5.1.15 大きな IN リストまたは多数の OR 句を使用したクエリの最適化

(SP4 からの機能)

SP4 には、大きな IN リストまたは多数の OR 句を使用した述語を含むクエリに影響を与える、SQL Server オプティマイザの動作の変更が含まれています。具体的には、この変更 (SQL Server 2000 修正プログラム 789 で導入) は、以下のものを含むクエリ (または、以下のものを含む同等の式を使用した書き換えが可能なクエリ) に影響します。

非常に大容量のメモリを備えている、並列処理の少ないシステムでこのようなクエリを実行すると、オプティマイザによって低パフォーマンスのクエリ プランが選択される場合があります。オプティマイザの動作の変更を優先させるため、この Service Pack ではトレース フラグ 9060 が提供されています。既定では、トレース フラグ 9060 はオフです。トレース フラグがオンの場合、修正プログラム 789 以前の SP3 の動作が有効になります。トレース フラグがオンのときに エラー 701 (システム メモリ不足) が発生する場合は、IN リスト内の値のために一時テーブルまたはテーブル変数を使用してクエリを書き換えることを検討してください。数値の範囲については、BETWEEN 句、または > (より大きい) 演算子や < (より小さい) 演算子を使用してください。トレース フラグの詳細については、SQL Server Books Online の「Trace Flags (トレース フラグ)」を参照してください。

[先頭に戻る]

5.1.16 今後のネットワーク プロトコル サポート

(SP4 からの機能)

SP4 では、Banyan VINES、Multiprotocol、AppleTalk、および NWLink IPX/SPX ネットワーク プロトコルがサポートされています。ただし、これらのプロトコルは SQL Server 2005 以降のリリースではサポートされない予定です。これに応じて計画を立ててください。

[先頭に戻る]

5.2 レプリケーションの機能強化

ここでは、MSDE 2000 SP4 に含まれる MSDE 2000 レプリケーションの機能強化について説明します。

5.2.1 トランザクション レプリケーション UPDATE カスタム ストアド プロシージャ

(SP1 からの機能)

トランザクション レプリケーションのセットアップ中に、操作の挿入、削除、および更新を行うカスタム ストアド プロシージャがサブスクリプション データベースに作成されます。1 つの UPDATE ステートメントで影響を受ける列の数とは無関係に、update カスタム ストアド プロシージャはサブスクリプション テーブルのすべての列を更新します。変更されなかったすべての列は、単純に UPDATE を実行する前と同じ値に再設定されます。一般的には、この操作が問題になることはありません。ただし、これらの中のいずれかの列がインデックスを持つ場合、この再設定には時間がかかります。

トランザクション レプリケーションを使用していて、サブスクリプション テーブルにいくつかインデックスを持ち、更新により値が変更される列が少ない場合、サブスクライバで変更が適用されているときの、インデックスのメンテナンスのオーバーヘッドがパフォーマンスの制限要因になる可能性があります。たとえば、レポート処理の目的で使用されるサブスクリプション データベースは、パブリケーション データベースよりも多くのインデックスを持つ場合があります。実行時に UPDATE ステートメントを動的に構築すると、パフォーマンスが向上する可能性があります。更新処理には変更される列だけを含めるようにして、最適な UPDATE 文字列を作成します。

この Service Pack には、新しいストアド プロシージャ sp_scriptdynamicupdproc が含まれています。このストアド プロシージャは、実行時に動的に UPDATE ステートメントを構築するためにサブスクライバで使用できるカスタム ストアド プロシージャを生成します。ただし、動的に UPDATE ステートメントを構築するための余分な処理が実行時に必要になります。

sp_scriptdynamicupdproc については、SQL Server 2000 Books Online の最新コピーに説明があります。最新バージョンの SQL Server 2000 Books Online のインストールについては、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。英語版のリファレンスは、「sp_scriptdynamicupdproc」です。

[先頭に戻る]

5.2.2 トランザクション レプリケーションのスクリプティング カスタム ストアド プロシージャ

(SP1 からの機能)

非同期サブスクリプション (つまり、初期スナップショットを受け取らないサブスクリプション) をセットアップしているときは、INSERT、UPDATE、および DELETE ステートメントに対するカスタム ストアド プロシージャを手動で作成する必要がありました。通常は、初期スナップショットが配布されるとき、サブスクライバでこれらのステートメントが作成されます。パブリケーション レベルのカスタム ストアド プロシージャ用のスクリプトを生成するために、新しいストアド プロシージャ sp_scriptpublicationcustomprocs が追加されました。この新しい機能により、非同期サブスクリプションのセットアップが容易になりました。

sp_scriptpublicationcustomprocs については、SQL Server 2000 Books Online の最新コピーに説明があります。最新バージョンの SQL Server 2000 Books Online のインストールについては、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。英語版のリファレンスは、「sp_scriptpublicationcustomprocs」です。

[先頭に戻る]

5.2.3 マージ レプリケーションの保有期間を基準にしたメタ データのクリーンアップ

(SP1 からの機能)

マージ レプリケーションのシステム テーブルにメタ データが大量に存在するときは、メタ データをクリーン アップするとパフォーマンスが向上します。SQL Server 2000 SP1 以前は、メタ データは sp_mergecleanupmetadata を実行することによってのみクリーン アップできました。しかし、SQL Server 2000 SP1 以降には、保有期間を基準にしたメタ データのクリーンアップが含まれています。その結果、以下のシステム テーブルからメタ データを自動的に削除できるようになりました。

注意   パブリケーションで @keep_partition_changes 同期最適化オプションが有効である場合は、変更前イメージ テーブルが存在します。

保有期間を基準にしたメタ データ クリーンアップは以下の場合に発生します。

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 2000 SP1 以前のバージョンの SQL Server を含むトポロジでは、自動クリーンアップされないすべてのサーバーで sp_mergemetadatacleanup を実行すると、パフォーマンスが向上することがあります。

間違った競合の回避

保有期間を基準にしたメタ データのクリーンアップによって、他のノードでの変更が、無警告で一貫性を欠いて上書きされることを防止します。ただし、以下の両方の条件を満たす場合に間違った競合が発生する可能性があります。

たとえば、メタ データがパブリッシャでクリーンアップされ、サブスクライバでクリーンアップされていないときに、パブリッシャで更新が行われると、データが同期されているにもかかわらず、競合が発生します。

この競合を回避するには、関連するノードでほぼ同時にメタ データがクリーンアップされるようにします。-MetadataRetentionCleanup を 1 に設定すると、マージが開始される前に、パブリッシャとサブスクライバの両方で自動的にクリーンアップが行われます。その結果、すべてのノードで同時にクリーンアップが行われることになります。競合が発生する場合、マージ レプリケーション競合回避モジュールを使用して、競合を調べ、必要に応じて結果を変更します。

アーティクルが複数のパブリケーションに所属している場合、または再パブリッシュする状況にある場合、指定した行の保有期間がパブリッシャとサブスクライバで異なる可能性があります。一方のメタ データがクリーンアップされ、他方のメタ データがクリーンアップされない機会を減らすには、これらの異なるパブリケーションの保有期間を同じ保有期間に設定することをお勧めします。

注意   システム テーブルにクリーンアップする必要のあるメタ データが大量に存在する場合は、マージ プロセスの実行に時間がかかります。定期的にメタ データをクリーンアップすることにより、この問題を防ぐことができます。

[先頭に戻る]

5.2.4 マージ レプリケーションのバックアップと復元の問題点

(SP1 からの機能)

バックアップから復元されるパブリケーション データベースは、動作が正しく一貫性を保つことを保証するために、まずグローバルなサブスクリプション (つまり、優先度値が割り当てられたサブスクリプション) を持つサブスクリプション データベースと同期する必要があります。同期操作は、パブリケーション データベースで復元操作により失われた変更が正確に再適用されることを保証します。

パブリケーション データベースを、匿名サブスクリプションを持つサブスクリプション データベースと同期しないでください。匿名サブスクリプションは、パブリケーション データベースに変更を適用するのに十分なメタ データを持っていないので、このような同期操作はデータの不一致を生じる可能性があります。

マージ レプリケーションに対してバックアップおよび復元を予定しているときは、以下の点も考慮してください。

サブスクライバがサブスクライブしているすべてのパブリケーションのうち、保有期間が最も短いものよりもバックアップが古くない場合のみ、バックアップからサブスクリプション データベースを復元します。たとえば、サブスクライバが保有期間がそれぞれ 10 日、20 日、30 日の 3 つのパブリケーションをサブスクライブしている場合、データベースの復元に使用するバックアップは、10 日以内のものである必要があります。

バックアップを実行する前に、サブスクライバとパブリッシャを同期することを強くお勧めします。同期をとらないと、サブスクライバをこのバックアップから復元する場合に、システムが正しく一貫性を保たない可能性があります。バックアップ ファイル自体が新しくても、パブリッシャとの最後の同期が保有期間よりも古い可能性もあります。たとえば、パブリケーションの保有期間が 10 日であるとします。最後の同期が 8 日前に行われ、今日バックアップを実行しました。バックアップを 4 日後に適用すると、最後の同期は 12 日前に行われたことになります。これは保有期間を過ぎています。バックアップ前にサブスクライバが正しく同期されていた場合は、サブスクリプション データベースは保有期間内に収まります。

パブリケーションの保有期間値を変更する必要がある場合は、データの一貫性を損なうことを防ぐために、サブスクライバを手動で再初期化します。保有期間を基にしたメタ データ クリーンアップ機能は、パブリケーションの保有期間に達したとき、マージ システム テーブルから保有期間の過ぎたメタ データを削除します。

パブリケーションの保有期間値は、保有期間内に同期されていないサブスクリプションの有効期限がいつ切れるのかを判断するために使用されています。クリーンアップ後に、パブリケーションの保有期間を増加させ、サブスクリプションをパブリッシャにマージしようとすると (メタ データは既に削除されています)、保有期間値が増加されているのでサブスクリプションの有効期限は切れていません。その上、パブリッシャはサブスクライバに変更をダウンロードするための メタ データを十分に持っていないので、一貫性を欠くことになります。

[先頭に戻る]

5.2.5 別のバージョンの SQL Server からレプリケートされたデータベースの復元

(SP1 からの機能)

同じサーバーとデータベース (バックアップを作成したサーバーと同じバージョンを実行している) にバックアップを復元すると、レプリケーションの設定は保持されます。データベースをバックアップするときに使用していたバージョンとは異なるバージョンの SQL Server にレプリケートされたデータベースを復元する場合は、以下の問題点に注意してください。

[先頭に戻る]

5.2.6 スナップショット エージェントの新しい -MaxNetworkOptimization コマンド ライン引数

(SP2 からの機能)

マージ レプリケーションの通常の処理中に、サブスクライバのパーティションに所属しない行に対して、サブスクライバに DELETE コマンドを送信できます。この種の DELETE コマンドは関連性のない削除と呼ばれます。関連性のない削除は、データの整合性や一貫性には影響しませんが、不必要なネットワーク トラフィックの原因になります。

関連性のない削除によるネットワーク トラフィックを削減するには、マージ レプリケーション パブリケーションで新しいスナップショット エージェント パラメータ -MaxNetworkOptimization を使用します。このパラメータを 1 に設定すると、関連性のない削除の機会が最小限になり、それによってネットワークが最大限に最適化されます。

注意   このパラメータを 1 に設定すると有効なのは、マージ パブリケーションの同期最適化オプションが true (sp_addmergepublication の @keep_partition_changes パラメータ) に設定されている場合のみです。

このパラメータを 1 に設定すると、複数レベルの結合フィルタや複雑なサブセット フィルタが存在する場合は、パブリッシャでメタ データのストレージが増加し、パフォーマンス低下の原因になる可能性があるので、既定値は 0 です。レプリケーション トポロジを注意深く評価し、関連性のない削除によるネットワーク トラフィックが受け入れられないほど高い場合にのみ、-MaxNetworkOptimization を 1 に設定します。

システム プロシージャ sp_add_agent_parameter を次のように実行すると、[スナップショット エージェントのプロファイル] にこのパラメータを追加できます。

EXEC sp_add_agent_parameter 1, 'MaxNetworkOptimization', 1

[先頭に戻る]

5.2.7 マージ レプリケーションが使用する新しいロール

(SP3 からの機能)

SP3 以降では、マージ レプリケーションで使用する新しいロールが自動的に作成されます。新しいロールの名前は、MSmerge-<パブリケーション ID> という形式になります。ロールはパブリッシャでマージ レプリケーション パブリケーションごとに作成され、パブリッシャでマージ パブリケーションへのアクセスを制御するパブリケーション アクセス リスト (PAL) として動作します。このロールが削除された場合は、SP3 以降に含まれる新しいストアド プロシージャ sp_createmergepalrole を実行し、ロールを再作成できます。このストアド プロシージャは、ロールを再作成するためにパブリッシャのパブリケーション データベースで実行されます。

sp_createmergepalrole については、SQL Server 2000 Books Online の最新コピーに説明があります。最新バージョンの SQL Server 2000 Books Online のインストールについては、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。英語版のリファレンスは、「sp_createmergepalrole」です。

[先頭に戻る]

5.2.8 sysadmin 以外のユーザーが作成したサブスクリプションの新しい要件

(SP3 からの機能)

sysadmin 固定サーバー ロールのメンバではないユーザーがサブスクリプションを作成する場合は、以下のいずれか 1 つのことを行う必要があります。

注意   リモート エージェントをアクティブにする機能では、ジョブ ステップを必ず sysadmin 固定サーバー ロール内のユーザー アカウントのコンテキストで実行する必要があります。

[先頭に戻る]

5.2.9 ストアド プロシージャのアクセス許可の変更

(SP3 からの機能)

レプリケーション トポロジの実装、管理、および監視に使用する多くのストアド プロシージャのアクセス許可が変更されました。これらの変更の大部分は、ストアド プロシージャの実行に必要なアクセス許可を厳しくすることに関係しています。新しいアクセス件の詳細については、更新されたバージョンの SQL Server Books Online のレプリケーション ストアド プロシージャに関する Transact-SQL リファレンス マニュアルを参照してください。更新された SQL Server Books Online の詳細については、「1.8 SQL Server 2000 Books Online の利用可能な更新」を参照してください。

[先頭に戻る]

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 Enterprise Manager、SQL-DMO、およびレプリケーション ストアド プロシージャを使って作成されたサブスクリプション) を Windows 同期マネージャで使用できるようにします。また、Windows 同期マネージャを使って新しいサブスクリプションを作成することもできます。Service Pack 適用後にサブスクリプションの同期をとると、Windows 同期マネージャが同期に関係するサーバーに接続するために必要な 1 つまたは複数のパスワードを問い合わせます。

[先頭に戻る]

5.2.12 レプリケーション データベースのアタッチまたは復元の必要条件の変更

(SP3 からの機能)

特定の条件の組み合わせに該当すると、パブリッシュされたデータベースのアタッチまたは復元のプロセスで、レプリケーションが機能しない場合があります。このような条件の組み合わせを以下に示します。

これらの条件にすべて当てはまる場合は、アタッチまたは復元されるデータベースで sp_changedbowner ストアド プロシージャを実行する必要があります。所有権を sa 組み込み管理者ログインに割り当てます。これでレプリケーションが正しく機能することが保証されます。

注意   sp_changedbowner ストアド プロシージャを実行するには、sysadmin 固定サーバー ロールのメンバである必要があります。

複数データベースの組み合わせ所有権の詳細については、「5.1.8 複数データベースの組み合わせ所有権」を参照してください。

[先頭に戻る]

5.2.13 レプリケーション ActiveX コントロールのセキュリティ指定の変更

(SP4 からの機能)

レプリケーション ActiveX® コントロール (sqlinitx.dll、sqldistx.dll、sqlmergx.dll、および replerrx.dll) は "スクリプトを実行しても安全" および "初期化しても安全" とは指定されなくなりました。これらのコントロールのセキュリティと機能の動作は SP3 以降変更されていませんが、セキュリティ標準を満たすためにセキュリティ指定が変更されました。これらの変更は、Web ページに埋め込まれたレプリケーション ActiveX コントロールを起動するアプリケーションに影響を与える可能性があります。

[先頭に戻る]

5.2.14 マージ パブリケーションのアーティクルの新しいパラメータ

(SP4 からの機能)

sp_addmergearticle の呼び出し時に、新しいパラメータ @compensate_for_errors を指定できます。このパラメータは、同期中にエラー (制約違反など) が発生した場合に補正動作を行うかどうかを指定します。TRUE (既定値) に設定されている場合、あるノードで同期中に適用できなかった変更があると、他のすべてのノードでその変更を取り消す補正動作が生じます。これは、場合によっては望ましい動作ですが、問題になる場合もあります。たとえば、正しく設定されていない 1 つのサブスクライバがエラーを生成すると、パブリッシャと他のすべてのサブスクライバで変更が取り消される可能性があります。

値として FALSE を指定すると、補正動作は無効になりますが、エラーはまだログに記録されており、以後のマージでは引き続き変更の適用が試みられます。影響を受ける行のデータの一貫性が失われたように見えますが、エラーに対処するとすぐに変更を適用できるので、データの一貫性が保持されます。

注意   アーティクルのソース テーブルが別のパブリケーションで既にパブリッシュされている場合は、両方のアーティクルについて @compensate_for_errors の値が同じであることが必要です。

[先頭に戻る]

5.2.15 トランザクション パブリケーションの ID 列をレプリケートするための新しいスキーマ オプション

(SP4 からの機能)

以前のリリースでは、トランザクション パブリケーションの ID 列は、ID プロパティが設定されずに int のような基本データ型としてレプリケートされていました。この手法は、サブスクライバでの挿入を許可しないアプリケーションには適切です。SQL Server 2000 SP4 では、トランザクション パブリケーションのために新しいスキーマ オプション (0x4) が導入されています。このオプションは、ID 列を ID 列としてレプリケートするために使用されます。これは、双方向のレプリケーションやサブスクライバを warm-standby サーバーとして使用する場合を含めて、多くの場合に役立ちます。これらの場合、サブスクライバで挿入の発生が可能で、挿入によって ID 列の値が増分されることになります。

ID 列を ID 列としてレプリケートする必要があることを指定するには、次の操作を行います。

  1. パブリッシャでテーブルを作成するときに、ID 列に NOT FOR REPLICATION オプションを指定します。これで、ID 列の値を増分させるのはレプリケーション エージェントによる挿入ではなく、ユーザーの挿入のみになります。詳細については、SQL Server Books Online の「CREATE TABLE」を参照してください。

  2. ID 列を持つアーティクルを追加するときに、sp_addarticle の @schema_option パラメータにオプション 0x4 を設定します。このパラメータの詳細については、SQL Server Books Online の「sp_addarticle」を参照してください。

  3. サブスクライバの初期化後に、ID 列を持つ各テーブルに対して DBCC CHECKIDENT を実行します。この操作では、サブスクライバの ID 列に挿入する開始値を指定できるため、サブスクライバに挿入される値は、パブリッシャで挿入される値と同じにはなりません。たとえば、サブスクライバでの挿入を 1,000,000 から開始するには、次のように指定します。
    USE Northwind
    GO
    DBCC CHECKIDENT ('Employees', RESEED, 1000000)
    GO

詳細については、SQL Server Books Online の「DBCC CHECKIDENT」を参照してください。

5.2.16 Windows on Windows 64 モードで実行中のディストリビュータで SQL Server 以外のサブスクライバがサポートされない

(SP4 からの機能)

X64 または互換プロセッサで動作する Windows 2003 SP1 システムにおいて、Windows on Windows 64 モードで実行している SQL Server 2000 (32-bit) のディストリビュータ インスタンスは、SQL Sever 以外のサブスクライバを持つことができません。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 は、エージェント ジョブの所有者が各ジョブから出力ログ ファイルに追加または上書きするためのアクセス権を持っているかどうかを確認するようになりました。この確認は、以下の 3 つの方法で行います。

いずれの場合も、SQL Server エージェントの資格情報を使用してジョブを書き込みますが、MSDE 2000 はジョブ出力ログ ファイルの書き込み先としてサーバー上で選択した場所に対してそのユーザーが書き込みアクセス許可を持つかどうかを確認するようになりました。エラーはジョブ ヒストリに表示されますが、ログ ファイルを書き込めなくても、ジョブ ステップは失敗しません。

[先頭に戻る]

5.3.3 SQL Agent Mail MAPI プロファイル

(SP3 からの機能)

MSDE 2000 および 32 ビット版の SQL Server 2000 では、電子メール警告の送信に拡張 MAPI 電子メール プロファイルを使用するように SQL Agent Mail を設定できます。拡張 MAPI プロファイルの作成には、Microsoft Outlook などの拡張 MAPI 電子メール アプリケーションを使用できます。64 ビット版の SQL Server 2000 では、SQL Agent Mail は電子メール警告の送信に簡易 MAPI プロファイルのみを使用できます。MSDE 2000 または 32 ビット版の SQL Server 2000 では、簡易 MAPI プロファイルを使用しないでください。

[先頭に戻る]

5.4 XML の機能強化

ここでは、SP4 に含まれる XML と SQLXML の機能強化について説明します。

5.4.1 XPath 式の検証機能の強化

(SP3 からの機能)

SP4 を適用すると、MSXML 2.6 との下位互換性があるように特別に構築された XML 解析テクノロジを使用するように、OPENXML が更新されます。

SP3 以前の OPENXML によって使用されるバージョンの XML パーサーでは、XPath 式の中で、現在のコンテキスト ノードを識別する特殊文字省略形 (XPath 構文ではピリオド (.) で示される) の後に述語を記述することが許されていました。これは、この文字の後には場所のパス式を記述する必要があるという XPath の構文仕様に違反しています。

新しい OPENXML の動作では、現在のコンテキスト ノードを表す省略形特殊文字の直後に述語を記述することはできません。SP3 以降にアップグレードした後は、間違った構文を使用する SQLXML クエリ (注釈付きマッピング スキーマに対する XPath クエリや、SQLXML クエリの結果を変換するために記述された XSLT スタイルシート内の XPath クエリ) 内の XPath 式は失敗します。

このようなエラーを防止するため、正しくない構文を使用する式をすべて識別して修正します。たとえば、次の xsl:if 要素で test 属性の値として指定されている XPath 式の構文は、述語 [@ResourceTypeID='2'] が現在のコンテキスト ノードを識別する特殊文字省略形の直後にあるために無効です。

次のステートメントは以前はエラーを生成しませんでしたが、SP3 以降をインストールした後はエラーになります。

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

このエラーを防ぐには、XPath 式を次のように変更する必要があります。

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

[先頭に戻る]

5.5 DB-Library と Embedded SQL for C

(SP1 で導入され、SP4 で更新された機能)

DB-Library および Embedded SQL for C の API は依然として SQL Server 2000 および MSDE 2000 でサポートされていますが、SQL Server の将来のバージョンには、これらの API を使用するアプリケーションをプログラムするために必要なファイルやドキュメントが含まれなくなります。DB-Library および Embedded SQL for C を使用して記述された既存のアプリケーションからの接続は、次のバージョンの SQL Server でもサポートされる予定ですが、将来のリリースではこのサポートも削除されることになります。新しいアプリケーションを記述するときには DB-Library や Embedded SQL を使用しないでください。既存のアプリケーションを変更するときには、これらのテクノロジに依存する部分を取り除いてください。DB-Library や Embedded SQL for C の代わりに、.NET Framework の system.data.SQLClient 名前空間または ADO、OLE DB、ODBC などの API を使用して、SQL Server のデータにアクセスしてください。これらのテクノロジの詳細については、SQL Server Books Online または .NET Framework SDK を参照してください。

[先頭に戻る]

5.6 MSDE 2000 Setup の機能強化

ここでは、MSDE 2000 Setup の機能強化について説明します。

5.6.1 MSDE 2000 Setup の新しい SAVESYSDB パラメータ

(SP4 からの機能)

MSDE 2000 SP4 では、MSDE 2000 Setup に新しい SAVESYSDB パラメータが導入されました。SAVESYSDB パラメータは、マージ モジュールまたは MSI ファイルを使用してインストールされた MSDE 2000 のインスタンスを、SQL Server 2005 Express Edition の将来のバージョンにアップグレードする際に使用することを想定しています。SAVESYSDB は、SQL Server Express の将来のバージョン用に計画されている新機能と共に使用されます。SAVESYSDB が有効なのは、コマンド プロンプトで MSDE 2000 Setup を実行してインスタンスをアンインストールする場合のみです。

既定では、MSDE 2000 のインスタンスをアンインストールすると、MSDE 2000 Setup によって master、model、および msdb システム データベースのファイルが削除されます。SAVESYSDB=1 を指定すると、MSDE 2000 Setup はこれらのシステム データベースのファイルを所定の場所に残します。

SAVESYSDB はいつでも指定できますが、処理されるのは /x アンインストール スイッチと共に使用された場合のみです。

Setup /x sqlrun01.msi SAVESYSDB=1 INSTANCENAME="MyInstance"

/x が指定されていないと、SAVESYSDB は無視されます。SAVESYSDB と /x の両方が指定されている場合、SAVESYSDB は 1 に設定されている必要があります。1 以外の値に設定されていると、エラーが発生します。

[先頭に戻る]

5.7 サービス性の機能強化

(SP4 からの機能)

SQL Server 2000 SP4 には、サービス機能が新たに導入されています。これにより、Windows XP と Windows Server 2003 上で実行されている SP4 以上のバージョンの SQL Server 2000 に適用された修正プログラムをアンインストールできます (この同じ機能は、SQL Server 2000 にも搭載されていましたが、追加の修正プログラムを適用しないと利用できませんでした)。

[先頭に戻る]