2012-08-08 24 views
0

我想知道通過SQL Azure完成database copy需要多少時間。我正在考慮一個場景,其中:複製SQL Azure數據庫的完成延遲?

  1. 首先填充單個數據庫,然後保持只讀狀態。
  2. 創建一組副本。
  3. 尷尬任務被並聯在每個副本(只讀)。
  4. 副本被刪除以降低託管成本。

這樣的場景是有道理的,如果在SQL Azure中數據庫副本是相當快的。

有沒有人有關於延遲完成的SQL Azure數據庫的副本,也許W/O數據庫的GB的大小的一些信息(假設小DB被複制比大得更快)?

補充問題:如果DB的10個人副本都在同一時間觸發,將需要10倍的時間來完成10副本?或者SQL Azure支持這種操作的某種程度的並行化。

回答

0

我有需要多長時間來複制不同大小的數據塊沒有經驗的數字,但在我的經驗,時間通常是分鐘。對於我經常使用的DB小於100MB,我允許5分鐘,但這可能非常慷慨。我偶爾會複製大型數據庫,但似乎並沒有那麼大,我懷疑很多時間都是花在配置新的數據庫上,而不是複製數據。

我在猜測如果您啓動了多個副本會發生什麼,但是由於SQL Azure基礎結構,如果同時啓動多個副本,如果存在很多緩慢下降的情況,我會感到驚訝。

我不知道你想要整個過程需要多長時間,但我認爲這基本上是一個好主意。我強烈建議你做一些你自己的基準測試。

0

我發現它特別慢。我剛剛複製了一個小小的3.45MB數據庫,花了超過5分鐘。它從6:42開始,6點49分完成。

這只是使用SQL命令行create with copy。例如:

CREATE DATABASE NewDB AS COPY OF OldDB; 

我不確定這筆交易是什麼 - 每當我去檢查進度,它沒有顯示任何內容,然後突然它就完成了。

如:

SELECT * FROM sys.dm_database_copies c 
JOIN sys.databases d ON c.database_id = d.database_id 
WHERE databases.name = 'NewDB'; 

的PERCENT_COMPLETE欄爲空我看了各一次。我實際上擔心我做錯了什麼...