Azure PowerShell samples for Azure SQL Database

Azure SQL Database enables you to configure your databases, instances, and pools using Azure PowerShell.

If you don't have an Azure subscription, create a free account before you begin.

Use Azure Cloud Shell

Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. You can use either Bash or PowerShell with Cloud Shell to work with Azure services. You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

To start Azure Cloud Shell:

Option Example/Link
Select Try It in the upper-right corner of a code block. Selecting Try It doesn't automatically copy the code to Cloud Shell. Example of Try It for Azure Cloud Shell
Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Launch Cloud Shell in a new window
Select the Cloud Shell button on the top-right menu bar in the Azure portal. Cloud Shell button in the Azure portal

To run the code in this article in Azure Cloud Shell:

  1. Start Cloud Shell.

  2. Select the Copy button on a code block to copy the code.

  3. Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Select Enter to run the code.

If you choose to install and use the PowerShell locally, this tutorial requires AZ PowerShell 1.4.0 or later. If you need to upgrade, see Install Azure PowerShell module. If you are running PowerShell locally, you also need to run Connect-AzAccount to create a connection with Azure.

The following table includes links to sample Azure PowerShell scripts for Azure SQL Database.

Create and configure single databases, and elastic pools
Create a single database and configure a database server firewall rule This PowerShell script creates a single Azure SQL database and configures a server-level firewall rule.
Create elastic pools and move pooled databases This PowerShell script creates Azure SQL Database elastic pools, and moves pooled databases, and changes compute sizes.
Configure geo-replication and failover
Configure and failover a single database using active geo-replication This PowerShell script configures active geo-replication for a single Azure SQL database and fails it over to the secondary replica.
Configure and failover a pooled database using active geo-replication This PowerShell script configures active geo-replication for an Azure SQL database in a SQL elastic pool, and fails it over to the secondary replica.
Configure a failover group
Configure a failover group for a single database This PowerShell script creates a database, and a failover group, adds the database to the failover group and tests failover to the secondary server.
Configure a failover group for an elastic pool This PowerShell script creates a database, adds it to an elastic pool, adds the elastic pool to the failover group and tests failover to the secondary server.
Scale a single database and an elastic pool
Scale a single database This PowerShell script monitors the performance metrics of an Azure SQL database, scales it to a higher compute size and creates an alert rule on one of the performance metrics.
Scale an elastic pool This PowerShell script monitors the performance metrics of an Azure SQL Database elastic pool, scales it to a higher compute size, and creates an alert rule on one of the performance metrics.
Auditing and threat detection
Configure auditing and threat-detection This PowerShell script configures auditing and threat detection policies for an Azure SQL database.
Restore, copy, and import a database
Restore a database This PowerShell script restores an Azure SQL database from a geo-redundant backup and restores a deleted Azure SQL database to the latest backup.
Copy a database to new server This PowerShell script creates a copy of an existing Azure SQL database in a new Azure SQL server.
Import a database from a bacpac file This PowerShell script imports a database to an Azure SQL server from a bacpac file.
Sync data between databases
Sync data between SQL databases This PowerShell script configures Data Sync to sync between multiple Azure SQL databases.
Sync data between SQL Database and SQL Server on-premises This PowerShell script configures Data Sync to sync between an Azure SQL database and a SQL Server on-premises database.
Update the SQL Data Sync sync schema This PowerShell script adds or removes items from the Data Sync sync schema.

Learn more about the Single Database Azure PowerShell API.

Additional resources

The examples listed on this page use the Azure SQL Database cmdlets for creating and managing Azure SQL resources. Additional cmdlets for running queries, and performing many database tasks are located in the sqlserver module. For more information, see SQL Server PowerShell.