René Balzano Technology Solution Professional Data Platform Microsoft Schweiz SQL Azure...

Preview:

Citation preview

René BalzanoTechnology Solution Professional Data PlatformMicrosoft Schweiz

SQL AzureAdministration

SQL Azure, kurz vorgestelltFeatures - was SQL Azure derzeit kann, und was noch nichtPlattform - Leistungsmerkmale und LeistungsgrenzenSzenarien- derzeit typische Einsatzmodelle für SQL Azure

Werkzeuge

DBA Aufgaben in SQL AzureGegebenes in SQL Azure - woran Sie nicht mehr denken müssenSubscription, Server, DB - die richtige Edition wählenClient-Konfiguration - Libraries und AliasesSecurity - Datenbank-Accounts und BerechtigungenImport, Export und Backup - die verfügbaren SzenarienMonitoring, Maintenance - woran Sie noch zu denken haben

Q&A

Agenda

AgendaSQL Azure, kurz vorgestellt

Features - was SQL Azure derzeit kann, und was noch nichtPlattform - Leistungsmerkmale und LeistungsgrenzenSzenarien- derzeit typische Einsatzmodelle für SQL Azure

Werkzeuge

DBA Aufgaben in SQL AzureGegebenes in SQL Azure - woran Sie nicht mehr denken müssenSubscription, Server, DB - die richtige Edition wählenClient-Konfiguration - Libraries und AliasesSecurity - Datenbank-Accounts und BerechtigungenImport, Export und Backup - die verfügbaren SzenarienMonitoring, Maintenance - woran Sie noch zu denken haben

Q&A

SQL Azure: Miete einer Datenbank, nicht eines Servers(keine RDP-Verbindungen o.ä.)

Storage und Compute Cycles skalieren bis zu gegebenen Limits automatisch

Physische Hosts =Commodity HW,derzeit 8-Core,32 GB RAM,12 Disks (DAS)

Verfügbarkeit 99.9%(<9h Downtime p.a.)

Database as a Service

SQL Azure basiert auf SQL Server, ist aber nicht SQL Server

Technische GemeinsamkeitenTransact-SQL und TDS Prokotoll (Tabular Data Stream)Mehrheit der Features

Technische Unterschiede gegenüber SQL Server (derzeit)Audit, Backup/Restore, CDC, CLR, Compression, Data Collector,Ext. Keys, Extended Events, Filestream, Full-Text Search, Mirroring,Master Data Services, Policies, TDE, UDA, UDT, Resource Governor, Sparse Columns, PowerShell Support, Replication, Service Broker,SQL Server Agent, SQL Server Utility, XML Indexing

Features heute

SQL Azure erschliessenhttp://www.microsoft.com/windowsazure/offers/

SQL Azure abonnieren https://mocp.microsoftonline.com

SQL Azure verwaltenhttp://windows.azure.com

SQL Azure Reporting ServicesSQL Azure DataSync (Sync Framework)

Synchronisation von Datenbanken untereinander(Azure - lokal, Azure - Azure, lokal - lokal)

Database FederationTransparentes Verteilen des Inhalts einer Tabelle auf verschiedene Datenbanken

SQL Azure OData ServiceREST-Protokoll (http) für Web-basierte DB-Kommunikation

SQL Azure Import/Export (DAC)Backup / Restore as a Serviceu.a.

Features demnächst

Features demnächstwww.sqlazurelabs.com

SQL Azure Data Sync

