2011-07-16 13 views
0

私は中央データベースを持っています。アプリケーションは複数のサーバー上にあり、データをサーバーにプッシュします。整合性の問題SQL Server

現在、varcharの最大容量よりも長い文字列データでは、1つのシナリオがあります。だから、私は文字列を分割し、連続した行に格納します。

データはS1からサーバS1、S2(例えば)とデータから押されているときに問題があるが、D1であるとs2は、私はD11とD12にデータd1を分割し、連続した行に入れD2

です。しかし、頻繁に更新されるため、d11、d12、d21、d22の代わりにこのシーケンスd11、d21、d12、d22でテーブルが更新されることがあります。

誰もこの状況を処理するための設計上の回避策をお勧めしますか?

ありがとうございました

+6

varchar(max)の使用を検討しましたか?その文字列を分割する必要が頻繁にあるべきではありません。 "最大ストレージサイズは2^31-1バイトです" http://msdn.microsoft.com/en-us/library/ms176089.aspx –

+0

* 1つの*トランザクション内に2つの行を挿入していますか?どのタイプまたはレプリケーションを使用していますか? – Heinzi

+0

はい。私は1つのトランザクションで2行を挿入しています。私はすべてのレプリケーションを使用しているかどうかはわかりません。私はかなり初心者です – Jayesh

答えて

0

CLOBのような別のデータ型を使用してください。これにより、文字列全体を格納できるため、分割の必要性がなくなります。

データベース内の各セルは、ちょうど1つの値を保持する必要があります。したがって、その値のほんの一部を避けてください。物事はもっとスムーズに実行されます。

+0

C#でこれを使用するための参照がありますか?ありがとう! – Jayesh