2009-04-10 152 views
3

方案

在我們的複製方案,我們複製了一些表,其中包括包含二進制圖像數據的photos表。所有其他表格按預期進行復制,但照片表格不會。我懷疑這是因爲照片表中的數據量較大,或者是因爲圖像數據是varbinary字段。但是,使用較小的varbinary字段沒有幫助。的SQL Server 2005:複製,VARBINARY

配置信息

下面是一些配置信息:

  • 每個圖像可以在任何地方從65-120 KB
  • 的修訂和批准的副本縮略圖一起進行存儲,因此單行可能會接近〜800Kb
  • 我曾經遇到過「max text repl size」配置字段的問題,但我已經使用sp_configurereconfigure with overridereconfigure with override
  • 將其設置爲最大值過濾基於張
  • 照片上「發表」領域,而且還有其他工作表
  • 的數據庫都使用相同的本地數據庫服務器(在開發環境),並配置事務複製
  • 複製的數據庫使用「推」訂閱

此外,我注意到有時重新生成快照和重新初始化訂閱導致圖像複製。考慮到這一點,我將快照代理配置爲每分鐘重新生成一次快照以用於調試目的(顯然這對於​​生產環境來說是過度的)。但是,這並沒有幫助。

問題

是什麼原因造成的photos表沒有複製,而所有其他人沒有問題?有沒有解決的辦法?如果不是,我將如何進一步調試?

筆記

我已經使用SQL Server Profiler查找錯誤以及複製監視器。沒有錯誤存在。據我所知,操作只是靜靜地失敗。

我的Windows Server 2003的Service Pack使用SQL Server 2005 Service Pack 3的2

[更新]

我發現硬盤的方式,Philippe Grondier是低於他的答案絕對正確的。圖片,視頻和其他二進制文件不應該存儲在數據庫中。 IIS比我更有效地處理這些文件很多

+0

您在每個發行商,分銷商和訂戶服務器上運行什麼服務包和/或累積更新?也許它是版本之間的迴歸錯誤。 – devstuff 2009-04-15 15:52:47

回答

4

我對你的問題沒有直接的答案,因爲我們的標準政策一直是'從不在(數據庫)字段中存儲(圖片)文件'。我們的解決方案,這不僅適用於圖片,但對任何類型的文件,或者文件的,是現在的標準:

  • 我們已經在我們的數據庫中,文件/文件名及相關文件夾存儲「文件」表(爲了獲得唯一的文檔/文件名稱,我們從'文檔'表格的主鍵/唯一標識符值生成它們)。

此「文件」表是我們的不同suscribers之間複製,像所有其他表

  • 我們有一個「文檔」文件夾和子文件夾 ,每個我們 數據庫服務器可用。
  • 文件的文件夾,然後獨立於數據庫的複製,一些文件和文件夾複製軟件(allwaysynch是一個選項)
  • 主要發行商的文件夾是通過ftp,當用戶試圖讀取一個文件(仍然)無法完全訪問在他的本地服務器將建議通過FTP客戶端軟件(如coreFTP和其命令行選項)
0

隨着圖像表像,從主服務器下載你有沒有考慮移動該文章到單向(或雙向,如果你喜歡)合併出版物?這可能會緩解您的一些問題。