2011-07-16 92 views
0

我有一箇中央數據庫。應用程序位於多臺服務器上並將數據推送到服務器。一致性問題SQL Server

現在,有一種情況是在比varchar的最大容量更長的字符串數據中。所以,我分割字符串並將它們存儲在連續的行中。

問題是,當數據正從服務器S1推,S2(比方說)的數據和來自s1爲d1和S2爲d2

我分割數據d1導入D11和D12,並把在連續的行。但由於頻繁更新,有時表的更新發生在這個序列d11,d21,d12,d22中,而不是d11,d12,d21,d22,因爲我正在處理應用層中的分裂而不是數據庫層中的分裂。

任何人都可以請推薦我一個設計解決方案來處理這種情況?

謝謝

+6

你有沒有考慮過使用varchar(max)? IT不應該經常需要拆分該字符串。 「最大存儲大小是2^31-1字節」http://msdn.microsoft.com/en-us/library/ms176089.aspx –

+0

您是否在* one * transaction中插入了兩行?你正在使用哪種類型或複製? – Heinzi

+0

是的。我在一個事務中插入2行。我不確定我是否使用任何複製。我是一個新手 – Jayesh

回答

0

使用不同的數據類型,如CLOB。這將能夠存儲您的整個字符串,因此不需要拆分。

數據庫中的每個單元格都應該只包含一個值,所以儘量避免使用該值的一部分,並且運行起來會更平滑!

+0

你有任何使用C#使用這個參考嗎?謝謝! – Jayesh