FIX には入れ子になった FOR XML 句では、SQL Server 2005 でクエリを実行するとエラー メッセージが含まれています:「XML データ型が破損している」

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:933808
バグ: # 50000918 (SQL 修正プログラム)
Notice
Microsoft Microsoft SQL Server 2005年修正プログラム 1 つのダウンロード ファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。
概要
ここにはこの修正プログラムのリリースに関する次について説明します。
  • この修正プログラム パッケージで修正される問題
  • この修正プログラム パッケージをインストールするための必要条件
  • この修正プログラム パッケージをインストールした後、コンピューターを再起動する必要がありますか
  • 修正プログラム パッケージが他の修正プログラム パッケージによって置き換えられますかどうか
  • レジストリの変更が必要かどうか
  • この修正プログラム パッケージに含まれているファイル
現象
SQL Server 2005 での入れ子になった FOR XML 句を含むクエリを実行すると、次のエラー メッセージが表示されます。
Msg 6611、レベル 16、状態 1、行 2
XML データ型が壊れています。
この問題は、次の条件に該当する場合に発生します。
  • FOR XML 句は、TYPE ディレクティブを使用します。
  • する XQuery クエリに対するクエリによって返された XML データ型を指定します。
  • XQuery クエリでは、FOR XML 句の一番上の Qname を参照します。
解決方法

累積的な更新プログラムの情報

この問題を解決するには、SQL Server 2005 Service Pack 2 の (ビルド 3161) 累積的な更新プログラム パッケージを入手します。 累積の入手方法の詳細については更新プログラム パッケージ (ビルド 3161)、Knowledge Base の資料を参照するのには、次の資料番号をクリックします。
935356 SQL Server 2005 Service Pack 2 用の累積的な更新プログラム パッケージ (ビルド 3161) に利用可能です。

修正プログラムの情報

サポートされている修正プログラムがマイクロソフトから入手可能です。ただし、この修正プログラムはこの資料に記載されている問題のみを修正するものです。この修正プログラムはこの問題が発生しているシステムにのみ適用されます。この修正プログラムは、今後さらにテストを受け取ることがあります。したがって、この問題で深刻な影響をされていない場合は、この修正プログラムを含む次のソフトウェア更新プログラムのリリースを待つことをお勧めします。

この修正プログラムがダウンロードできないか場合は、この記事の上部に「修正プログラムのダウンロード」セクションです。このセクションが表示されない場合は、マイクロソフト カスタマー サービス & サポート修正プログラムを入手するに問い合わせてください。

メモ その他の問題が発生した場合、またはトラブルシューティングが必要な場合は、別のサービス リクエストを作成する必要があります。追加の質問およびこの特定の修正プログラムの対象とならない問題については、通常のサポート料金が適用されます。一覧マイクロソフト カスタマー サービス & サポートの電話番号のまたは別のサービス リクエストを作成するには、次のマイクロソフト Web サイトを参照してください。 メモ 「修正プログラムのダウンロード」フォームに修正プログラムが提供されている言語を表示します。お使いの言語が表示されない場合は、修正プログラムがその言語の利用できないためにです。

前提条件

  • SQL Server 2005 Service Pack 2
    SQL Server 2005 Service Pack 2 の入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
    913089SQL Server 2005 の最新の service pack を入手する方法

情報を再起動します。

この修正プログラムを適用した後コンピューターを再起動するはありません。

レジストリ情報

レジストリを変更するはありません。

修正プログラムのファイル情報

