Microsoft は、Microsoft SQL Server 2008 R2 Service Pack 2 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 R2 Service Pack 2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。
現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2008 R2 のパーティション分割列として datetimeoffset 型の列を使用するパーティションテーブルがあります。
-
SQL Server Management Studio (SSMS) で分割されたテーブルのスナップショットパブリケーションを作成するには、新しい文書ウィザードを使います。
このシナリオでは、スナップショットパブリケーションの作成に使用したスクリプトの1つに、次のエラーメッセージが表示されます。 スクリプトは、新しい文書ウィザードで自動的に生成されます。
Msg 102、レベル15、都道府県1、Line 3Incorrect 「」の近辺の構文が正しくありません。
注: この問題が発生する詳細な例のシナリオについては、「詳細情報」セクションを参照してください。
解決方法
累積的な更新プログラムの情報
SQL Server 2008 R2 SP2 の累積更新プログラム5
この問題の修正プログラムは、累積的な更新プログラム5で最初にリリースされました。この累積的な更新プログラムパッケージを SQL Server 2008 R2 SP 2 で入手する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2797460 SQL Server 2008 R2 Service Pack 2 の累積更新プログラムパッケージ5注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 R2 SP 2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2730301 SQL Server 2008 R2 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
詳細情報
SQL Server 2008 R2 でパーティション関数を作成し、input_parameter_type のデータ型が datetimeoffsetであることを前提とします。 次に、SSMS と同じように Script Partition 関数 を使用します。 このシナリオでは、「現象」セクションで説明されている問題が発生します。 さらに、SSMS で生成された日付リテラル範囲の値は単一引用符では引用符で囲まれません。たとえば、次のステートメントを実行して、partition 関数を作成します。
CREATE PARTITION FUNCTION PF_TEST (datetimeoffset(7)) as range right for values('20100101', '20100201', '20100301')
次に、 オブジェクトエクスプローラーでパーティション関数を右クリックし、[ スクリプトパーティション関数] を選択し、[ 作成] を選択して、SSMS で [ 新しいクエリエディター] ウィンドウ を選択します。 次のような生成済みのスクリプトが表示されます。
CREATE PARTITION 関数 [PF_TEST] (datetimeoffset (7)) は、値の右の範囲 (1/1/2010 12:00:00 AM + 00:00、2/1/2010 12:00:00 AM + 00:00、3/1/2010 12:00:00 AM + 00:00)生成されたスクリプトを実行しようとすると、次のエラーメッセージが表示されます。
Msg 102、レベル15、都道府県1、Line 3Incorrect、' 12 ' 付近の構文が正しくありません。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。