Azure i OnPremise w jednym: Baza częściowo lokalnie a częściowo w chmurze

17-Mar-2015

Korzystając z Azure można mieć bazę częściowo lokalnie, na swojej maszynie, a częściowo w chmurze w Azure. Konfiguracja była trochę trudna, dlatego opisałem ją tutaj trochę dokładniej. Wymagana podstawowa znajomość Azure. Nie tłumaczę pojęć, tylko pokazuję kroki:

1. Tworzysz storage i zakładasz na nim container:

azure01

 

2. Ściągasz Azure Storage Explorer w wersji 5

3. Dodajesz w Azure Storage Explorer Account powiązane z utworzonym wcześniej storage account

azure2

 

Klucz pobierasz z Azure, klikając na Manage Access Keys:

azure3

4. W Azure Storage Explorer, mając zaznaczony kontener, kliknij Security. Zaczynamy od zakładki Shared Access Policies. Stwórz tu policy o dowolnej nazwie, określ daty od kiedy do kiedy będzie wolno korzystać z plików w Azure.

azure4

5. Zapisz zmiany i zamknij okno. Potem otwórz je jeszcze raz…

6. Teraz przejdź do zakładki Shared Access Signatures. Z listy Policy wybierz utworzoną w poprzednim kroku policy, a potem kliknij „Generate Signature”. Sygnaturę skopiuj przyciskiem Copy to clipboard.

azure5

7. Teraz w SQL Server Management Studio utwórz credential w następujący sposób:

CREATE CREDENTIAL [https://remotedb.blob.core.windows.net/datafiles] — this name should match the container path and it must start with https.
WITH IDENTITY=’SHARED ACCESS SIGNATURE’, — this is a mandatory string.
SECRET = ‚sr=c&si=remotedb&sig=oj1…………%3D’– this is your specific generated signature 
GO

Zwróć uwagę na sr=c&si=remotedb&sig= Jeśli do generowania SAS (Shared Access Signature) użyłbyś innej wersji Azure Storage Explorer’a, to wygenerowany klucz ma inną postać, a tymczasem wygląda na to, że tylko ta postać jest przyjmowana.

8. Utwórz bazę danych:

CREATE DATABASE remotedb
ON
( NAME = testdb_dat,
FILENAME = ‚https://remotedb.blob.core.windows.net/datafiles/TestLog.mdf’ )
LOG ON
( NAME = testdb_log,
FILENAME = ‚https://remotedb.blob.core.windows.net/datafiles/TestLog.ldf’)
go

Baza będzie utworzona lokalnie, ale pliki bazy będą się znajdowały w Azure. Jeśli chcesz dodać grupę plików znajdującą się lokalnie, dodaj do bazy kolejne pliki. Będziesz miał hybrydową bazę – pół w Azure, pół on premise

 

Lekcje o takim rozwiązaniu:

https://msdn.microsoft.com/en-us/library/dn466435.aspx

Opis znaczenia symboli z Shared Access Signature:

https://msdn.microsoft.com/en-us/library/azure/dn140255.aspx

Budowanie Shared Access Policy

https://msdn.microsoft.com/en-us/library/azure/dn140257.aspx

Dodaj komentarz:

Autor: Rafał Kraik