Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00052 005241 12586894 na godz. na dobę w sumie
Microsoft Azure SQL Database Krok po kroku - ebook/pdf
Microsoft Azure SQL Database Krok po kroku - ebook/pdf
Autor: , Liczba stron:
Wydawca: Promise Język publikacji: polski
ISBN: 978-83-7541-203-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych
Porównaj ceny (książka, ebook, audiobook).

Praktyczny przewodnik po podstawach SQL Database Rozszerz swoje umiejętności i samodzielnie poznaj podstawy platformy Microsoft Azure SQL Database. Jeśli jesteś doświadczonym projektantem oprogramowania lub specjalistą od baz danych, ale nowicjuszem w dziedzinie chmury Microsoft Azure lub SQL Database, znajdziesz tu wskazówki, ćwiczenia i przykłady kodu potrzebne do opanowania podstawowych zagadnień i technik. Dowiedz się, jak:

• Szybko uruchomić serwer i bazę danych w chmurze
• Zaprojektować, wypełnić danymi i odpytywać bazę danych
• Tworzyć i zarządzać serwerami, regułami zapory i bazami danych
• Opanować narzędzia i techniki potrzebne do migrowania danych
• Sprawdzać i konfigurować ustawienia zabezpieczeń, kopii zapasowych i przywracania po awariach
• Skonfigurować SSRS i raportowanie na maszynie wirtualnej w chmurze Microsoft
• Zautomatyzować replikację danych i zadania zarządzania
• Budować wielowarstwowe rozwiązania w chmurze
• Monitorować i dostrajać wydajność

