2014-06-10 49 views
0

我有一個客戶,他已經承諾他會在我們爲他託管的應用程序背後獲得數據庫的常規副本。SSIS或將數據庫的某些部分複製到同一服務器的複製?

該副本實際上是通過SFTP下載的備份(DB_EXPORT.BAK)。

(我知道,我沒有作出承諾)。我不想把所有的專有存儲過程,功能,用戶和其他東西全部給他。我想給他一個精簡版的數據庫與大多數表,只選擇sp的,一些功能,沒有用戶等。 當我看到有兩個方法可以做到這一點:

  1. 一個SSIS作業副本某些東西(使用導入/導出嚮導)
  2. 複製(快照或事務)

的東西是:原始(DB1)和副本(DB_EXPORT)將託管在同一臺服務器上。所以使用複製感覺有點尷尬(發佈給自己?),但它確實提供了一個簡單的界面來配置要複製的文章。使用SSIS包感覺更合乎邏輯,但實際上很難改變。

對此,你有什麼看法?有沒有更好的方法來做到這一點?我正在尋找一種方法,讓那些只是瞭解SQL服務器的人能夠理解。

感謝您與我思考!

+0

第二個數據庫的視圖如何指向源表(根據您使用的任何標準進行過濾)。然後你可以直接授予對第二分貝的訪問權限,而不需要複製數據。您需要在第二個數據庫中創建新的過程/函數,但是您可以節省存儲空間。由於用戶需要讀取訪問原始數據庫表的權限,因此請謹慎使用此路由。 – JiggsJedi

+0

那麼,副本將被備份併發送到客戶端,所以這不是可能的路線。 – Henrov

+1

明白了。我不相信你可以過濾快照中的行,所以你必須做跨國複製來獲得行過濾。但是,如果這是一個SFTP抓取,那麼您可能不需要最新的數據庫24/7 - 那麼您是否想要承擔複製的開銷?如果你不喜歡SSIS,你可以編寫一個簡單的存儲過程(假設你使用SQL2005 +),按計劃運行該過程,將數據合併到源目標中,然後在合併完成後調用備份作業。這將是我相信的投票。 – JiggsJedi

回答

0

不知道這是否是最佳答案,但我會根據我們的討論與快照複製一起去,並且避免使用TSQL腳本。

複製設置相對簡單,但可能是故障排除(特別是事務性)的噩夢。很多時候,它更容易完全刪除發佈/訂閱和重建。

在該說明中,您可以完全腳本複製配置 - 如果有其他人需要維護此配置,則可能與您腳本化複製刪除(pub和sub刪除)以及腳本化複製build-出。他們所要做的就是運行drop/build腳本並完成。

您還可以更改計劃作業以在生成快照後立即運行備份。

+0

@jiggsjedi的好貼士,尤其是適應預定的工作!現在有一項單獨的工作將其備份到磁盤上,少一份工作安排和擔心;) – Henrov

相關問題