[SQL SERVER]Hekaton-- Data Files in Windows Azure
透過SQL2014支援將datafile存放在Azure Blob(混和雲),實作我個人第一次Azure初體驗。
這項特性有以下優點,下面我將一步一步紀錄整個過程
1.簡單快速移轉
資料和Local Server完全切割,移轉時無需考慮資料存放位置。
2.HA和DR簡化優勢
成本考量下,我覺得利用這特性,把所有資料存放在一個DataCenter的Azure VM,DR移轉整個Azure VM。
3.安全性高
1.建立儲存體帳戶(前提是你得先註冊Windows Azure)
2.建立容器
取得主要金鑰
透過Azure Storage Explorer進行權限設定
新增儲存體帳戶
設定權限
點選Security並選擇Shared Access Policues tab,
新增sqlpolicy(給予Read、write、delete、list權限,並輸入開始和結束時間)
選擇Shared Access Signatures tab
點選 Generate Signatures
建立SQL認證
CREATE
CREDENTIAL [<path
to
the container>]
WITH
IDENTITY =
'SHARED ACCESS SIGNATURE'
SECRET =
'<SAS Key>'
這裡的認證需用我們之前所建立的Azure storage認證
測試連接Azure storage
帳號金鑰就是Azure storage的存取金鑰。
連接成功
Create DB on Azure
CREATE DATABASE MyDBonAzure
ON
(NAME = MyDBonAzure1, FILENAME = 'https://ricodbstorage.blob.core.windows.net/sqldata/MyDBonAzure1.mdf', SIZE = 50mb),
(NAME = MyDBonAzure2, FILENAME = 'https://ricodbstorage.blob.core.windows.net/sqldata/MyDBonAzure2.ndf', SIZE = 50mb),
(NAME = MyDBonAzure3, FILENAME = 'https://ricodbstorage.blob.core.windows.net/sqldata/MyDBonAzure3.ndf', SIZE = 50mb)
LOG ON
(NAME = MyDBonAzure_log, FILENAME = 'https://ricodbstorage.blob.core.windows.net/sqldata/MyDBonAzure_log.ldf', SIZE = 50mb)
將該資料庫的data and log file全部指到Azure storage。
200mb總共花了23秒(有一點慢)
建立成功。
建立資料表
create table mytest
(
c1 int identity(1,1),
c2 varchar(10),
c3 nvarchar(30) index idx1,
c4 datetime,
constraint PK_mytest primary key(c1)
)
SSMS管理
data file放在azure storage上,表示該DB有一些限制,詳細可以看MSDN,
資料都在雲端(azure),所有效能考量第一步就是要減少資料網路來回次數(善用cache & SP)和傳輸封包(記得啟用頁面壓縮),
當然還有計價方式也須注意。
參考
SQL Server 2014 and Windows Azure Blob Storage Service: Better Together