O autorach Leonard G. Lobel, Microsoft MVP w dziedzinie SQL Server, jest głównym konsultantem w firmie Tallan, Inc., Microsoft National Systems Integrator and Gold Competency Partner, i jednym z wiodących ekspertów branżowych w zakresie .NET i SQL Server. Eric D. Boyd, MVP w dziedzinie Microsoft Azure, jest założycielem i dyrektorem generalnym responsiveX, firmy konsultingowej skupiającej się na aplikacjach i usługach w chmurze. Jest częstym wykładowcą na konferencjach branżowych, regionalnych i w lokalnych grupach użytkowników. Pliki ćwiczeń i przykłady dostępne pod adresem http://aka.ms/AzureSQLDB_SBS

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Leonard G. Lobel Eric D. Boyd Microsoft® AzureTM SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Microsoft® Azure™ SQL Database Krok po kroku Authorized Polish translation of the English language edition entitled: Microsoft® Azure™ SQL Database Step by Step, ISBN: 978-0-7356-7942-9 by Leonard G. Lobel and Eric D. Boyd, published by Pearson Education, Inc, publishing as Microsoft Press, A Division Of Microsoft Corporation. Copyright © 2014 by Leonard G. Lobel and Eric D. Boyd All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. Polish language edition published by APN PROMISE SA Copyright © 2014 Autoryzowany przekład z wydania w języku angielskim, zatytułowanego: Microsoft® Azure™ SQL Database Step by Step, ISBN: 978-0-7356-7942-9 by Leonard G. Lobel and Eric D. Boyd, opublikowanego przez Pearson Education, Inc, publikującego jako Microsoft Press, oddział Microsoft Corporation. Wszystkie prawa zastrzeżone. Żadna część niniejszej książki nie może być powielana ani rozpowszechniana w jakiejkolwiek formie i w jakikolwiek sposób (elektroniczny, mechaniczny), włącznie z fotokopiowaniem, nagrywaniem na taśmy lub przy użyciu innych systemów bez pisemnej zgody wydawcy. APN PROMISE SA, biuro: ul. Kryniczna 2, 03-934 Warszawa tel. +48 22 35 51 600, fax +48 22 35 51 699 e-mail: mspress@promise.pl Książka ta przedstawia poglądy i opinie autorów. Przykłady firm, produktów, osób i wydarzeń opisane w niniejszej książce są fikcyjne i nie odnoszą się do żadnych konkretnych firm, produktów, osób i wydarzeń, chyba że zostanie jednoznacznie stwierdzone, że jest inaczej. Ewentualne podobieństwo do jakiejkolwiek rzeczywistej firmy, organizacji, produktu, nazwy domeny, adresu poczty elektronicznej, logo, osoby, miejsca lub zdarzenia jest przypadkowe i niezamierzone. Nazwa Microsoft oraz znaki towarowe wymienione na stronie http://www.microsoft.com/about/ legal/en/us/IntellectualProperty/Trademarks/EN-US.aspx są zastrzeżonymi znakami towarowymi grupy Microsoft. Wszystkie inne znaki towarowe są własnością ich odnośnych właścicieli. APN PROMISE SA dołożyła wszelkich starań, aby zapewnić najwyższą jakość tej publikacji. Jednakże nikomu nie udziela się rękojmi ani gwarancji. APN PROMISE SA nie jest w żadnym wypadku odpowiedzialna za jakiekolwiek szkody będące następstwem korzystania z informacji zawartych w niniejszej publikacji, nawet jeśli APN PROMISE została powiadomiona o możliwości wystąpienia szkód. ISBN: 978-83-7541-153-9 Przekład: Marek Włodarz Korekta: Ewa Swędrowska Skład i łamanie: MAWart Marek Włodarz ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 1 Poznajemy Microsoft Azure SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . 1 Przetwarzanie w chmurze: przedstawienie pojęcia . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Natychmiastowe, dynamiczne wdrażanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Chmura Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Rejestrowanie się dla SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Tworzenie konta Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Tworzenie subskrypcji Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Tworzenie serwera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Tworzenie instancji SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Korzystanie z portalu zarządzania SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Projektowanie tabel i relacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Wstawianie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Odpytywanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Poznawanie dodatkowych możliwości portalu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2 Konfiguracja i ceny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Korzystanie z portalu zarządzania platformą Microsoft Azure . . . . . . . . . . . . . . . 33 Tworzenie nowej bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Ustawianie reguł zapory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Uzyskiwanie łańcucha połączenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Usuwanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Korzystanie z SQL Server Management Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Łączenie się z SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Tworzenie nowej bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Zmienianie wydania i maksymalnego rozmiaru bazy danych . . . . . . . . . . . . . . . 47 Usuwanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Korzystanie z PowerShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Instalowanie poleceń cmdlet dla Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . 47 Korzystanie z PowerShell ISE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Konfigurowanie PowerShell dla konta Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Tworzenie nowego serwera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Tworzenie nowej bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Usuwanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== iii iv Spis treści Planowanie budżetu dla SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Magazyn SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Pasmo klienckie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Magazyn dla kopii zapasowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Pasmo magazynu kopii zapasowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Wsparcie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Optymalizacja kosztów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Konfigurowanie wydania i rozmiaru bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . 60 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3 Różnice pomiędzy SQL Server a Microsoft Azure SQL Database . . . . 63 Ograniczenia rozmiaru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Ograniczenia połączeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Nieobsługiwane funkcjonalności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4 Migrowanie baz danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Przygotowania wstępne do migracji danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Migrowanie danych za pomocą skryptów Transact-SQL . . . . . . . . . . . . . . . . . . . . 72 Konfigurowanie lokalnej bazy danych SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . 72 Wypełnianie bazy danych przy użyciu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Generowanie skryptów T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Aplikacje warstwy danych SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Tworzenie konta w Microsoft Azure Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Eksportowanie BACPAC do Microsoft Azure Storage . . . . . . . . . . . . . . . . . . . . . . 83 Importowanie pliku BACPAC do Microsoft Azure SQL Database . . . . . . . . . . . . . 86 SQL Server Bulk Copy (bcp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Migrowanie schematu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Eksportowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Importowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 SQL Database Migration Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Pobieranie narzędzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Migrowanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5 Bezpieczeństwo i kopie zapasowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Główne obawy dotyczące chmury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Odpowiedzialność dostawcy chmury publicznej za bezpieczeństwo . . . . . . . . 108 Wspólna odpowiedzialność za zabezpieczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Bezpieczeństwo w Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści v Zabezpieczanie SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Tworzenie bazy danych SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Konfigurowanie zapory SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Uwierzytelnianie i autoryzowanie użytkowników . . . . . . . . . . . . . . . . . . . . . . . . . 117 Tworzenie kopii zapasowej SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Kopiowanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Monitorowanie postępów operacji kopiowania bazy danych . . . . . . . . . . . . . . 126 Eksportowanie pliku BACPAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Importowanie pliku BACPAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Tworzenie harmonogramu eksportowania BACPAC . . . . . . . . . . . . . . . . . . . . . . 133 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6 Raportowanie w chmurze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Tworzenie maszyny wirtualnej dla SQL Server Reporting Services . . . . . . . . . . 139 Tworzenie maszyny wirtualnej z galerii obrazów . . . . . . . . . . . . . . . . . . . . . . . . . 140 Konfigurowanie SSRS na maszynie wirtualnej . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Otwieranie dostępu przez zaporę do serwera raportów . . . . . . . . . . . . . . . . . . . 145 Tworzenie przykładowej bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Korzystanie z Report Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Instalowanie Report Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Tworzenie raportu przy użyciu Report Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Korzystanie z projektów Visual Studio Report Server . . . . . . . . . . . . . . . . . . . . . 167 Instalowanie bazy danych AdventureWorks2012 w SQL Database . . . . . . . . . . 168 Instalowanie SSDT Business Intelligence dla Visual Studio 2012 . . . . . . . . . . . . 171 Tworzenie raportu przy użyciu Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Implementowanie zabezpieczeń raportu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Wyłączanie maszyny wirtualnej SSRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 7 Microsoft Azure SQL Data Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Poznawanie SQL Data Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Eksportowanie danych z SQL Server do SQL Database . . . . . . . . . . . . . . . . . . . . 193 Importowanie danych z SQL Database do SQL Server . . . . . . . . . . . . . . . . . . . . 194 Współużytkowanie danych w wielu lokalizacjach . . . . . . . . . . . . . . . . . . . . . . . . . 195 Skalowanie usług . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Tworzenie bazy SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== vi Spis treści Korzystanie z SQL Data Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Tworzenie grupy synchronizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Tworzenie reguł synchronizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Wykonywanie ręcznej synchronizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Definiowanie rozwiązywania konfliktów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Tworzenie harmonogramu automatycznej synchronizacji . . . . . . . . . . . . . . . . . 218 Tworzenie lokalnej bazy SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Tworzenie agenta synchronizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Potencjalne pułapki i najlepsze praktyki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 8 Projektowanie i dostrajanie na potrzeby skalowalności i wysokiej wydajności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Osiąganie wysokiej wydajności w chmurze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Tworzenie API typu RESTful . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Tworzenie przykładowej bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Tworzenie nowego rozwiązania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Tworzenie projektu ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Dodawanie kodu pierwszego kontrolera Web API (typu Entity Framework). . 244 Testowanie Web API Wine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Dodawanie kontrolera Web API ADO.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Testowanie Web API Customer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Zarządzanie połączeniami SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Otwierać późno, zamykać wcześnie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Korzystanie z pul połączeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Przywracanie po błędach połączeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Dodawanie Transient Fault Handling Application Block . . . . . . . . . . . . . . . . . . . 256 Stosowanie Transient Fault Handling Application Block w ADO.NET . . . . . . . . 258 Stosowanie Transient Fault Handling Application Block w Entity Framework . 260 Redukowanie opóźnień sieciowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Umieszczanie usług blisko siebie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Minimalizowanie ponownych obiegów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Efektywne korzystanie z SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Używanie najlepszej usługi magazynowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Optymalizowanie zapytań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Skalowanie SQL Database w górę . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Partycjonowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Skalowanie przy użyciu partycji funkcjonalnych . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Skalowanie przy użyciu partycjonowania horyzontalnego . . . . . . . . . . . . . . . . . 273 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści vii 9 Monitorowanie i zarządzanie SQL Database . . . . . . . . . . . . . . . . . . . . . 283 Tworzenie przykładowej bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Monitorowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Stosowanie portalu zarządzania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Tablica kontrolna Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Portal zarządzania SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Dynamiczne widoki i funkcje zarządzania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Programowanie API typu REST do zarządzania usługą . . . . . . . . . . . . . . . . . . . . 303 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 10 Budowanie rozwiązania w chmurze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Tworzenie bazy danych SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Rozbudowywanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Tworzenie nowego rozwiązania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Tworzenie projektu typu SQL Server Database . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Ustawianie platformy docelowej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Importowanie bazy SQL Database do projektu . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Dodawanie nowej kolumny do tabeli Wine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Wdrażanie zmodyfikowanego projektu z powrotem w Microsoft Azure SQL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Tworzenie tabeli Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Tworzenie procedur składowanych dla tabeli Order . . . . . . . . . . . . . . . . . . . . . . 331 Tworzenie warstwy dostępu do danych (DAL) . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Wprowadzenie do Entity Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Tworzenie projektu Data Access Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Tworzenie Entity Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Tworzenie witryny Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Tworzenie projektu aplikacji Web ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Dodawanie referencji do warstwy dostępu do danych . . . . . . . . . . . . . . . . . . . . 348 Tworzenie interfejsu użytkownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Lokalne testowanie witryny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Wdrażanie witryny w Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Tworzenie usług Web Api ASP .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Dodawanie kontrolera Web API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Testowanie Web API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Wdrażanie Web API w chmurze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== viii Spis treści Tworzenie aplikacji Windows Phone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Instalowanie Windows Phone SDK 8.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Tworzenie projektu typu Windows Phone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Dodawanie Json.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Tworzenie głównej strony aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Testowanie aplikacji Windows Phone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Indeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 O autorach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wprowadzenie Microsoft Azure SQL Database to działająca w chmurze wersja Microsoft SQL Server, czyli doskonale znanej platformy relacyjnej bazy danych. Niezależnie od pew- nych wartych odnotowania różnic, SQL Database (krótsza nazwa Microsoft Azure SQL Database) jest w większości kompatybilna z SQL Server, zatem doświadczenie już zdobyte przy pracy z SQL Server może być w znacznym stopniu bezpośrednio zastoso- wane w SQL Database. Jeśli jesteś profesjonalistą od oprogramowania, rozważającego wykorzystanie chmury jako platformy dla bazy danych w swojej kolejnej aplikacji, SQL Database może być właśnie tym narzędziem, którego potrzebujesz. A jeśli chcesz szybko dołączyć do tej rozwijającej się platformy, bez względu na to, czy masz już jakieś doświadczenia z SQL Server, czy nie, ta książka na pewno w tym pomoże. Microsoft Azure SQL Database krok po kroku proponuje uporządkowaną wycieczkę po platformie SQL Database. Naszym celem było pokazanie SQL Database od początku do końca z zachowaniem rozsądnej równowagi pomiędzy zakresem tematyki i zagłę- bianiem się w szczegóły. W pierwszym rozdziale szybko utworzymy pierwszą bazę danych w Microsoft Azure. Do końca ostatniego rozdziału zbudujemy pełne, wielo- warstwowe rozwiązanie bazodanowe w chmurze – obejmujące witrynę Web i aplikację dla Windows Phone 8 – w pełni oparte na SQL Database. W każdym z rozdziałów będziemy poznawali inne oblicze SQL Database i wiele z towarzyszących jej technolo- gii. SQL Database to rozległy temat, ale staraliśmy się tak skonstruować każdy rozdział, aby zajmować się tylko jedną rzeczą na raz i pokazywać łatwe do naśladowania proce- dury, które pozwalają przenieść wyrafinowane koncepcje na bezpośrednie zastosowa- nia praktyczne. Nasza wiedza będzie rosła w każdym rozdziale w miarę poznawania zagadnień konfigurowania, migracji, zabezpieczeń, kopii zapasowych i wielu innych. Wielka różnica pomiędzy oprogramowaniem działającym lokalnie (w siedzibie fir- my – on-premises) a usługami w chmurze polega na tym, że tę drugą można aktualizo- wać i rozbudowywać znacznie częściej i prościej, niż pierwszą, jako że w przypadku chmury nie jest wymagana żadna instalacja czy tworzenie infrastruktury klienckiej. Z drugiej strony usługi w chmurze podlegają również częstym zmianom, jeśli chodzi o ich cenę. Z tych względów funkcje, ograniczenia, koszty, interfejs użytkownika, a nawet sama nazwa Microsoft Azure SQL Database, opisane w tej książce, mogą zmienić się do czasu, gdy książka trafi do rąk Czytelnika. Na przykład, krótko przed skierowaniem książki do druku platforma nazywana wcześniej Windows Azure została przemianowana na Microsoft Azure. (Choć tytuł książki i tekstowe odsyłacze zosta- ły odpowiednio zaktualizowane, wiele zrzutów ekranowych nadal pokazuje starszą ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ix x Wprowadzenie nazwę Windows Azure). Jednak niezależnie od potencjalnych zmian tego rodzaju zasa- dy i techniki omawiane w książce pozwolą osiągnąć poziom sprawnego posługiwania się Microsoft Azure SQL Database. Uwaga W miarę ewolucji platformy Azure zmieniamy się wraz z nią. Choć pierwsze wy- danie dopiero zostało wysłane do druku, pracujemy intensywnie nad następnym wydaniem z  rozszerzonym omówieniem nowo przedstawionych (zapowiedzianych) wydań Basic, Standard i Premium. Te nowe warstwy usługi (których dostępność była jeszcze ograniczona do wersji testowej w chwili pisania tych słów) pozwalają obsłużyć większe i bardziej skalo- walne bazy danych, niż oferowane przez obecne wydania Web i Business. Kolejne wydanie zostanie również uzupełnione o nowy portal zarządzania, który jest obecnie opracowywa- ny przez firmę Microsoft. Kto powinien przeczytać tę książkę Książka ta ma pomóc deweloperom oprogramowania i profesjonalistom bazodanowym zrozumieć podstawowe koncepcje Microsoft Azure SQL Database i powiązane z nią technologie. Czytelnicy mogą nie mieć żadnego lub tylko niewielkie doświadczenie w pracy z SQL Server i nie stanowi to żadnego problemu. Naszą wycieczkę rozpoczy- namy od samego początku i zapewniamy dobry punkt startowy, nawet jeśli Czytelnik nie dysponuje żadną wiedzą o SQL Server lub koncepcjach relacyjnych baz danych. Książka będzie też użyteczna dla osób, które dobrze znają lokalne instalacje SQL Server i są zainteresowane tworzeniem nowych aplikacji wykorzystujących SQL Database lub tych, którzy chcą przenieść istniejące rozwiązania działające lokal- nie do chmury. Założenia Nie zakładamy ani nie wymagamy żadnego wcześniejszego doświadczenia ani wie- dzy dotyczącej Microsoft Azure (i w ogólności – przetwarzania w chmurze). Co wię- cej, choć znajomość Microsoft SQL Server na pewno jest przydatna, również nie jest wymagana. Kilka rozdziałów odwołuje się do programowania na platformie .NET. Także w tym przypadku wcześniejsze doświadczenia w pracy z Microsoft Visual Studio i językiem C# będzie pomocne, ale niekonieczne. Procedury zawarte w tych rozdziałach zawierają cały potrzebny kod wraz z jasnym wyjaśnieniem jego działania. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Ta książka może nie być odpowiednia, jeśli… xi Ta książka może nie być odpowiednia, jeśli… Książka ta nie jest przeznaczona dla osób, które już mają rozległą wiedzę i doświadcze- nie w pracy z SQL Database i szukają pogłębionych informacji o wewnętrznych mecha- nizmach lub innych specjalistycznych zagadnieniach, które nie zostały przedstawione w tej książce. Tym niemniej książka nadal zawiera informacje, które mogą się okazać użyteczne także dla doświadczonych użytkowników. Z tego względu sugerujemy przej- rzeć omówienia poszczególnych rozdziałów w kolejnym podrozdziale. Organizacja książki Książka zawiera dziesięć rozdziałów, z których każdy skupia się na innym aspekcie Microsoft Azure SQL Database. Większość Czytelników powinna rozpocząć od roz- działu 1 i posuwać się dalej konsekwentnie, ale można też sobie wyobrazić czytanie w dowolnie wybranej kolejności. W każdym przypadku Czytelnik znajdzie praktyczne wskazówki i sposoby postępowania, które pomogą wykonać pracę z SQL Database. ■■ Rozdział 1  – Poznajemy Microsoft Azure SQL  Database Otwierający roz- dział zawiera ogólny przegląd platformy SQL Database. Po krótkim omówieniu przetwarzania w chmurze utworzymy konto Microsoft (o ile Czytelnik jeszcze go nie ma) i próbną (bezpłatną) subskrypcję Microsoft Azure. Następnie nauczy- my się, jak posługiwać się portalem zarządzania Microsoft Azure do tworzenia serwerów i baz danych. Później przejdziemy do korzystania z portalu zarządza- nia SQL Database, w którym będziemy projektować tabele, widoki i procedury składowane, a następnie wypełniać tabele przykładowymi danymi i wykonywać zapytania. Żadne narzędzia lokalne nie są wymagane, aby przejść wszystkie pro- cedury zawarte w tym rozdziale; wszystko, czego potrzebujemy, to przeglądarka sieci Web i dostęp do Internetu. ■■ Rozdział 2  – Konfiguracja i  ceny Po przedstawieniu podstaw ten rozdział wyjaśnia dodatkowe opcje konfigurowania SQL Database, wykraczające poza sto- sowanie przeglądarki i portali, omówione w rozdziale 1. Nauczymy się, jak połą- czyć się z SQL Database przy użyciu standardowych narzędzi lokalnych, takich jak SQL Server Management Studio (SSMS) oraz SQL Server Data Tools (SSDT), stanowiące część Visual Studio. Dowiemy się też, jak konfigurować i zarządzać SQL Database przy użyciu powłoki PowerShell, wykorzystując moduł poleceń cmdlet Microsoft Azure dla PowerShell. Rozdział kończy omówienie struktury kosztów dotyczących SQL Database i wskazówki pomagające w zaplanowaniu budżetu dla rozwiązania SQL Database. ■■ Rozdział 3 – Różnice pomiędzy SQL Server a Microsoft Azure SQL Database Czytelnicy dysponujący doświadczeniem w pracy z SQL Server będą chcieli poznać ważne różnice pomiędzy silnikiem relacyjnej bazy danych działającym w siedzibie firmy a implementacją SQL Database w chmurze Microsoft Azure. Ten ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xii Wprowadzenie krótki rozdział zawiera wyliczenie tych różnic i wyjaśnia ich przyczyny. Tam, gdzie to możliwe, zasugerowaliśmy również obejścia dla funkcji SQL Server, które nie są wspierane w SQL Database. ■■ Rozdział 4 – Migrowanie baz danych Przy budowaniu systemu mającego dzia- łać w chmurze Microsoft Azure często zachodzi potrzeba przeniesienia baz danych z istniejących serwerów SQL Server do SQL Database. Istnieje wiele technik i narzędzi, których można użyć w celu przemigrowania baz danych SQL Database. W tym rozdziale pokażemy wykorzystanie do tego celu skryptów Transact-SQL, mechanizmu SQL Data-Tier Applications, kopiowania masowego oraz kreatora SQL Database Migration Wizard. ■■ Rozdział 5 – Bezpieczeństwo i kopie zapasowe Bezpieczeństwo, dostępność i możliwość przywrócenia po awarii to czołowe pozycje na liście rzeczy, które klienci rozważają zastanawiając się nad korzystaniem z usług publicznej chmury. W tym rozdziale poznamy mechanizmy zabezpieczeń dostępne w Microsoft Azure. Pokażemy, jak zabezpieczyć bazę danych SQL Database przy użyciu reguł zapory, a także jak tworzyć użytkowników i przypisywać uprawnienia. Na koniec omó- wimy sposoby przywracania po awariach przy użyciu technik kopii zapasowych udostępnianych przez SQL Database. ■■ Rozdział 6 – Raportowanie w chmurze Jeśli mamy już bazę danych zawierającą jakieś informacje, jest tylko kwestią czasu, gdy pojawi się wymóg tworzenia rapor- tów dotyczących tych danych. Gdy baza ta jest hostowana w chmurze Microsoft Azure, naturalne jest rozważenie umieszczenia w tej chmurze również rozwiązania raportującego. W tym rozdziale dowiemy się, jak utworzyć maszynę wirtualną (VM) w Azure, hostującą SQL Server Reporting Services (SSRS) w chmurze (nie jest wymagane wcześniejsze doświadczenie w pracy z SSRS). Po skonfigurowaniu VM pokażemy, jak budować raporty SSRS przy użyciu dwóch narzędzi autorskich: Report Builder oraz SSDT Business Intelligence dla Visual Studio. Po zbudowaniu i przejrzeniu raportów lokalnie nauczymy się, jak wdrożyć je na maszynie wirtu- alnej, aby zbudować pełne rozwiązanie działające w chmurze. ■■ Rozdział 7 – Microsoft Azure SQL Data Sync W tym rozdziale nauczymy się, jak wykorzystać usługę SQL Data Sync dostępną w Microsoft Azure do repliko- wania danych pomiędzy wieloma bazami danych. Poznamy architekturę gwiaz- dy, na której oparta jest usługa, a następnie pokażemy, jak wykorzystać usługę SQL Data Sync do implementowania rozwiązań w rozmaitych scenariuszach, w tym jedno- i dwukierunkowe replikacje w zbiorze baz danych rozmieszczonych w różnych lokalizacjach. Procedury w tym rozdziale poprowadzą Czytelnika poprzez proces konfigurowania usługi SQL Data Sync i tworzenia grup synchro- nizacji obejmujących zarówno bazy danych hostowane w chmurze (w Microsoft Azure SQL Database), jak i w siedzibie (używające SQL Server). Nauczymy się też, jak konfigurować strategię rozwiązywania konfliktów i włączyć harmonogram automatycznej synchronizacji. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Konwencje stosowane w książce xiii ■■ Rozdział 8 – Projektowanie i dostrajanie na potrzeby skalowalności i wysokiej wydajności Aplikacje i systemy przeznaczone do rzeczywistych zastosowań pro- dukcyjnych muszą zapewniać dobrą wydajność i niezawodność działania. W tym rozdziale zajmiemy się optymalizacją i dostrajaniem wydajności bazy danych w SQL Database. Następnie poprawimy stabilność aplikacji poprzez zarządzanie połączeniami bazy danych i obsługą błędów połączeń, wykorzystując zarówno ADO.NET, jak i platformę Entity Framework. Na koniec pokażemy, jak wykonać skalowanie bazy danych w SQL Database przy użyciu specjalnej techniki party- cjonowania znanej jako sharding. ■■ Rozdział 9 – Monitorowanie i zarządzanie SQL Database Usługi używane w aplikacjach produkcyjnych muszą zapewniać możliwości monitorowania i zarzą- dzania. W tym rozdziale dowiemy się, jak monitorować kondycję SQL Database przy użyciu portalu zarządzania, tablicy kontrolnej Microsoft Azure i dynamicz- nych widoków i funkcji zarządzania. Nauczymy się też, jak programowo zauto- matyzować operacje w SQL Database przy użyciu opartego na standardzie REST komponentu Service Management API. ■■ Rozdział 10 – Budowanie rozwiązania w chmurze W końcowym rozdziale książki pokażemy budowanie kompletnego rozwiązania w chmurze, opartego na Microsoft Azure SQL Database. Mówiąc konkretnie, zbudujemy rozwiązanie Visual Studio, zawierające projekt bazodanowy SQL Server Database, warstwę dostępu do danych Entity Framework, witrynę ASP.NET MVC oraz usługę Web API. Rozwiązanie to będzie tworzyło witrynę do składania zamówień oraz usłu- gi Web i aplikację Windows Phone 8 pozwalającą na odczytywanie, dodawanie i modyfikowanie danych przechowywanych w SQL Database. Konwencje stosowane w książce Treści zawarte w książce wykorzystują kilka konwencji, które mają na celu zapewnić większą czytelność: ■■ Każda procedura składa się z serii zadań przedstawianych jako numerowane kroki (1, 2 i tak dalej) wyliczające wszystkie akcje, które trzeba podjąć, aby ukończyć ćwiczenie. ■■ Elementy w ramkach, takie jak „Uwaga” lub „Wskazówka”, zawierają dodatkowe informacje lub alternatywne metody realizacji danego zadania. ■■ Tekst, który ma zostać wpisany przez Czytelnika (poza blokami kodu), jest wytłuszczony. ■■ Nazwy poleceń, elementów menu i opcji, które należy kliknąć lub które po pro- stu identyfikują elementy interfejsu, są wyróżnione czcionką bezszeryfową. Przy pierwszym użyciu jakiegoś terminu w nawiasie podawane jest jego tłumaczenie na język polski. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xiv Wprowadzenie ■■ Nazwy elementów programowych, adresy internetowe oraz nowe lub ważne poję- cia prezentowane są kursywą. ■■ Znak plus (+) pomiędzy nazwami klawiszy oznacza, że klawisze te należy nacisnąć jednocześnie. Na przykład „Naciśnij Alt+Tab” oznacza, że klawisz Alt musi być przytrzymany, gdy naciskamy klawisz Tab. ■■ Pionowa kreska pomiędzy elementami menu (na przykład File | Close) oznacza, że należy wybrać pierwszy element menu, a następnie drugi z menu podrzędnego (i tak dalej, jeśli elementów jest więcej). Wymagania systemowe Zasadniczo nie istnieją specjalne wymagania systemowe do pracy z SQL Database. Portal Microsoft Azure wymaga jedynie kompatybilnej przeglądarki Web oraz dostępu do Internetu. Korzystanie z portalu zarządzania SQL Database wymaga przeglądarki z zainstalowaną wtyczką Silverlight. Niektóre rozdziały zawierają procedury wykorzystujące narzędzia zainstalowane lokalnie – zazwyczaj SQL Server Management Studio (SSMS) oraz Visual Studio 2013. Aby wykonać te procedury, konieczne jest zainstalowanie tych programów, co oznacza spełnienie następujących wymagań: ■■ System operacyjny Windows 7, Windows 8.*, Windows Server 2008 SP2, Windows Server 2008 R2 albo Windows Server 2012 (R2). ■■ Dowolne wydanie Visual Studio 2013 (przy korzystaniu z wydania Express konieczne może być pobranie wielu dodatkowych elementów). ■■ SQL Server 2012 Express Edition lub wyższa wersja, z komponentem SQL Server Management Studio 2012 Express lub wyższym. (SSMS jest zawarte w Visual Studio, ale wydanie Express wymaga oddzielnego pobierania). Zależnie od konfiguracji systemu Windows, instalacja i konfiguracja Visual Studio 2013 i SQL Server 2012 mogą wymagać lokalnych uprawnień administratora. Rozdział 4, „Migrowanie baz danych oraz 7, „Microsoft Azure SQL Data Sync”, zawierają procedury, które wymagają lokalnej instancji SQL Server, w której Czytelnik ma uprawnienia do tworzenia baz danych. Jeśli nie dysponuje się takim dostępem, można zainstalować oprogramowanie SQL Server Express Edition (darmową wersję SQL Server), wykonując instrukcje zawarte w kolejnym podrozdziale. Na koniec poszczególne rozdziały wykorzystują dodatkowe oprogramowanie, które trzeba zainstalować lokalnie. Rozdziały te zawierają szczegółowe procedury pobiera- nia i instalowania tych programów, dzięki czemu możliwe jest wykonanie wszystkich zadań danego rozdziału. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Pobieranie: SQL Server Express Edition xv Pobieranie: SQL Server Express Edition Istnieje wiele wersji SQL Server Express Edition dostępnych do pobrania z witryny fir- my Microsoft, przy czym są one udostępnione zarówno jako wersje 32-, jak i 64-bito- we. Można wybrać instalację jedynie silnika bazy danych SQL Server Express (i nicze- go więcej) albo wybrać jeden z dwóch pozostałych (większych) pakietów: Express With Tools (zawierający SQL Server Management Studio [SSMS]) albo Express With Advanced Services (zawierający SSMS, Full Text Search i Reporting Services). Istnieją również oddzielne pakiety dla SSMS i LocalDB, ale nie zawierają one silnika bazy danych SQL Server Express, niezbędnego do hostowania lokalnych baz danych. Aby zainstalować silnik bazy danych SQL Server Express Edition, wykonaj poniższe kroki: 1 . Otwórz przeglądarkę Internet Explorer i przejdź do adresu http://www.microsoft. com/en-us/download/details.aspx?id=29062. 2 . Kliknij wielki, pomarańczowy przycisk Download (pobierz). 3 . Zaznacz odpowiedni pakiet dla swojego systemu, jak na rysunku W-1: a . Dla systemu 64-bitowego wybierz ENU\x64\SQLEXPR_x64_ENU.exe. b . W przypadku systemu 32-bitowego (lub 64-bitowego, jeśli wolisz uruchamiać aplikację jako WoW) wybierz ENU\x86\SQLEXPR32_x86_ENU.exe. Rysunek W-1 Pobieranie oprogramowania SQL Server 2012 Express Edition (wersja 64-bitowa) ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xvi Wprowadzenie Jeśli potrzebujesz pobrać również komponent SQL Server Management Studio Uwaga (SSMS), wybierz plik Express With Tools, czyli taki, który w nazwie zawiera WT. 4 . Kliknij Next (dalej). 5 . Jeśli pojawi się monit ostrzeżenia, kliknij Allow Once (Zezwalaj raz), jak na rysun- ku W-2. Rysunek W-2 Tymczasowe zezwalanie na okno wyskakujące w celu umożliwienia pobierania w razie potrzeby 6 . W monicie z zapytaniem, czy uruchomić, czy zapisać plik, wybierz Run (Uruchom). Spowoduje to rozpoczęcie pobierania. 7 . Jeśli pojawi się okno kontroli konta użytkownika po rozpakowaniu pobranych plików, kliknij Yes (Tak). 8 . W oknie SQL Server Installation Center (Centrum instalacji SQL Server) kliknij opcję New SQL Server Stand-Alone Installation (Nowa samodzielna instalacja SQL Server), jak na rysunku W-3. Rysunek W-3 Wybieranie nowej instalacji SQL Server ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Pobieranie: Przykłady kodu z książki xvii 9 . W kreatorze instalacji SQL Server 2012 Setup wykonaj poniższe działania: a . Na stronie License Terms zaznacz pole wyboru I Accept The License Terms (akcep- tuję warunki licencji) i kliknij Next. b . Na stronie Product Updates (aktualizacje produktu) zezwól kreatorowi na wyko- nanie skanowania w poszukiwaniu aktualizacji, po czym kliknij Next. c . Na stronie Install Setup Files (instalowanie plików) zaczekaj, aż instalacja się zakończy. d . Na stronie Feature Selection zaakceptuj domyślne ustawienia, klikając Next. e . Kontynuuj zatwierdzanie domyślnych ustawień na kolejnych stronach, aż do strony Installation Progress (postęp instalacji) i zaczekaj na zakończenie procesu. f . Na stronie Complete wskazującej udaną instalację (rysunek W-4) kliknij Close. Rysunek W-4 Zakończona instalacja SQL Server Express Pobieranie: Przykłady kodu z książki Wiele rozdziałów zawiera procedury, w których konieczne będzie wpisanie jakiegoś kodu. W większości przypadków są to tylko krótkie fragmenty, ale nadal wygodne będzie pobranie pełnych listingów z witryny powiązanej z książką. W ten sposób łatwiejsze będzie wykonanie procedur, szczególnie tych, w których występuje nieco ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xviii Wprowadzenie więcej kodu do wpisania. Wszystkie fragmenty kodu występujące w książce można pobrać z poniższej strony: http://aka.ms/AzureSQLDB_SBS Instalowanie i używanie przykładów kodu Jeśli na pokazanej wyżej stronie nie jest widoczne łącze Companion Content (powiązana zawartość), należy kliknąć przycisk other format (inne formaty) a następnie Companion Content. Pobrany plik zip należy rozpakować. Znajdziemy w nim po jednym folderze dla każdego rozdziału, choć można zauważyć, że nie istnieją żadne przykłady kodu dla rozdziałów 2 i 3. Foldery zawierają pliki .txt odpowiadające numerom listingów w poszczególnych rozdziałach oraz pliki .sql dla procedur składowanych. Dodatkowo foldery dla rozdziałów 6, 8 i 10 zawierają również gotowe (skończone) rozwiązania Visual Studio dla ćwiczeń zawartych w tych rozdziałach. Podziękowania Po raz pierwszy poproszono mnie o napisanie książki o SQL Azure – wówczas jeszcze ciągle nazywało się to SQL Azure – blisko dwa lata temu. Od tego momentu przeby- liśmy długą drogę i pomimo trzęsień ziemi zarówno po stronie platformy produktu Azure, jak i ekosystemu wydawniczego (nie wspominając o innych niespodziankach) szczęśliwie udało nam się dotrzeć do celu! Jest to moja trzecia książka techniczna i choć każde doświadczenie było unikato- we, z każdej z nich nauczyłem się tego samego: nie można nawet zastanawiać się nad wyzwaniem, jakim jest napisanie książki, bez wsparcia i pomocy licznych, starannych i utalentowanych osób. Są to ci ludzie, którzy zasługują na szczególne wyróżnienie – ci, którzy pomagali mi na tak wiele sposobów, że nie jestem w stanie ustawić ich nazwisk w żadnym sensownym porządku. Zacznę od Andrew Brusta. Gdyby nie on (a sam jest niekwestionowanym liderem w branży oprogramowania), w ogóle nie zabrałbym się za pisanie książek. Jestem wdzięczny za osobistą przyjaźń, jak i za wspólną pracę przy pisaniu i prezentowaniu warsztatów. Te doświadczenia pomogły mi się rozwinąć i urosnąć. Miałem też szczęście pracować wspólnie z moim kolegą i współautorem, Erikiem Boydem, który napisał cztery rozdziały poświęcone bardzo zaawansowanej tematyce. Eric jest niezwykle utalentowanym programistą, którego doświadczenie i pasja są jaw- nie widoczne w pisanych przez niego słowach. Nie można zapomnieć o tych, których wysiłek pozwolił przekształcić surowy tekst w gotową książkę. Russell Jones, mój kumpel z O’Reilly Media, zajmuje specjalną pozycję, gdyż to on namówił mnie do napisania tej książki. Muszę mu podziękować nie tylko za tę okazję, ale również za wskazówki i pomoc podczas przechodzenia ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Errata, poprawki i wsparcie dla książki xix do Microsoft Press. Jeszcze więcej podziękowań otrzymuje Roger LeBlanc za redakcję tekstu i Scott Klein za recenzję techniczną. Nie mogę też pominąć Devona Musgrave i Rosemary Caperton z Microsoft Press oraz Steve’a Sagmana z Waypoint Press. Ich wskazówki były kluczowe dla udanego ukończenia tej książki. Książka ta nie mogłaby powstać bez wsparcia i miłości mojej rodziny. Dzięku- ję za to, że byliście tak cierpliwi i tolerancyjni dla mnie, gdy pracowałem nad tym projektem. Leonard Lobel Od blisko dwudziestu lat pracuję przy projektowaniu oprogramowania i jestem wdzięczny za to, że miałem możliwość tworzenia, uczenia się i poznawania niekiedy bardzo złożonych, ale fascynujących zagadnień. Pisanie książki takiej jak ta było kolej- nym wyzwaniem i nie podołałbym mu bez pomocy i wsparcia wielu ludzi. Praca nad tym projektem sprawiła mi wiele radości, ale pochłonęła też wiele cza- su. Podziękować muszę przede wszystkim mojej żonie Shelly za wszystko, co robi dla naszej rodziny. Chcę też podziękować przyjaciołom i współpracownikom za ich wsparcie podczas tej pracy. Oczywiście, ważne miejsce zajmuje Lenni Lobel, który zaprosił mnie do dołączenia do tego projektu. Lenni jest fantastycznym współautorem i wykonał świetną robotę, prowadząc ten projekt aż do ukończenia. Jego wskazówki i pomoc w znajdowaniu właściwego formułowania myśli były niezwykle cenne zarówno dla mnie samego, jak i dla całego projektu. Na koniec, ale na pewno nie najmniej ważne, są wszystkie osoby w firmie Micro- soft i Microsoft Press, które pomagały w realizacji tego projektu. Lista ta (niewątpliwie niekompletna) obejmuje Scotta Kleina, Dorę Chan, Marka Browna, Devona Musgrave, Rosemary Caperton, Steve’a Sagman, Conora Cunninghama i cały zespół Azure CAT. Eric Boyd Errata, poprawki i wsparcie dla książki Dołożyliśmy wszelkich starań, aby zagwarantować poprawność tej książki i powiązanej z nią zawartości. Aktualizacje do tej książki w formie erraty zawierającej zgłoszone usterki i ich poprawki są dostępne na karcie Errata Updates strony internetowej dotyczącej książki pod adresem: http://aka.ms/AzureSQLDB_SBS W razie zauważenia błędu, który nie jest jeszcze wymieniony, można go zgłosić za pośrednictwem tej samej strony. Dodatkową pomoc można uzyskać z działu Microsoft Press Book Support pod adresem mspinput@microsoft.com. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xx Wprowadzenie Prosimy zauważyć, że wsparcie dotyczące oprogramowania i sprzętu firmy Micro- soft nie jest oferowane pod powyższymi adresami. Pomoc dotyczącą produktów firmy Microsoft można uzyskać pod adresem http://support.microsoft.com. Czekamy na uwagi Najwyższym priorytetem wydawnictwa Microsoft Press jest zadowolenie Czytelników, a ich opinie są dla nas niezwykle cenne. Prosimy o przekazywanie uwag w witrynie: http://aka.ms/tellpress Ankieta jest krótka, a my czytamy wszystkie przysłane do nas spostrzeżenia i pomysły. Z góry dziękujemy za wszystkie wpisy! Pozostańmy w kontakcie Niech dyskusja trwa! Jesteśmy na Twitterze: http://twitter.com/MicrosoftPress. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ROZDZIAŁ 1 Poznajemy Microsoft Azure SQL Database Leonard Lobel W tym rozdziale wspólnie z Czytelnikiem utworzymy pierwszą bazę danych na platformie Microsoft Azure SQL Database – całkowicie od zera. Należy przez to rozumieć, że wszystko, co będzie potrzebne, aby wykonać opisane tu zadania, to przeglądarka sieci Web (w tym rozdziale użyty został Internet Explorer) oraz dostęp do Internetu. Czytelnik uzyska konto Microsoft (jeśli go jeszcze nie ma) i posłuży się nim w celu utworzenia i uzyskania dostępu do darmowej próbnej subskrypcji usługi Microsoft Azure. Następnie poznamy portal zarządzający Microsoft Azure, a następnie zapewnimy, aby serwer i baza danych rozpoczęły działanie w chmurze. Na koniec posłużymy się portalem zarządzania SQL Database do zaprojektowania, wypełnienia i odpytywania bazy danych. Uwaga W tej książce będziemy się zazwyczaj odwoływać do Microsoft Azure SQL Da- tabase jako do SQL Database. Termin SQL Server będzie zawsze oznaczał instancje bazy danych zainstalowane w siedzibie firmy (on-premises), podczas gdy SQL Database oznacza zawsze bazę danych opartą na chmurze Microsoft Azure. Choć książka ta koncentruje się głównie na Microsoft Azure SQL Database, powinna być pomocna w poznawaniu szerszego kontekstu platformy Microsoft Azure i w ogól- ności przetwarzania w chmurze. Wiedza taka pozwoli lepiej zrozumieć wartość SQL Database. Tak więc, zanim zajmiemy się tworzeniem konta Microsoft, pozwolę sobie na skrótowe omówienie przetwarzania w chmurze ze szczególnym uwzględnie- niem usługi Microsoft Azure. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 1 2 Rozdział 1: Poznajemy Microsoft Azure SQL Database Przetwarzanie w chmurze: przedstawienie pojęcia Microsoft Azure to należąca do firmy Microsoft platforma przetwarzania w chmurze (cloud-computing). Jednak czym właściwie jest przetwarzanie w chmurze? Problem w tym, że nie istnieje precyzyjna definicja. W rzeczywistości termin ten jest niejednoznaczny. Istnieje dziś wiele różnych typów usług, które działają „w chmurze”. Zasadniczo ter- min przetwarzanie w chmurze odnosi się do ewolucji, jaką przeszły internetowe usługi hostingowe, prowadząc do sytuacji, w której dostawcy (tacy jak Microsoft, Google, Amazon i wielu innych) oferują indywidualnym konsumentom i firmom usługi reali- zowane na sprzęcie zapewniającym niezbędną nadmiarowość, przy czym obsługa tych systemów jest częściowo lub w pełni zautomatyzowana (z punktu widzenia klienta). Ten poziom usług znacznie wykracza poza tradycyjny hosting internetowy, który poja- wił się wraz z „bąblem dot-comów” w latach dziewięćdziesiątych XX wieku. W przy- padku przetwarzania w chmurze Internet nie jest już jedynie używany jako medium dla udostępniania informacji. W istocie chmura wykorzystuje Internet jako sposób łączenia klientów z różnymi usługami infrastruktury, platformy lub aplikacji na znacz- nie większym poziomie elastyczności i abstrakcji, niż możliwy do zaoferowania przez wcześniej stosowane schematy hostingu. Jedną z najwcześniejszych platform przetwarzania w chmurze były Amazon Web Services (AWS), wprowadzone w 2002 roku przez Amazon.com. Także dziś AWS jest jednym z głównych graczy w branży przetwarzania w chmurze. Począwszy od poło- wy pierwszej dekady XXI wieku przetwarzanie w chmurze zaczęło szybko zdoby- wać popularność i w roku 2009 firma Microsoft zaprezentowała swoje rozwiązanie Windows Azure, które w kwietniu 2014 zostało przemianowane na Microsoft Azure. Od samego powstania Azure firma Microsoft stale rozszerza swoją platformę o nowsze i bogatsze możliwości. Natychmiastowe, dynamiczne wdrażanie Zacznijmy od tego, że wdrażanie i konfigurowanie własnych (zainstalowanych w sie- dzibie firmy) serwerów jest trudne. Po pierwsze, musimy zakupić i fizycznie rozmieścić odpowiedni sprzęt. Następnie trzeba uzyskać niezbędne licencje na oprogramowanie, zainstalować system operacyjny, po czym wdrożyć i skonfigurować potrzebne opro- gramowanie. Konieczne jest też zapewnienie akceptowalnego poziomu wydajności i ciągłość działania na wypadek nieoczekiwanej awarii sprzętu, oprogramowania i sieci. Oznacza to konfigurowanie równoważenia obciążeń i nadmiarowości poprzez tech- nologie duplikowania i klastrowania. Trzeba też zdefiniować strategię tworzenia kopii zapasowych i stosować ją ściśle jako część ogólnego planu przywracania po awarii – który również trzeba będzie opracować. A gdy już wszystko zostanie skonfigurowane ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Przetwarzanie w chmurze: przedstawienie pojęcia 3 i uruchomione, nadal trzeba będzie o to dbać, aby zapewnić sprawne działanie syste- mu przez cały czas życia naszej aplikacji. Bez zbędnej przesady, przejście do chmury eliminuje wszystkie te obciążenia. W skrócie, idea aplikacji i usług uruchamianych w „chmurze” oznacza, że mamy do czynienia z „niedotykalnymi” zasobami sprzętowymi, co z kolei przekłada się na środowisko robocze pozbawione konieczności jego konserwowania. Rejestrujemy się w firmie hostującej chmurę (Microsoft w przypadku Azure), płacimy jej za tyle mocy (w znaczeniu zasobów), ile potrzebuje nasza aplikacja (RAM, CPU, pojemność magazynu, pasmo przenoszenia, skalowalne równoważenie obciążenia i tak dalej) i to ta firma martwi się o całą resztę. W porównaniu z ilością pracy i potencjalnymi błędami, które mogą pojawić się przy samodzielnym robieniu tego wszystkiego, roz- wiązanie takie jest wolne zarówno od mordęgi, jak i ryzyka. Chmura Microsoft Azure W przypadku Azure nasze aplikacje, usługi i dane rezydują w chmurze. Chmura Azure oparta jest na wielkich, geograficznie rozproszonych centrach danych należących do firmy Microsoft, wyposażonych w wydajne serwery, ogromne pojemności magazy- nu danych i bardzo wysoki poziom nadmiarowości, zapewniający ciągłość działania. Jednak środowisko Microsoft Azure to znacznie więcej, niż zbiór konwencjonal- nych serwerów hostingowych „na sterydach”. W istocie nasze chmurowe aplikacje i usługi nie są uruchamiane bezpośrednio na tych serwerach. Zamiast tego na tym całym sprzęcie działa zaawansowana technologia wirtualizacji – hyperwizor. Nasz „kod w chmurze” z kolei działa na tej warstwie wirtualizacji. Dzięki temu przeskalowanie w czasie szczytowego obciążenia sprowadza się do zmiany ustawień konfiguracyjnych, które zwiększają liczbę uruchomionych instancji w celu obsługi rosnących potrzeb. Gdy gorący sezon się skończy, analogiczna prosta zmiana pozwala zredukować liczbę instancji i przeskalowanie rozwiązania w dół. Microsoft Azure obsługuje skalowalność poprzez dynamiczne przyznawanie większej lub mniejszej mocy obliczeniowej zwir- tualizowanemu środowisku. Proces ten, często nazywany elastycznym skalowaniem, jest praktycznie natychmiastowy. A teraz spróbujmy rozważyć ten sam scenariusz przy konwencjonalnej infrastruk- turze. Musimy kupić i zainstalować dodatkowe serwery, włączyć je i dodać jako człon- ków farmy równoważenia obciążenia. A gdy dodatkowa moc nie będzie już potrzebna, trzeba je odłączyć do trybu offline, aby czekały na kolejny szczyt obciążenia. Wymaga to wiele pracy i czasu – naszej własnej lub firmy hostingowej – zbyt wiele, gdy porów- namy to z dostosowywaniem konfiguracji poprzez kilka kliknięć myszą. Ponieważ rozwiązania chmurowe mogą być dostarczane na wiele różnych sposo- bów, w słowniku pojawiło się wiele nowych słów i sloganów. Wyróżniają się wśród nich najrozmaitsze akronimy pochodne od zwrotu „as a service” (jako usługa), takie jak IaaS (Infrastructure as a Service – infrastruktura jako usługa), PaaS (Platform ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 4 Rozdział 1: Poznajemy Microsoft Azure SQL Database as a Service – platforma jako usługa) oraz SaaS (Software as a Service – oprogramowa- nie jako usługa). Wszystkie te terminy jednoznacznie odwołują się do usług (service); różnica leży w poziomie tej usługi. Zazwyczaj pomocne jest myślenie o tych terminach jako o różnych stopniach abstrakcji, poczynając od najniższego poziomu infrastruktu- ry sprzętowej. W przypadku instalacji w siedzibie nie ma żadnej abstrakcji i jesteśmy odpowiedzialni za wszystkie poziomy, od sprzętu w górę. Po przejściu do chmury możemy wybrać wariant IaaS, Paas lub SaaS, zgodnie z potrzebami, przy czym każde z tych podejść zapewnia większy poziom abstrakcji. Infrastruktura jako usługa W wariancie IaaS Microsoft Azure w praktyce oznacza udostępnienie maszyn wirtual- nych (VM), które są w całości pod naszą kontrolą. Podobnie jak w środowisku trady- cyjnym, jesteśmy odpowiedzialni za instalację systemu operacyjnego i skonfigurowa- nie maszyny. Łatwo można zbudować maszynę wirtualną od zera – albo dostosować istniejące maszyny wirtualne z biblioteki wstępnie skonfigurowanych VM – po czym je wdrożyć do działania w chmurze z pełnymi możliwościami sieciowymi (włącznie z połączeniami Virtual Private Network [VPN]). Jednak w odróżnieniu od pracy z ser- werami w siedzibie, nigdy nie będą nam potrzebne śrubokręty, dyski, kable, szafy rackowe, zasilacze, płyty główne, pamięć ani nic podobnego. Na tym właśnie polega IaaS – jest abstrakcją sprzętu (sieć, magazyn, serwery, wirtualizacja) i niczym więcej. Mając takie możliwości, możemy oczywiście utworzyć VM w Microsoft Azure, na której będzie działać Microsoft SQL Server; właśnie tak, maszynę wirtualną w chmu- rze, na której uruchomimy pełną, „on-premises” wersję SQL Server. Mogą istnieć sytu- acje, gdy takie działanie będzie w pełni usprawiedliwione i poprawne – na przykład gdy wymagana będzie pełna kompatybilność z istniejącą już w siedzibie firmy insta- lacją SQL Server, czego nie zapewnia SQL Database. (Różnice pomiędzy tymi dwiema platformami omówimy szczegółowo w rozdziale 3, „Różnice pomiędzy SQL Server a Microsoft Azure SQL Database”). Typowym przykładem takiego scenariusza jest potrzeba dostarczenia usługi raportowania z SQL Server Reporting Services (SSRS) uruchomioną na maszynie wirtualnej Microsoft Azure (jak to zrobić, nauczymy się w rozdziale 6, „Raportowanie w chmurze”). Trzeba jednak pamiętać, że uruchomienie SQL Server na maszynie wirtualnej Azure jest czymś zupełnie odmiennym od korzy- stania z Microsoft Azure SQL Database. Wybranie IaaS i SQL Server oznacza, że nadal jesteśmy w pełni odpowiedzialni za obsługę naszej maszyny wirtualnej (lub maszyn) w chmurze. Obejmuje to instalację systemu operacyjnego od zera (chyba że wybie- rzemy załadowanie wstępnie skonfigurowanej VM z galerii), instalację SQL Server, skonfigurowanie instancji, zapewnienie aktualności oprogramowania, ochronę maszyn wirtualnych przed awariami programowymi i tworzenie kopii zapasowych. Jeśli nasza maszyna wirtualna ulegnie awarii, wówczas to my mamy problem. SQL Database jest czymś zupełnie odmiennym, i to właśnie czyni ją rozwiązaniem typu PaaS. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Przetwarzanie w chmurze: przedstawienie pojęcia 5 Platforma jako usługa W przypadku PaaS poziom abstrakcji został podniesiony znacznie wyżej w porówna- niu do IaaS, przez co jesteśmy odgraniczeni od warstw systemu operacyjnego, warstwy pośredniej (middleware) i czasu wykonania (runtime). Oznacza to, że Microsoft Azure
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Microsoft Azure SQL Database Krok po kroku
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: