Quickstart: Connect and query a SQL Server instance on an Azure Virtual Machine using SQL Server Management Studio (SSMS)
Applies to: SQL Server
Get started using SQL Server Management Studio (SSMS) to connect to your SQL Server instance on an Azure Virtual Machine and run some Transact-SQL (T-SQL) commands.
Note
While Microsoft Entra ID is the new name for Azure Active Directory (Azure AD), to prevent disrupting existing environments, Azure AD still remains in some hardcoded elements such as UI fields, connection providers, error codes, and cmdlets. In this article, the two names are interchangeable.
- Connect to a SQL Server instance
- Create a database
- Create a table in your new database
- Insert rows into your new table
- Query the new table and view the results
- Use the query window table to verify your connection properties
Prerequisites
To complete this article, you need SQL Server Management Studio and access to a data source.
- Install SQL Server Management Studio (SSMS)
- SQL Server on an Azure VM
Connect to SQL Virtual Machines
The following steps show how to create an optional DNS label for your Azure VM and then connect with SQL Server Management Studio.
Configure a DNS Label for the public IP address
To connect to the SQL Server Database Engine from the Internet, consider creating a DNS Label for your public IP address. You can join by IP address, but the DNS Label creates an A record that is easier to identify and abstracts the underlying public IP address.
Note
DNS Labels aren't required if you plan to only connect to the SQL Server instance within the same Virtual Network or only locally.
Create a DNS Label by selecting Virtual machines in the portal. Select your SQL Server VM to bring up its properties.
In the virtual machine overview, select your Public IP address.
In the properties for your Public IP address, expand Configuration.
Enter a DNS Label name. This name is an A record that can be used to directly connect to your SQL Server VM by name instead of by IP address.
Select the Save button.
Connect
Start SQL Server Management Studio. The first time you run SSMS, the Connect to Server window opens. If it doesn't open, you can open it manually by selecting Object Explorer > Connect > Database Engine.
The Connect to Server dialog box appears. Enter the following information:
Setting Suggested values Description Server type Database engine For Server type, select Database Engine (usually the default option). Server name The fully qualified server name For Server name, enter the name of your SQL Server VM. You can also use the SQL Server VM IP address to connect. Authentication Microsoft Entra - Managed Identity Use managed identity authentication to connect to SQL Server VM. Using managed identity authentication eliminates the need for developer-managed credentials. Use SQL Server Authentication only when necessary.
Windows Authentication isn't supported for SQL Server VM. For more information, see Azure SQL authentication.Login Server account user ID The user ID from the server account used to create the server. A sign in is required when using SQL Server Authentication. Password Server account password The password from the server account used to create the server. A password is required when using SQL Server Authentication. Encryption 1 Encryption method Select the encryption level for the connection. The default value is Mandatory. Trust server certificate Trust Server Certificate Check this option to bypass server certificate validation. The default value is False (unchecked), which promotes better security using trusted certificates. Host Name in Certificate Host name of the server The value provided in this option is used to specify a different, but expected, CN or SAN in the server certificate. 1 The default value is Mandatory in SSMS 20. Strict (SQL Server 2022 and Azure SQL) encryption should be used for Azure SQL Database and Azure SQL Managed Instance. Strict (SQL Server 2022 and Azure SQL) encryption can be used for SQL Server when the instance has Force Strict Encryption enabled.
After you complete all the fields, select Connect.
You can also modify additional connection options by selecting Options. Examples of connection options are the database you're connecting to, the connection timeout value, and the network protocol. This article uses the default values for all the options.
To verify that your SQL Server on Azure VM succeeded, expand and explore the objects within Object Explorer where the server name, the SQL Server version, and the username are displayed. These objects are different depending on the server type.
Troubleshoot connectivity issues
Although the portal provides options to configure connectivity automatically, knowing how to manually configure connectivity is useful. Understanding the requirements can also aid troubleshooting.
The following table lists the requirements to connect to SQL Server on Azure VM.
Requirement | Description |
---|---|
Enable SQL Server authentication mode | SQL Server authentication is needed to connect to the VM remotely unless you configured Active Directory on a virtual network. |
Create a Login | If you're using SQL authentication, you need a SQL login with a user name and password that also has permissions to your target database. |
Enable TCP/IP protocol | SQL Server must allow connections over TCP. |
Configure a Windows Firewall for Database Engine Access | The firewall on the VM must allow inbound traffic on the SQL Server port (default 1433). |
Create a network security group rule for TCP 1433 | Allow the VM to receive traffic on the SQL Server port (default 1433) if you want to connect over the internet. This isn't required for local and virtual-network-only connections. This step is only required in the Azure portal. |
Tip
The steps in the preceding table are done for you when you configure connectivity in the portal. Use these steps only to confirm your configuration or to set up connectivity manually for SQL Server.
Create a database
Create a database named TutorialDB
by following the below steps:
Right-click your server instance in Object Explorer, and then select New Query:
Paste the following T-SQL code snippet into the query window:
IF NOT EXISTS ( SELECT name FROM sys.databases WHERE name = N'TutorialDB' ) CREATE DATABASE [TutorialDB]; GO ALTER DATABASE [TutorialDB] SET QUERY_STORE = ON; GO
Execute the query by selecting Execute or selecting F5 on your keyboard.
After the query is complete, the new
TutorialDB
database appears in the list of databases in Object Explorer. If it isn't displayed, right-click the Databases node, and then select Refresh.
Create a table in the new database
In this section, you create a table in the newly created TutorialDB
database. Because the query editor is still in the context of the master
database, switch the connection context to the TutorialDB
database by doing the following steps:
In the database dropdown list, select the database that you want, as shown here:
Paste the following T-SQL code snippet into the query window:
USE [TutorialDB] GO -- Create a new table called 'Customers' in schema 'dbo' -- Drop the table if it already exists IF OBJECT_ID('dbo.Customers', 'U') IS NOT NULL DROP TABLE dbo.Customers GO -- Create the table in the specified schema CREATE TABLE dbo.Customers ( CustomerId INT NOT NULL PRIMARY KEY, -- primary key column Name NVARCHAR(50) NOT NULL, Location NVARCHAR(50) NOT NULL, Email NVARCHAR(50) NOT NULL ); GO
Execute the query by selecting Execute or selecting F5 on your keyboard.
After the query is complete, the new Customers table is displayed in the list of tables in Object Explorer. If the table isn't displayed, right-click the TutorialDB > Tables node in Object Explorer, then select Refresh.
Insert rows into the new table
Now let's insert some rows into the Customers table that you created. Paste the following T-SQL code snippet into the query window, and then select Execute:
-- Insert rows into table 'Customers'
INSERT INTO dbo.Customers (
CustomerId,
Name,
Location,
Email
)
VALUES
(1, N'Orlando', N'Australia', N''),
(2, N'Keith', N'India', N'keith0@adventure-works.com'),
(3, N'Donna', N'Germany', N'donna0@adventure-works.com'),
(4, N'Janet', N'United States', N'janet1@adventure-works.com')
GO
Query the table and view the results
The results of a query are visible beneath the query text window. To query the Customers
table and view the rows that were inserted, follow these steps:
Paste the following T-SQL code snippet into the query window, and then select Execute:
-- Select rows from table 'Customers' SELECT * FROM dbo.Customers;
The query results are displayed under the area where the text was entered.
You can also modify the way results are presented by selecting one of the following options:
- The first button displays the results in Text View, as shown in the image in the next section.
- The middle button displays the results in Grid View, which is the default option.
- The third button lets you save the results to a file whose extension is .rpt by default.
Verify your connection properties by using the query window table
You can find information about the connection properties under the results of your query. After you run the previously mentioned query in the preceding step, review the connection properties at the bottom of the query window.
You can determine which server and database you're connected to, and your username.
You can also view the query duration and the number of rows the previously executed query returns.
Additional tools
You can also use Azure Data Studio to connect and query SQL Server, an Azure SQL Database, and Azure Synapse Analytics.