Michael Wells Microsoft Specialist, Dell EMC SQL DBaaS on Microsoft Azure Stack
About Me Name: Michael Wells Email: Michael.WellsJr@dell.com Twitter: @SqlTechMike - SQL Server DBA 7+ Years - Reformed Developer - PowerShell Fanatic
Agenda What is Cloud? What is Azure Stack? ASDK vs Integrated System DBaaS for Azure Stack Azure SQL Deploying the SQL Resource Provider Understanding Quotas, Plans, and Offers SQL Instances Where do they live Logical Hosts the fine print SQL RP Credentials Creating the Logical Database Host Creating a Database Availability Group Considerations Maintaining the SQL RP VM SQL RP Backup/Restore
What is Cloud?
What is Cloud? Put simply, cloud is not a thing or a place cloud is an operating model for delivering IT services
What is Azure Stack? Azure Stack - Azure Services running on-prem - Consistent with Azure Public Cloud - Azure Resource Manager (Infrastructure as Code) - Azure Storage (Blobs, Tables, Queues) - Azure App Services (Web, Mobile, API, Logic, Functions) - Azure KeyVault, VPN, SLB, Virtual Networking, Marketplace, and more Azure Stack is not a Hypervisor replacement
ASDK vs Integrated System Azure Stack Development Kit (ASDK) - Single Node (can never be upgraded to multi-node) - Any server that meets minimum hardware specs - Non-Production Use Only - No Charge for use - Updates are DESTRUCTIVE Integrated System - Multi-Node (4-12 nodes) - Only available as Appliance from hardware partners - For Production Use (this includes Dev and Test environments) - Charges based on Consumption (Connected) or Capacity (Disconnected) - Orchestrated Rolling Patch and Update process
DBaaS for Azure Stack Azure SQL SQL Server Database-as-a-Service (DBaaS) looks and feels like Azure SQL to the end user The difference is that the database instances are not managed by Microsoft a DBA still needs to manage them
Deploying the SQL Resource Provider SQL DBaaS is not included with Azure Stack out of the box it is a free add-on that needs to be installed separately Full instructions located at - https://docs.microsoft.com/enus/azure/azure-stack/azure-stack-sql-resource-provider-deploy The installation creates a Resource Provider VM and registers the Resource Provider with the Azure Stack instance The installation DOES NOT create a SQL Server Instance you can create as VMs running on Azure Stack or you can point to instances already running in your environment
Understanding Quotas, Plans, and Offers After installing the SQL Server Resource Provider the Azure Stack Operator will need to update any existing Plans and Offers to include SQL services
Understanding Quotas, Plans, and Offers
Demo Plans and Offers
SQL Instances Where do they live? Microsoft Azure Stack Traditional Infrastructure SQL Resource Provider VM Virtual Infrastructure SQL Server Instance VM On-Stack in VM Off-Stack in VM Off-Stack Physical SQL Server Instance VM Physical Infrastructure SQL Server Instance
Logical Hosts the fine print Standalone Instances can be any edition of SQL Server 2014 or SQL Server 2016 The SQL instance must be dedicated for use by the RP and user workloads. You cannot use a SQL instance that is being used by any other consumer, including App Services The RP adapter is not domain joined and can only connect using SQL authentication You must configure an account with appropriate privileges for use by the RP Network traffic from the RP to SQL uses port 1433, and cannot be changed The RP and users such as Web Apps use the user network, so connectivity to the SQL instance on this network is required. This requirement typically means the IP for your SQL instances must be on a public network Management of the SQL instances and their hosts is up to you; the RP does not perform patching, backup, credential rotation, etc. SKUs can be used to create different classes of SQL abilities, such as performance, Always On, etc.
SQL RP Credentials You are responsible for creating and maintaining system admin accounts on your SQL Servers The SQL RP only needs the ability to manage databases it does not need access to the data in those databases SQL RP accounts require the following permissions: Database: Create, Alter, With Containment, Drop, Backup Availability Group: Alter, Join, Add/Remove Database Login: Create, Select, Alter, Drop, Revoke Select Operations: [master].[sys].[availability_group_listeners] (AlwaysOn), sys.availability_replicas (AlwaysOn), sys.databases, [master].[sys].[dm_os_sys_memory], SERVERPROPERTY, [master].[sys].[availability_groups] (AlwaysOn), sys.master_files When you rotate credentials you can change the RP stored password using the RP Admin Interface in the Azure Stack Admin Portal
Demo Create Database Host
Creating the Logical Database Host
Demo Create Database
Creating a Database
Availability Group Considerations Instances must be running SQL Server 2016 SP1 Enterprise or Later You must provide a File Server You must enable Automatic Seeding on each Availability Group for each Instance of SQL
Maintaining the SQL RP VM The SQL RP is an add-on component and is not serviced as part of Azure Stack The SQL RP lives on a User VM under the Default Provider Subscription - you are responsible for providing the Windows Patches, Anti-Virus Signatures, etc. When an updated adapter is released, a script is provided to apply the update this script creates a new SQL RP VM and migrates any state that you already have
SQL RP Backup/Restore The SQL RP is not included in the Azure Stack Infrastructure Backup Scripts will be provided to facilitate: Backing up state information Restoring the RP in the event of a complete Stack Recovery Database Servers must be recovered first, before the RP is restored
Tips Quick Start Templates are available here https://github.com/azure/azurestack-quickstart-templates When your Stack doesn t have access to the internet, you can download the ARM template folder, upload to an Azure Storage Container, and update the Base Path URL and Script Path URL parameters within the template The SQL-2016-HA template does not enable Auto-Seeding on the Availability Group you must do this manually before adding the logical host
Questions?
Thank you Sponsors!