現在オフラインです。再接続するためにインターネットの接続を待っています

修正: SQL Server 2008 のデータ コレクターを有効にすると断続的に「スナップショットの sys.dm_exec_query_stats の収集」フェーズ中に、算術オーバーフロー エラーが発生します

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

英語版 KB:975915
Microsoft Microsoft SQL Server 2008年の修正プログラム 1 つのダウンロード ファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。
現象
次のシナリオを検討してください。
  • データ コレクターを有効にします。
  • データ コレクターの実行時、重または長期ワークロードでは、データベースの保守作業では、インデックスを再構築し、統計を更新するなどの非常に大きなデータベースを算術オーバーフロー エラーには次のとおり可能性があります。この算術オーバーフロー エラー sys.dm_exec_query_stats フェーズのスナップショットを収集中に断続的に発生します。
メッセージ: SSIS エラー コード DTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x80040E57。
OLE DB レコードがあります。出典:「Microsoft SQL Server のネイティブ クライアント 10.0」Hresult: 0x80040E57 説明:「式をデータ型 int 型に変換算術オーバーフロー エラー」。

データ コレクターのログ ・ レベルを 2 に増やすと (など、実行、"exec sp_syscollector_update_collection_set @ collection_set_id =<collectionsetid>、@ logging_level 2"ステートメントを =)、次のエラー メッセージが返されます:</collectionsetid>
<date time="">、SEQ - を取得し、クエリ統計情報、クエリ プランとテキスト、エラー、6569、、、、SSIS エラー コード DTS_E_OLEDBERROR を分析します。OLE DB エラーが発生しました。エラー コード: 0x80040E57。<nl></nl>、OLE DB レコードを利用します。出典:「Microsoft SQL Server のネイティブ クライアント 10.0」Hresult: 0x80040E57 説明:「式をデータ型 int 型に変換算術オーバーフロー エラー」します、、、<date time="">、、、<date time="">、、、、OnError、-1071636471。<date time="">、QueryActivityUpload、エラー、6569、、、、SSIS エラー コード DTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x80040E57。<nl></nl>、OLE DB レコードを利用します。出典:「Microsoft SQL Server のネイティブ クライアント 10.0」Hresult: 0x80040E57 説明:「式をデータ型 int 型に変換算術オーバーフロー エラー」.,<date time="">,<date time="">,,,, OnError、-1071636471</date></date></date></date></date></date>

<date time="">、DFT-(16412)、pre-execute フェーズに失敗し、返されたエラー コード 0xC0202009 興味深いクエリ アップロード バッチ エラー 6569、、、コンポーネント"ODS ・ dm_exec_query_stats の最新のスナップショットを取得"を作成します。,<date time="">,<date time="">,,,, OnError、-1073450982</date></date></date>

<date time="">、SEQ、キャプチャ、およびクエリ統計情報、クエリ プランとテキスト、エラー、6569、、、コンポーネント"ODS ・ dm_exec_query_stats の最新のスナップショットを取得"を分析 (16412)、pre-execute フェーズに失敗し、返されたエラー コード 0xC0202009。、、、<date time="">,<date time="">,,,, OnError、-1073450982</date></date></date>

<date time="">、QueryActivityUpload、エラー、6569、、、コンポーネント"ODS ・ dm_exec_query_stats の最新のスナップショットを取得"(16412)、pre-execute フェーズに失敗し、返されたエラー コード 0xC0202009。、、、<date time="">、、、<date time="">、、、、OnError、-1073450982<b00></b00></date></date></date>


