バグ #: 50001012 (SQL 修正プログラム)
現象
Microsoft SQL Server 2005 Service Pack 2 (SP2) では、特定の状況下で、メンテナンス プランの次のタスクによってデータベース コンテキストが失われる可能性があります。
- データベースの整合性確認
- Execute T-SQL ステートメント
たとえば、データベースの整合性チェック タスクが複数のデータベースの整合性チェックを行うように構成されている場合、既定のデータベースが繰り返しチェックされます。
T-SQL ステートメントの実行タスクでは、次の条件に該当する場合に、この問題が発生します。
T-SQL ステートメントの実行タスクに複数のバッチが含まれています。
バッチは GO ステートメントで区切られます。
No batches は、USE ステートメントを使用してデータベースを指定します。
各バッチのステートメントには、データベース名は含まれません。
このシナリオでは、2 番目のバッチおよびそれ以降のバッチのステートメントが既定のデータベースに対して実行されます。
注: この問題は、SQL Server Profiler を使用して確認できます。 メンテナンス プランの実行をトレースする場合は、SQL Server Profiler の [データベース] 列を確認します。
解決策
この問題は、SQL Server 2005 ビルド 3042 から 3053 および SQL Server 2005 ビルド 3150 から 3158 で発生します。 3042 から 3053 の間の SQL Server 2005 SP2 のビルドを実行している場合は、Microsoft ダウンロード センターから次の重要な更新プログラムをダウンロードしてインストールします。
この更新プログラムのスタンドアロン パッケージを入手するには、Microsoft Update カタログ Web サイトに移動してください。
この重要な更新プログラムをインストールした後、SQL Server 2005 のビルドは 3054 になります。
マイクロソフトのサポート ファイルをダウンロードする方法の詳細については、以下のサポート技術情報番号をクリックしてください。
119591 Microsoft サポート ファイルを入手する方法 オンライン サービス マイクロソフトがこのファイルのウイルス スキャンを行った場合。 配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。 配布ファイルはセキュリティで保護されたサーバー上に置かれており、権限のない第三者が無断でファイルを変更できないようになっています。
ファイル情報
この重要な更新プログラム (英語版) のファイル属性は次表のとおりです。ただし、これより新しい更新プログラムがリリースされている可能性もあります。 これらのファイルの日付と時刻は世界協定時 (UTC) で記載されています。 ファイル情報に表示される時刻は、ローカル時刻に変換されています。 UTC とローカル時刻との時差を確認するには、[コントロール パネル] の [日付と時刻] の [タイム ゾーン] タブを使用してください。
SQL Server 2005 (32 ビット版)
| ファイル名 | ファイルのバージョン | ファイル サイズ | 日付 | 時刻 | プラットフォーム |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 2007 年 3 月 23 日 | 2,113 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 350,576 | 2007 年 3 月 23 日 | 2,113 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 29,181,808 | 2007 年 3 月 23 日 | 2,113 | x86 |
SQL Server 2005 (x64 ベース)
| ファイル名 | ファイルのバージョン | ファイル サイズ | 日付 | 時刻 | プラットフォーム |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 2007 年 3 月 23 日 | 2,113 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 357,744 | 2007 年 3 月 24 日 | 02:40 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 38,516,080 | 2007 年 3 月 24 日 | 02:40 | x64 |
SQL Server 2005 (Itanium ベース)
| ファイル名 | ファイルのバージョン | ファイル サイズ | 日付 | 時刻 | プラットフォーム |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 2007 年 3 月 23 日 | 2,113 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 352,112 | 2007 年 3 月 24 日 | 03:59 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 72,583,024 | 2007 年 3 月 24 日 | 03:59 | ia64 |
3150 から 3158 の間の SQL Server 2005 SP2 のいずれかのビルドを実行している場合は、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。
934459 修正: メンテナンス プランの [データベースの整合性チェック] タスクと [T-SQL ステートメントの実行] タスクは、SQL Server 2005 ビルド 3150 から 3158 の特定の状況でデータベース コンテキストを失う可能性があります
この重要な更新プログラムを自動的に入手するには、次の Microsoft Update Web サイトにアクセスしてください。
https://update.microsoft.comこの重要な更新プログラムをインストールした後、SQL Server 2005 のビルドは 3161 になります。
SQL Server のバージョンとエディションを確認する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。
321185 SQL Server のバージョンとエディションを識別する方法
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
追加情報
SQL Server 2005 SP2 およびそれ以前の最初のリリース バージョンでは、メンテナンス プランのタスクに関連するコマンドが蓄積され、同時に実行されます。 エラーが発生すると、タスクは実行されなくなり、残りのメンテナンス タスクは実行されません。 SQL Server 2005 SP2 では、個々のバッチは一度に 1 つずつ送信されます。 SQL Server 2005 SP2 の最初のリリース バージョンでは、データベース接続はバッチ間でリセットされました。 後のバッチは、GO ステートメントが実行される前に存在していたコンテキストではなく、デフォルト・データベースのコンテキストに残されました。 影響を受けたタスクは、GO ステートメントが実行される前に存在していたコンテキスト、特にデータベースの整合性チェック タスクと T-SQL ステートメントの実行タスクに依存しました。