Post on 23-Dec-2015
transcript
Introduction to SQL Azure Databases
NameTitleMicrosoft Corporation
Start With the BasicsSQL Azure Database isSQL Server database technology delivered as a service on the Windows Azure PlatformIdeal for both simple and complex applicationsEnterprise-ready with automatic support for HADesigned to scale out elastically with demand
Get started quicklyChoose a planChoose a billing optionProvision servers
Ready to get started?Let’s jump into development
Provision Your ServerServer definedService head that contains databasesConnect via automatically generated FQDN (xxx.database.windows.net)Initially contains only a master database
Provision servers interactivelyLog on to Windows Azure Management PortalCreate a SQL Azure serverSpecify admin login credentialsAdd firewall rules and enable service access
Automate server provisioningUse Windows Azure Platform PowerShell cmdlets (or use REST API directly)wappowershell.codeplex.com
Build Your DatabaseUse familiar technologies
Supports Transact-SQLSupports popular languages
.NET Framework (C#, Visual Basic, F#) via ADO.NETC / C++ via ODBCJava via Microsoft JDBC providerPHP via Microsoft PHP provider
Supports popular frameworksOData (REST data access)Entity FrameworkWCF Data ServicesNHibernate
Supports popular toolsSQL Server Management Studio (2008 R2 and later)SQL Server command-line utilities (SQLCMD, BCP)CA Erwin® Data ModelerEmbarcadero Technologies DBArtisan®
Differences in comparison to SQL Server Focus on logical vs. physical administrationDatabase and log files automatically placedThree high-availability replicas maintained for every databaseDatabases are fully containedTables require a clustered indexMaximum database size is 50 Gb
Unsupported SQL Server featuresBACKUP / RESTOREUSE command, linked servers, distributed transactions, distributed views, distributed queries, four-part namesService BrokerCommon Language Runtime (CLR)SQL Agent
Build Your DatabaseThin client database development
Introducing the SQL Azure management portalWeb designers for tables, views, stored procsInteractive query editing and execution
Rich client database developmentIntroducing SQL Server Data Tools (SSDT)Visual Studio IDE for database developmentIncludes modern designers and projects with declarative, model-driven developmentDevelop and test in both connected and disconnected statesPlatform targeting for both SQL Server (2005 and above) and SQL AzureGet it free with Web PI, with SQL Server 2012 and with Visual Studio 11
Deploy Your DatabaseData-tier Application Framework (DAC Fx)
Alternative to traditional script based approachDramatically simplifies deployment, migration and versioning of databasesProvides a single unit of deployment for schema (dacpac) or for schema + data (bacpac)Supports automatic versioning of database schemasSupports platform targeting for both SQL Server (2005 and above) and SQL AzureBuild from scratch or extract from existing db
How to get the latest DAC FxWith SQL Server Data ToolsWith SQL Server 2012 Management StudioWith SQL Azure Import/Export ServiceVia sqldacexamples.codeplex.com
Deploy Your DatabaseInteractive approach for dacpac v1 and v2
Manage your server with SQL Azure Management PortalDeploy dacpacLoad data (scripts, bulk copy, SSIS)Also supported in SQL Server 2012 Management Studio
Interactive approach for bacpac v2Upload bacpac to blob storageLog into Windows Azure Management PortalImport bacpac, table data automatically loadedAlso supports export to blob storage
Upgrading a dacpac or bacpacNot supported in portals yetUse SQL Server 2012 Management Studio
Secure Your DatabaseServer identity and access control
SQL authentication supported Integrated authentication not supportedConnect to master to administer logins and create / drop databasesThe admin login (configured during service provisioning) is like saThe admin login has full rights on the server (and all databases) and should only be used for administrationManage logins with CREATE / ALTER / DROP LOGIN commandsMembership in the loginmanager server role grants CREATE / ALTER / DROP LOGIN privelegesMembership in the dbmanager server role grants CREATE / DROP DATABASE privileges
Database identity and access controlLogins must have an associated user account to connect to a databaseThe admin login is automatically associated with a special user known as dbo (database owner)The dbo has full rights in the database and should only be used for administrationManage users with CREATE / ALTER / DROP USER commandsAdd users to system or user-defined database roles to grant privileges via sp_add_rolememberOrganize database objects into schema containers based upon common access control requirementsGrant privileges to schema containers instead of individual objects for better productivity
Connect Your ApplicationConnecting to SQL Azure
TDS (Tabular Data Stream) protocol over TCP/IP supportedSSL requiredUse firewall rules to connect from outside Microsoft data centerASP.NET example:
Special considerationsLegacy tools and providers may require special format for login: [login]@[server]Idle connections terminated after 30 minutesLong running transactions terminated after 24 hoursDoS guard terminates suspect connections with no error messageFailover events terminate connectionsThrottling may cause errorsUse connection pooling and implement retry logic to handle transient failuresLatency introduced for updates due to HA replicasNo cross-database dependencies, result sets from different databases must be combined in application tier
<connectionStrings><addname="AdventureWorks"connectionString=
"Data Source=[server].database.windows.net;Integrated Security=False;Initial Catalog=ProductsDb;User Id=[login];Password=[password];Encrypt=true;"
providerName="System.Data.SqlClient"/></connectionStrings>
© 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.