このシナリオでは、SQL Server によって実行される、次のステートメントは、算術オーバーフロー エラーが発生します。
SET NOCOUNT ONDECLARE @p1 datetimeSET @p1 = GETDATE()SELECT     [sql_handle],    statement_start_offset,    statement_end_offset,    -- Use ISNULL here and in other columns to handle in-progress queries that are not yet in sys.dm_exec_query_stats.      -- These values only come from sys.dm_exec_query_stats. If the plan does not show up in sys.dm_exec_query_stats     -- (first execution of a still-in-progress query, visible in sys.dm_exec_requests), these values will be NULL.     MAX (plan_generation_num) AS plan_generation_num,    plan_handle,    MIN (creation_time) AS creation_time,     MAX (last_execution_time) AS last_execution_time,    SUM (execution_count) AS execution_count,    SUM (total_worker_time) AS total_worker_time,    MIN (min_worker_time) AS min_worker_time,           -- NULLable    MAX (max_worker_time) AS max_worker_time,    SUM (total_physical_reads) AS total_physical_reads,    MIN (min_physical_reads) AS min_physical_reads,     -- NULLable    MAX (max_physical_reads) AS max_physical_reads,    SUM (total_logical_writes) AS total_logical_writes,    MIN (min_logical_writes) AS min_logical_writes,     -- NULLable    MAX (max_logical_writes) AS max_logical_writes,    SUM (total_logical_reads) AS total_logical_reads,    MIN (min_logical_reads) AS min_logical_reads,       -- NULLable    MAX (max_logical_reads) AS max_logical_reads,    SUM (total_clr_time) AS total_clr_time,    MIN (min_clr_time) AS min_clr_time,                 -- NULLable    MAX (max_clr_time) AS max_clr_time,    SUM (total_elapsed_time) AS total_elapsed_time,    MIN (min_elapsed_time) AS min_elapsed_time,         -- NULLable    MAX (max_elapsed_time) AS max_elapsed_time,    @p1 AS collection_timeFROM(    SELECT          [sql_handle],        statement_start_offset,        statement_end_offset,        plan_generation_num,        plan_handle,        creation_time,        last_execution_time,        execution_count,        total_worker_time,        min_worker_time,        max_worker_time,        total_physical_reads,        min_physical_reads,        max_physical_reads,        total_logical_writes,        min_logical_writes,        max_logical_writes,        total_logical_reads,        min_logical_reads,        max_logical_reads,        total_clr_time,        min_clr_time,        max_clr_time,        total_elapsed_time,        min_elapsed_time,        max_elapsed_time     FROM sys.dm_exec_query_stats AS q    -- Temporary workaround for VSTS #91422.  This should be removed if/when sys.dm_exec_query_stats reflects in-progress queries.     UNION ALL     SELECT         r.[sql_handle],        r.statement_start_offset,        r.statement_end_offset,        ISNULL (qs.plan_generation_num, 0) AS plan_generation_num,        r.plan_handle,        ISNULL (qs.creation_time, r.start_time) AS creation_time,        r.start_time AS last_execution_time,        1 AS execution_count,        -- dm_exec_requests shows CPU time as ms, while dm_exec_query_stats         -- uses microseconds.  Convert ms to us.         r.cpu_time * 1000 AS total_worker_time,        qs.min_worker_time,     -- min should not be influenced by in-progress queries        r.cpu_time * 1000 AS max_worker_time,        r.reads AS total_physical_reads,        qs.min_physical_reads,  -- min should not be influenced by in-progress queries        r.reads AS max_physical_reads,        r.writes AS total_logical_writes,        qs.min_logical_writes,  -- min should not be influenced by in-progress queries        r.writes AS max_logical_writes,        r.logical_reads AS total_logical_reads,        qs.min_logical_reads,   -- min should not be influenced by in-progress queries        r.logical_reads AS max_logical_reads,        qs.total_clr_time,      -- CLR time is not available in dm_exec_requests        qs.min_clr_time,        -- CLR time is not available in dm_exec_requests        qs.max_clr_time,        -- CLR time is not available in dm_exec_requests        -- dm_exec_requests shows elapsed time as ms, while dm_exec_query_stats         -- uses microseconds.  Convert ms to us.         r.total_elapsed_time * 1000 AS total_elapsed_time,        qs.min_elapsed_time,    -- min should not be influenced by in-progress queries        r.total_elapsed_time * 1000 AS max_elapsed_time    FROM sys.dm_exec_requests AS r     LEFT OUTER JOIN sys.dm_exec_query_stats AS qs ON r.plan_handle = qs.plan_handle AND r.statement_start_offset = qs.statement_start_offset         AND r.statement_end_offset = qs.statement_end_offset     WHERE r.sql_handle IS NOT NULL ) AS query_stats OUTER APPLY sys.dm_exec_sql_text (sql_handle) AS sqlGROUP BY [sql_handle], plan_handle, statement_start_offset, statement_end_offset ORDER BY [sql_handle], plan_handle, statement_start_offset, statement_end_offset
そのため、手動でこのステートメントを実行すると、次のエラー メッセージもが表示されます。
Msg 8115、レベル 16、状態 2、
式をデータ型 int に変換演算のオーバーフロー エラー
解決方法
この問題に対する修正は SQL Server 2008 Service Pack 1 用の累積的な更新 5 にまずリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
975977 SQL Server 2008 Service Pack 1 用の累積的な更新プログラム パッケージ 5
メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
970365 SQL Server の 2008 SQL Server 2008 Service Pack 1 のリリース後にリリースされたビルドします。
Microsoft SQL Server 2008 SQL Server サービス ・ パックの特定の修正プログラムが作成されます。SQL Server 2008 Service Pack 1 をインストールする SQL Server 2008 Service Pack 1 の修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。
状況
マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。
関連情報
SQL Server の増分サービス モデルの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
935897報告された問題に対する修正プログラムを提供するのには、SQL Server チームの増分サービス モデルを利用します。


SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は


ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684 マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明
「算術オーバーフロー"8115「データコレクター」データ収集"取得現在スナップショットの dm_exec_query_stats""dm_exec_query_stats""

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

プロパティ

文書番号:975915 - 最終更新日: 08/15/2011 04:56:00 - リビジョン: 5.0

  • kbfix kbqfe kbexpertiseadvanced kbmt kbsurveynew KB975915 KbMtja
フィードバック
=">e="display:none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">