アプリ版:「スタンプのみでお礼する」機能のリリースについて

Win2003Server
SQLServer2005

マージレプリケーションで構成されたあるテーブルに
一括でデータを挿入しようとしてエラーが発生しています。

テーブルの1つの列がIDENTITYが設定されており、
この範囲を超えたからという理由らしいのですが・・・

この範囲以上の行を一括挿入するにはどのように
設定を変更すれば良いでしょうか?

※sp_changemargearticleで変更するのかな?とは思ったのですが、
 パラメータに何を指定して良いかが分からず
※必要な情報があれば、補足等に随時書込みさせていただきます。

A 回答 (2件)

ID 値は以下の方法で管理できます。


・Microsoft® SQL Server™ 2000 レプリケーションで、ID 値の範囲をパブリッシャおよび全サブスクライバに動的に割り当てて、ID 列を自動的に管理できるようにする。
・Transact-SQL の NOT FOR REPLICATION オプションで ID 列を定義する。
・ID 列が不要な場合、複合キーや rowguid 列など ID 列以外の主キーを使用する。この方式では、レプリケートされたデータの ID 列を管理するオーバーヘッドをなくすことができます。


上記の詳細は以下のサイトを参照ください。
http://msdn.microsoft.com/library/ja/
    • good
    • 0

>テーブルの1つの列がIDENTITYが設定されており、


>この範囲を超えたからという理由らしいのですが・・・
値を超過させない様にします。

つまり、IDENTITYの設定された列の桁数を増加させ、値超過が発生しない桁数に設定すれば良いと思います。
マージレプリケーション環境では、レプリケーション環境を解除した後に、テーブルカラムを変更する必要があったと思います。

この回答への補足

回答ありがとうございます。

ご指摘の列の桁数なのですが、足りているのです。
が、マージレプリケーションを設定した際に制約(二つのサーバーで同じ値が設定されないようにらしい)が付加されてしまい、
この制約に違反してしまうのです。

補足日時:2007/08/07 08:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!