2009-07-02 64 views
0

這是我第一次嘗試構建一種wiki(一般),請支持! :) 我正在編譯一個處理傳輸和分發數據的方法列表。請將您的想法添加到我的列表中。我會更新文件並重新發布,以便讓所有人受益。如果我錯過了一種方法,請告訴我,我會編輯它!數據傳輸和分發方法

  1. 複製
  2. BCP /大容量插入
  3. 分佈式查詢/鏈接服務器
  4. SSIS

複製

  1. 應用需要數據從一個被合併或更多ervers到中央存儲庫
  2. 將您的報告功能把你的主SQL服務器到一個單獨的SQL服務器
  3. 支持大量的用戶羣來自多個服務器的
  4. 需要過濾的行/列

BCP/Bulk Insert

我對BCP實用程序並不是很熟悉,或者根據其他可用服務,它可能會有所幫助。這是貢獻會有幫助的地方!但這裏是我能收集:

  1. BCP:轉讓的事情很快
  2. 批量插入:有用的在線T-SQL的解決方案。可以預定。然而,數據格式必須是非常乾淨

分佈式查詢/鏈接服務器

  1. 鏈接服務器:提供獲取更廣泛的數據源不是SQL Server複製提供
  2. 鏈接服務器的:與複製不支持的數據源或需要臨時訪問的數據源連接
  3. 鏈接服務器:表現比OPENDATASOURCE或OPENROWSET更好
  4. OPENDATASOURCE和OPENROWSET功能:便於從臨時數據源中檢索數據。 OPENROWSET擁有BULK設施以及可能/可能不需要格式文件,可能是fiddley
  5. OPENQUERY:不支持變量
  6. 所有是T-SQL解決方案。比較容易實現,併成立
  7. 所有依賴於源和destionation之間的連接可能會影響性能和可擴展性

SSIS 我同樣不具有SSIS很多經驗。這是我知道的:

  1. 連接到不同的數據庫

你有什麼經驗和體會關於上述所有的方法呢?

回答

0

SSIS可以做的不僅僅是移動數據。它可以對XML文件執行操作,調用Web服務,發送電子郵件,執行任意腳本(2005年爲VB.NET,2008年爲C#)。它可以在MSMQ和WMI執行操作,電子表格和平面文件操作等

0

服務代理

  1. 極高的性能。與SQL Server引擎事務和數據訪問的緊密集成允許高數據吞吐量。
  2. 優惠reliable guaranteed delivery面對不可靠的網絡鏈接和通信夥伴可用性的停機時間。應用程序即使在脫機或未連接的情況下也可以簡單地發送數據,SSB將透明地處理所需的重試次數,同時保持準確一次完整的保證。
  3. 通過routes將物理位置與應用程序代碼解耦。應用程序可以發送到數據邏輯名稱,邏輯名稱到物理位置的分辨率在部署時得到解決,允許在拓撲更改時進行動態調整。
  4. 內置支持高可用性解決方案,集羣和鏡像。鏡像可以透明地進行部署,而無需更改應用程序,因爲只有路由更改。
  5. 跨域通信。基於證書的認證和授權允許在不相關的Windows域之間進行安全通信,如基於互聯網的B2B場景。
  6. Activation消息到達允許數據傳輸處理的動態可伸縮性。
  7. Correlated processing exclusive lock-out。對話組消除了從應用程序開發人員鎖定相關數據處理的負擔。只要會話組密鑰用作業務項目的數據分區密鑰,SSB就會保證沒有兩個請求將處理同一業務項目。
  8. Priority support。更高優先級的項目可以在隊列之前發送和處理。這適用於符合消息優先級的消息傳送基礎結構,並且動詞也基於優先級使消息出隊。
  9. 大規模部署。 SSB允許涉及數千個通信夥伴的解決方案。它內置支持deploying dedicated message forwarders作爲通信節點的通信複用,減少了物理連接(套接字)的數量,並允許後端連接到數量非常大的客戶端(數十和數十萬)。
  10. 用於向外擴展的內置負載平衡。新的數據處理站點可以作爲簡單的部署時間路由操作實時透明地添加。
  11. SSB是一個通用的通信框架,因此不提供盒外表複製功能(更改跟蹤,衝突解決或模式更改傳播),這些留作爲SSB應用程序的應用程序語義。
  12. 一切都是T-SQL。沒有新的語言學習,沒有新的工具來掌握。
  13. 用於設置,監控和故障排除的支持工具選擇不佳。SQL Server 2008 has a diagnostics tool可幫助解決大多數SSB運行時和部署問題。