web-dev-qa-db-ja.com

Ola Maintenance Solutionとストライプ化されたAzure URLバックアップ-可能ですか?

Azureに移動してバックアップターゲットにBLOBを使用し始めた後も、私たちは長年、事実上の標準のOla Hallengrinメンテナンスソリューションを使用しています。ただし、パフォーマンス上の理由から、私はページブロブではなくブロックブロブを介してバックアップし、資格情報ではなく共有アクセス署名を持つストレージコンテナーを活用し、バックアップと復元に一度に4〜8個のURLパスを使用することを検討してきました。結果は非常に明確です-非圧縮バックアップで30MB /秒の復元パフォーマンス、圧縮バックアップで70MB /秒の復元パフォーマンス、それぞれ1x URL。 4x URLの場合、MAXTRANSFERSIZE = 4194304、およびBLOCKSIZE = 65536、.. 131MB/s。 8x URL、245MB /秒。バックアップについても同様です。

Olaのパッケージを引き続き活用する方法を誰かが知っているかどうかを確認するために書いています。パッケージのURLサポート構造は認証情報ベースのページBLOBで機能するようですが、SAS&ストライピングURLのロジックはありません。これが違いを生むとは思わなかったでしょうが、昼も夜も。

私はこのドキュメントから始めて、成功への道を歩みました: https://blogs.msdn.Microsoft.com/sqlcat/2017/03/10/backing-up-a-vldb-to-Azure-blob- storage /

以下のテストデータベースはディスク上で約85 GBであり、常に44 GBに圧縮されます。

BACKUP DATABASE [yeahokyeahok] TO  
 URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194161.bak'  
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194161_2.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194161_3.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194161_4.bak' 
--,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194161_5.bak' 
-- URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194161_6.bak'
WITH NOFORMAT, NOINIT,  NAME = N'yeahokyeahok-Full Database Backup', NOSKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

--with 2x backup file;  174MB/s average ; 44GB (416s RT) DS14 no read cache, cool storage
--with 3x backup file;  208MB/s average ; 44GB (348s RT) DS14 no read cache, cool storage
--with 4x backup file;  236MB/s average ; 44GB (306s RT) DS14 no read cache, cool storage
--with 5x backup file;  208MB/s average ; 44GB (348s RT) DS14 no read cache, cool storage
--with 6x backup file;  227MB/s average ; 44GB (320s RT) DS14 no reac cache, cool storage

RESTORE DATABASE [yeahokyeahok] FROM 
 URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194157.bak'  
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194157_2.bak' 
--,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194159_3.bak' 
--,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194159_4.bak' 
--,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194159_5.bak' 
--,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194159_6.bak'
WITH STATS = 10, REPLACE

--with 2x backup file;   47MB/s average ; 44GB (1519s RT) DS14 no cache, cool storage
--with 4x backup file;   83MB/s average ; 44GB ( 874s RT) DS14 no cache, cool storage
--with 6x backup file;  113MB/s average ; 44GB ( 642s RT) DS14 no cache, cool storage


BACKUP DATABASE [yeahokyeahok] TO  
 URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194162.bak'  
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194162_2.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194162_3.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194162_4.bak' 
--,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194161_5.bak' 
-- URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194161_6.bak'
WITH NAME = N'yeahokyeahok-Full Database Backup',  STATS = 10, MAXTRANSFERSIZE = 4194304, BLOCKSIZE = 65536 
GO

--with 4x backup file; 236MB/s average ; 44GB ( 305 RT) DS14 no cache, cool storage, mtx & bs

RESTORE DATABASE [yeahokyeahok] FROM 
 URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194162.bak'  
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194162_2.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194162_3.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194162_4.bak' 
with STATS = 10, REPLACE, MAXTRANSFERSIZE = 4194304, BLOCKSIZE = 65536

--with 4x backup file; 131MB/s average ; 44GB ( 508 RT) DS14 no cache, cool storage, mtx & bs


BACKUP DATABASE [yeahokyeahok] TO  
 URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165.bak'  
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_2.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_3.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_4.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_5.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_6.bak'
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_7.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_8.bak'
WITH NAME = N'yeahokyeahok-Full Database Backup',  STATS = 10, MAXTRANSFERSIZE = 4194304, BLOCKSIZE = 65536 
GO

--with 8x backup file; 228MB/s average ; 44GB ( 316 RT) DS14 no cache, cool storage, mtx & bs


RESTORE DATABASE [yeahokyeahok] FROM 
 URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165.bak'  
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_2.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_3.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_4.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_5.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_6.bak'
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_7.bak' 
,URL = N'https://az1yeahok01.blob.core.windows.net/adamtest01/yeahokyeahok_backup_2018_03_08_194165_8.bak'
with STATS = 10, REPLACE, MAXTRANSFERSIZE = 4194304, BLOCKSIZE = 65536


--with 8x backup file;  245MB/s average ; 44GB ( 295s RT) DS14 no cache, cool storage
2
Adam Chandley

Azure Blob Storageへのバックアップのストライプ化のサポートを追加しました。 https://ola.hallengren.com/versions.html

以下にその仕組みを示します。

EXECUTE dbo.DatabaseBackup 
@Databases = 'USER_DATABASES'
, @URL = 'https://account.blob.core.windows.net/container'
, @BackupType = 'FULL'
, @Verify = 'Y'
, @Compress = 'Y'
, @CheckSum = 'Y'
, @NumberOfFiles = 8
, @MaxTransferSize = 4194304
, @BlockSize = 65536
5
Ola Hallengren