1

一位同事和我正在研究一些藥房軟件(用C#),它處理病人檔案,患者藥物處方等的管理。所有這些不同的數據集存儲在一個sql服務器數據庫中(我們「重新使用2008標準,但未來的版本也可以)。每個商店在本地機器上都有自己的sql server實例。遠程提供sql server實例的最佳方法?鏈接服務器或複製?其他?

我們的目標:

我們希望有「存儲」能夠訪問「商店B的」數據庫如果需要的話。基本上,如果藥房客戶可能不在城裏,並且訪問其他藥房分支之一。

事情我已經想到了:

  1. 我最初的想法是,以基本保持這可以通過指定的DNS連接(或者IP)來訪問SQL Server的在線服務器實例。我試圖找出保持這些同步的最佳方式,並且我遇到了SQL Server複製。問題是我打算使用Transactional Replication來更新訂閱者,但是因爲它已經被棄用了,這不再是一個長期的選擇。微軟建議使用p2p複製,但這需要企業版,如果可以的話,我們真的試圖避免這種情況。我想使用事務型複製,因爲它能更好地保持記錄的一致性(不必等待合併代理作業每小時運行一次或類似的東西)。

  2. 我最近想到的一些東西可能是基於互聯網的sql服務器實例,它只包含連接的服務器,而不包含連接到每個商店本地計算機的服務器。如果其他商店只是直接處理彼此的本地機器,我就不必擔心同步問題。但是我讀過很多人說這是一個可怕的安全漏洞,所以我不確定這是否是一個合理的想法,但我想也許有一些方法可以使這項工作成爲可能?

無論如何,這是我們正在嘗試做的基本要點。我不知道複製或連接的服務器是否是更好的路線。

編輯:

雙向複製怎麼樣?我正在讀一點關於這個,但我有點不確定,如果這是我需要或不需要。我不希望在服務器之間或任何東西之間錯開主鍵,因爲它們在識別處方號碼和類似的東西時非常重要。但是如果我可以進行雙向複製,那也可以。

+0

每個位置是否需要本地數據庫?有一個數據庫服務器可以遠程連接嗎?這些不同的商店位於共享網絡上還是需要上網以建立聯繫? – liebs19

+0

是的,我們希望每個商店都有一個本地數據庫。在互聯網出現故障或變得非常緩慢的情況下,我們不希望這能夠影響商店爲客戶提供服務的能力。但是,沒有他們必須通過互聯網連接一些方法,他們之間沒有共享網絡。你可以加入不同城市的計算機之間的共享網絡嗎? –

+0

你可以有一個共享網絡,但我相信它需要你的isp直接連接。我不是100%確定這是如何設置的。我有一些關聯服務的經驗,他們工作得很好,但我從來沒有通過互聯網完成,所以我不確定安全方面。我也不確定在互聯網上設置這種複製有多困難,或者是否會有任何安全風險。我認爲你的任何想法都可行,對不起,我不能提供更多幫助。 – liebs19

回答

0

不是一個真正的答案,但我有更多的空間......

SQL Azure是SQL Server的「雲」的版本。 VPN是通過互聯網創建自己的專用網絡的一種方式。對這些術語做一些研究。現在許多應用程序正在使用雲。你應該真的考慮沒有互聯網接入的可能性。

關於複製,如果您擁有此應用程序並且很高興支持它,您可以'自行'複製。

的基本前提是:

  1. 創建每個表中的觸發器,它的每一個變化的PK寫入日誌表
  2. 創建用於管理複製和合並只是改變了信息的過程(基於日誌表)使用訂閱者和發佈者
+0

嘿謝謝信息人,我肯定會研究一些這些東西,看看我能不能找出比現在做的更好的方式。我認爲觸發器可能是我可以走的最好方式 –

相關問題