この修正プログラムにはこの資料に記載されている問題を修正するために必要なファイルのみが含まれています。この修正プログラムは、製品を最新のビルドに更新するために必要なすべてのファイルの含めることはできません。この修正プログラムの英語版がファイル属性 (またはそれ以降のファイル属性) が、次のとおり。日付および時刻これらのファイルを世界協定時刻 (UTC) が表示されます。ファイル情報を表示すると、ローカル時刻に変換します。UTC とローカル時刻との時差を確認するを使用して、 タイム ゾーン タブには 日付と時刻 コントロール パネルの項目。
SQL Server 2005 の 32年ビット バージョン
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3155.0296,3042007 年 3 月 13 日14: 12x 86
Msmdlocal.dll9.0.3155.015,930,2242007 年 3 月 13 日14: 12x 86
Mssqlsystemresource.ldf該当なし524,2882007 年 3 月 13 日11: 11該当なし
Mssqlsystemresource.mdf該当なし40,173,5682007 年 3 月 13 日11: 11該当なし
Rdistcom.dll2005.90.3155.0644,4642007 年 3 月 13 日14: 12x 86
Sqlaccess.dll2005.90.3155.0350,5762007 年 3 月 13 日14: 12x 86
Sqlservr.exe2005.90.3155.029,192,5602007 年 3 月 13 日14: 12x 86
SQL Server 2005 x 64 ベース版
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3155.0296,3042007 年 3 月 13 日14: 12x 86
Msmdlocal.dll9.0.3155.015,930,2242007 年 3 月 13 日14: 12x 86
Mssqlsystemresource.ldf該当なし524,2882007 年 3 月 13 日11: 11該当なし
Mssqlsystemresource.mdf該当なし40,173,5682007 年 3 月 13 日11: 11該当なし
Rdistcom.dll2005.90.3155.0828,2722007 年 3 月 13 日19: 19x64
Sqlaccess.dll2005.90.3155.0357,7442007 年 3 月 13 日19: 19x 86
Sqlservr.exe2005.90.3155.038,577,0082007 年 3 月 13 日19: 19x64
SQL Server 2005 の Itanium アーキテクチャ バージョン
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3155.0296,3042007 年 3 月 13 日14: 12x 86
Msmdlocal.dll9.0.3155.049,815,9202007 年 3 月 13 日20: 35IA-64
Mssqlsystemresource.ldf該当なし524,2882007 年 3 月 13 日11: 11該当なし
Mssqlsystemresource.mdf該当なし40,173,5682007 年 3 月 13 日11: 11該当なし
Rdistcom.dll2005.90.3155.01,885,0402007 年 3 月 13 日20: 35IA-64
Sqlaccess.dll2005.90.3155.0352,1122007 年 3 月 13 日20: 35x 86
Sqlservr.exe2005.90.3155.072,547,1842007 年 3 月 13 日20: 35IA-64
状況
マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。
詳細
SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は

ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明

問題の再現手順

  1. SQL Server Management Studio を開き、新しいクエリを作成します。
  2. 次のステートメントを実行します。
    CREATE TABLE [dbo].[TABLE0](	[COL0] [int] NULL,	[COL1] [varchar](50) NULL,	[COL2] [varchar](50) NULL,	[COL3] [varchar](50) NULL,	[COL4] [varchar](50) NULL,	[COL5] [varchar](50) NULL,	[COL6] [varchar](50) NULL,	[COL7] [varchar](50) NULL,	[COL8] [varchar](50) NULL) ON [PRIMARY]CREATE TABLE [dbo].[TABLE1](	[COL0] [int] NULL,	[COL1] [int] NULL,	[COL2] [varchar](50) NULL,	[COL3] [varchar](50) NULL,	[COL4] [varchar](50) NULL,	[COL5] [varchar](50) NULL,	[COL6] [varchar](50) NULL,	[COL7] [varchar](50) NULL,	[COL8] [varchar](50) NULL) ON [PRIMARY]GO-- Populating tablesDECLARE @X INT, @Y INTSET @X=0WHILE @X < 20  BEGIN	INSERT TABLE0 VALUES(@X,'DATAFORCOLUMN1','DATAFORCOLUMN2','DATAFORCOLUMN3','DATAFORCOLUMN4','DATAFORCOLUMN5','DATAFORCOLUMN6','DATAFORCOLUMN7','DATAFORCOLUMN8')	SET @Y=0	WHILE @Y < 20	  BEGIN		INSERT TABLE1 VALUES(@X,@Y,'DATAFORCOLUMN2','DATAFORCOLUMN3','DATAFORCOLUMN4','DATAFORCOLUMN5','DATAFORCOLUMN6','DATAFORCOLUMN7','DATAFORCOLUMN8')		SET @Y=@Y+1	  END    SET @X=@X+1  END-- SELECT(     SELECT TABLE0.COL0,		    TABLE0.COL1,			TABLE0.COL2,            TABLE0.COL3,            TABLE0.COL4,            TABLE0.COL5,            TABLE0.COL6,            TABLE0.COL7,            TABLE0.COL8,            (                             SELECT                         TABLE1.COL0,                        TABLE1.COL1,                        TABLE1.COL2,                        TABLE1.COL3,                        TABLE1.COL4,                        TABLE1.COL5,                        TABLE1.COL6,                        TABLE1.COL7,                        TABLE1.COL8                  FROM TABLE1                  WHERE TABLE0.COL0=TABLE1.COL0                          FOR XML PATH('RECORDS'), ROOT('TABLE1'),TYPE               )       FROM            TABLE0 FOR XML PATH('RECORDS'), ROOT('TABLE0'),TYPE         ).query('      for $record in /TABLE0/RECORDS/TABLE1/RECORDS      return            <OUTPUTXML>                  {$record/../../COL0}                  {$record/COL1}            </OUTPUTXML>')

警告: この記事は自動翻訳されています

プロパティ

文書番号:933808 - 最終更新日: 07/19/2011 12:36:00 - リビジョン: 3.0

  • kbfix kbqfe kbpubtypekc kbexpertiseadvanced kbhotfixserver kbsql2005engine kbautohotfix kbmt KB933808 KbMtja
フィードバック