Data in the CloudInternet-Datenbanken für interne oder öffentliche NutzerPublikation direkt oder via Azure Data Market (https://datamarket.azure.com/)Datennutzung mit Standardanwendungen wieExcel, PowerPivot, SharePoint u.a.Mash-up aus verschiedenen Quellen (Azure, lokal, Data Market)

Konsolidieren dezentraler, kleiner Datenbankenz.B. MS Access Konsolidierung(ab SQL Server Migration Assistant 4.2 automatisiert, aktuell 5.0)

Laufende oder neue EntwicklungsprojekteBetriebsintern oder Standardsoftware eines ISVAngepasst an SQL Azure Feature Sets und Cloud-Connecting

SQL Azure Szenarien heute

Data in the Cloud

Restore eines SQL Server Datenbank-Backupsin SQL AzureAnpassen des Connection Strings einer bestehenden, nicht für SQL Azure adaptiertenSQL Server-Anwendung

Derzeit kein Szenario

AgendaSQL Azure, kurz vorgestellt

Features - was SQL Azure derzeit kann, und was noch nichtPlattform - Leistungsmerkmale und LeistungsgrenzenSzenarien- derzeit typische Einsatzmodelle für SQL Azure

Werkzeuge

DBA Aufgaben in SQL AzureGegebenes in SQL Azure - woran Sie nicht mehr denken müssenSubscription, Server, DB - die richtige Edition wählenClient-Konfiguration - Libraries und AliasesSecurity - Datenbank-Accounts und BerechtigungenImport, Export und Backup - die verfügbaren SzenarienMonitoring, Maintenance - woran Sie noch zu denken haben

Q&A

Azure Management Portal (http://windows.azure.com)SQL Azure Database Manager (im Portal)

SQL Server Management Studio, BIDS (SSIS)SQL Azure-aware ab SQL Server 2008 R2Server-Einbindung wie herkömmlicher SQL ServerObjektdialoge derzeit via generiertes T-SQL

STATISTICS IO, Client Statistics usw.Unterstützte Catalog Views und DMV

SQL Azure Migration Wizard (http://sqlazuremw.codeplex.com/)

SQL Azure Werkzeuge

Database Manager

SSMS und SQL Azure

Migration Wizard

Databasesys.dm_db_partition_stats

Usagesys.database_usagesys.bandwidth_usagesys.dm_database_copiessys.firewall_rules

Unterstützte DMVExec

sys.dm_exec_connectionssys.dm_exec_query_plansys.dm_exec_query_statssys.dm_exec_requestssys.dm_exec_sessionssys.dm_exec_sql_textsys.dm_exec_text_query_plan

Transactionssys.dm_tran_active_transactionssys.dm_tran_database_transactionssys.dm_tran_lockssys.dm_session_transactions

Unterstützte Catalog Views sys.all_columns sys.events sys.stats_columns

sys.all_objects sys.foreign_key_columns sys.synonyms

sys.all_parameters sys.foreign_keys sys.system_columns

sys.all_sql_modules sys.identity_columns sys.system_objects

sys.all_views sys.index_columns sys.system_parameters

sys.check_constraints sys.indexes sys.system_sql_modules

sys.columns sys.key_constraints sys.system_views

sys.computed_columns sys.objects sys.table_types

sys.database_permissions sys.parameters sys.tables

sys.database_principals sys.plan_guides sys.trigger_event_types

sys.database_role_members sys.procedures sys.trigger_events

sys.databases sys.schemas sys.triggers

sys.default_constraints sys.sql_logins sys.types

sys.event_notification_event_types sys.sql_modules sys.views

sys.event_notifications sys.stats sys.xml_schema_collections

Weitere Client-Werkzeugesqlcmd (nicht: osql)

Data-Tier Application (DAC)SQL Server Analysis Services (als Client)SQL Server Reporting Services (als Client)SQL Server Management Objects (SMO, Client-seitig)SQL Server Migration Assistant (SSMA)MS Office, ab 2010 (Excel, Access, PowerPivot usw.)

AgendaSQL Azure, kurz vorgestellt

Features - was SQL Azure derzeit kann, und was noch nichtPlattform - Leistungsmerkmale und LeistungsgrenzenSzenarien- derzeit typische Einsatzmodelle für SQL Azure

Werkzeuge

DBA Aufgaben in SQL AzureGegebenes in SQL Azure - woran Sie nicht mehr denken müssenSubscription, Server, DB - die richtige Edition wählenClient-Konfiguration - Libraries und AliasesSecurity - Datenbank-Accounts und BerechtigungenImport, Export und Backup - die verfügbaren SzenarienMonitoring, Maintenance - woran Sie noch zu denken haben

Q&A

HochverfügbarkeitGrund:Datenbanken werden automatisch und transparent dreifach an mindestens zwei örtlich getrennten Standorten angelegt

SkalierungGrund:Automatisches Load Balancing lagert Datenbanken und Prozesse auf dedizierte physische Hosts aus, wenn Lastspitzen auftreten

Worum Sie sich nicht mehr zu kümmern habenViele Aspekte der Systemdimensionierung und der LastprognoseHardware, Disk I/O, RAID, Partitionen, Partition Alignment & Co.Softwareinstallation, Patching, RebootingLizenzierung, CALs, Prozessoren

Gegebenes in SQL Azure

1 Windows Live ID-> mehrere Subscriptions

1 Subscription-> 1 SQL Azure Server

SQL Azure Server

SQL Azure SubscriptionSQL Azure Subscription

Windows Live ID

SQL Azure Subscription

1 SQL Azure Server-> 150 Datenbanken (Softlimit)

Gebunden an eines von derzeit 6 Datacenters, z.B. North Europe, West Europe, South Central USServer ist lediglich eine logische Gruppierung: Die Datenbanken eines SQL Azure Servers können auf verschiedenen physischen Hosts platziert sein

1 SQL Azure Datenbank -> max. 50GBEdition bestimmt maximale Grösse:1/5 GB (Web), 10/20/30/40/50 GB (Business)Edition kann nachträglich verändert werdenSpeicherfreigabe nach dem Löschen von Objekten ist zeitlich verzögert (<15Min.)

SQL Azure Datenbank

Die Datenbankgrösse wird täglich pro rata aufgrund der maximal belegten Stufe (1/5/10/20/30/40/50 GB) des jeweiligen Tages abgerechnetDie eingestellte Edition begrenzt lediglich die maximale DB-Grösse, bestimmt aber nicht die Kosten bezüglich DatenbankgrösseAbrechnungszeitpunkt ist Mitternacht UTC (CH: 01.00 Uhr)Die master-DB und alle Transaktionslogs zählen nicht zur gemessenen GrösseGemessen wird der durch Daten reservierte Speicherplatz,nicht etwa eine Dateigrösse

Shrink unnötig (auch nicht unterstützt)Für Verkleinerung genügen Index-Rebuilds

Kostenfaktor 1: DB-Grösse

Verbindungen vom und zu einem Datacenter sowie zwischen Datacenters sind kostenpflichtigVerkehr innerhalb eines Datacenters ist kostenlos

Kostenfaktor 2: Bandbreite

Datenbank (von Daten genutzter Speicherplatz)Web Edition

CHF 10.989 pro Datenbank bis zu 1 GB pro MonatCHF 54.945 pro Datenbank bis zu 5 GB pro Monat

Business EditionCHF 109.989 pro Datenbank bis zu 10 GB pro MonatCHF 219.978 pro Datenbank bis zu 20 GB pro MonatCHF 329.967 pro Datenbank bis zu 30 GB pro MonatCHF 439.956 pro Datenbank bis zu 40 GB pro MonatCHF 549.945 pro Datenbank bis zu 50 GB pro Monat

Genutzte BandbreiteNordamerika und Europa

CHF 0.11 pro GB inCHF 0.165 pro GB out

Asiatisch-pazifischer RaumCHF 0.11 pro GB inCHF 0.22 pro GB out

Überwachungsys.database_usage, sys.bandwidth_usage, sys.dm_db_partition_stats

Kostenberechnung

SQL Azure Abrechnung https://mocp.microsoftonline.com

TCP: Outbound Port 1433 verbindet zu SQL AzureSSL ist immer eingeschaltet (serverseitig forciert)Verbindungen via "SQL Server Native Client 10.0" erstellen, auch per ODBC (nicht unterst.: OLE DB, DBLib)In Connectionstrings: Loginname <login>@<server>(z.B. demouser@h9susazmhf für Server h9susazmhf.database.windows.net)

SQL Azure Host via DNS adressieren,Server-IP ist nicht statisch

Best Practice: SQL Server Alias einrichten für SQL Azure Servernamen (cliconfig.exe)

Client-Konfiguration

cliconfigC:\Windows\System32\cliconfg.exe

SQL Azure Firewallhttps://windows.azure.com

Client-ConnectionDefault Transaktions-Isolationslevel jeder SQL Azure-Datenbank ist RCSI 'Read Committed Snapshot Isolation' (vgl. SQL Server: Read Committed)Der Transaktions-Isolationslevel ist weiterhin innerhalb einer Client-Connection bzw. durch die Client-Applikation einstellbar

Derzeit ist nur SQL Server Security unterstützt1 Server-level Principal, dieser wird im Azure-Portal beim Anlegen des SQL Azure Servers erstelltDas Konzept der SQL Server Logins und Datenbank User ist identisch zu SQL Server, jedoch per Script anzuwenden (derzeit)Password Complexity ist vorgegeben und verlangtUSE <database> ist nicht unterstützt, d.h. für das Erstellen von Login (master) und User werden zwei Connections benötigt (in SSMS-GUI transparent)

Security

SQL Azure SecuritySQL Server Management Studio

bcpMicrosoft Sync Framework 2.1+ (demnächst auch via SQL Azure Data Sync)(SQL Azure als Linked Server in lokalem SQL Server)SQL Server Integration Services (SSIS) und BIDSSQL Azure Migration Wizard (Codeplex)

Auch für Analyse der Featurenutzung einer bestehenden SQL Server-Datenbank

Demnächst: SQL Azure Import/Export (Basis DAC):Ist derzeit als CTP verfügbar (http://www.sqlazurelabs.com)

Import und Export

Derzeit ist für explizite Backups eine serverseitige Kopie (CREATE DATABASE AS COPY OF) anzulegen oder eine lokale Datenbankkopie zu ziehen (bcp, SSIS)Expliziter Point-in-time Restore wird demnächst unterstützt (Backup as a Service)

Backup

SQL Azure Health Statushttp://www.microsoft.com/windowsazure/support/status/servicedashboard.aspxInternet Latency Monitor (http://latency.cloudapp.net)Windows Azure Portal (http://windows.azure.com)CSS SQL Azure Diagnostics Report(http://blogs.msdn.com/b/psssql/archive/2011/04/25/css-sql-azure-diagnostics-tool-released.aspx)

Verfügbare DMV nutzen, kein Performance Monitor

Laufende Kosten überwachensys.database_usage, sys.bandwidth_usage, sys.dm_db_partition_stats

Monitoring, Maintenance

Latency Monitorhttp://latency.cloudapp.net

SQL Azure Health Statushttp://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx

CSS SQL Azure Diagnosticshttp://csssqlazure.blob.core.windows.net/csssqlazuredeploy/publish.htm

Multi-TenancyAuf einem physischen Host laufen potentiell mehrere Datenbanken verschiedener SQL Azure-KundenMittels Balancing und Throttling wird verhindert, dass einzelne Datenbanken die Ressourcen anderer Kunden einschränken

Massnahmen seitens SQL AzureTransferieren einer Datenbank auf einen anderen Host(vgl. Failover auf einen Cluster-Node oder Mirroring-Partner)Terminieren einer Server-Connection

Client-Applikationenmüssen bezüglich Servertransfers und abgebrochener Transaktionen fehlertolerant sein (automatischer Reconnect)Erhalten detaillierte Fehlermeldungen über die Abbruchgründe(http://msdn.microsoft.com/en-us/library/ff394106.aspx#bkm_reason_codes)

Balancing und Throttling

Gründe für das Terminieren einer Transaktion oder Connection

ConnectionIdle > 30 Minuten 1 Mio. Locks> 5 GB tempdb

Transaktionläuft > 24 hbelegt >20% des aktuellen Transaktionslogsbelegt > 1GB des Transaktionslogs

Balancing und Throttling

Windows Azure Platform Training Kithttp://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78

Windows Azure Platform TCO Calculatorhttp://www.microsoft.com/windowsazure/tco

SQL Server Migration Assistant for Access 5.0http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4b37df74-7522-41cf-9c1a-01b6415d9608

Weitere Hilfsmittel

TCO Calculatorhttp://www.microsoft.com/windowsazure/tco

ZusammenfassungSQL Azure, kurz vorgestellt

Features - was SQL Azure derzeit kann, und was noch nichtPlattform - Leistungsmerkmale und LeistungsgrenzenSzenarien- derzeit typische Einsatzmodelle für SQL Azure

Werkzeuge

DBA Aufgaben in SQL AzureGegebenes in SQL Azure - woran Sie nicht mehr denken müssenSubscription, Server, DB - die richtige Edition wählenClient-Konfiguration - Libraries und AliasesSecurity - Datenbank-Accounts und BerechtigungenImport, Export und Backup - die verfügbaren SzenarienMonitoring, Maintenance - woran Sie noch zu denken haben

Q&A

Bild

quel

le: F

lickr

/lore

ntey

Q&A

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended