Microsoft は Microsoft SQL Server 2008 Service Pack 1 (SP1) と Microsoft SQL Server 2008 R2 の修正プログラムを1つのダウンロード可能ファイルとして配布します。 修正プログラムは累積的であるため、各新しいリリースには、以前の SQL Server 2008 SP1 と SOL Server 2008 R2 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
SQL Server 2008 または SQL Server 2008 R2 のテーブルで変更の管理を有効にします。
-
Last_sync_version引数と共にCHANGETABLE関数を使用するクエリを実行して、テーブル内で発生した変更の追跡情報を返します。
-
Bigint値がlast_sync_version引数として渡されます。
たとえば、テーブルで変更の管理を有効にした後、次のクエリを実行します。
SELECT * FROM CHANGETABLE(changes dbo.t1, 2222222222) as ct
このシナリオでは、クエリの実行に失敗し、次の情報が表示されます。
Msg 1080、Level 15、State 1、Line 1Outlook integer 値 bigint 値 が範囲外です。
注意事項
-
Last_sync_version引数の型はbigintとして定義されています。 そのため、クエリは正常に実行されている必要があります。
-
bigint 値は、 last_sync_version引数として渡されるbigint値を表すプレースホルダーです。
解決方法
累積的な更新プログラムの情報
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積更新プログラム1で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2544793 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラムパッケージ1注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 Service Pack 2
この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積更新プログラム4で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2527180 SQL Server 2008 Service Pack 2 の累積更新プログラムパッケージ4注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2402659 SQL Server 2008 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service Pack 2 をインストールするには、SQL Server 2008 Service Pack 2 の修正プログラムを適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム7で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2507770 SQL Server 2008 R2 の累積更新プログラムパッケージ7 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルドこの問題の修正プログラムは、累積的な更新プログラム13で最初にリリースされました。SQL Server 2008 SP1 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2497673 SQL Server 2008 Service Pack 1 の累積更新プログラムパッケージ13 注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 SP1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
970365 SQL Server 2008 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 ビルド
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
回避策
この問題を回避するには、 bigint型の変数を作成してから、 CHANGETABLE関数のlast_sync_version引数として変数を渡します。 たとえば、次のクエリを正常に実行できます。
DECLARE @v3 bigint = 2222222222SELECT * FROM CHANGETABLE(changes dbo.t1, @v3 ) as ct
詳細情報
Transact-sql の CHANGETABLE 関数の詳細については、次の Microsoft 開発ネットワーク (MSDN) の web サイトを参照してください。