什么是 Azure SQL 数据库和 Azure Synapse Analytics 中的逻辑 SQL server?What is a logical SQL server in Azure SQL Database and Azure Synapse?

适用于:是Azure SQL 数据库是Azure Synapse Analytics (SQL DW)APPLIES TO: yesAzure SQL Database yesAzure Synapse Analytics (SQL DW)

在 Azure SQL 数据库和 Azure Synapse Analytics 中,服务器是一个充当数据库集合的中心管理点的逻辑构造。In Azure SQL Database and Azure Synapse Analytics, a server is a logical construct that acts as a central administrative point for a collection of databases. 在服务器级别,可以管理登录名防火墙规则审核规则威胁检测策略自动故障转移组At the server level, you can administer logins, firewall rules, auditing rules, threat detection policies, and auto-failover groups. 一个服务器可以与其资源组位于不同的区域。A server can be in a different region than its resource group. 需要先有服务器,然后才能在 Azure SQL 数据库中创建数据库,或在 Azure Synapse Analytics 中创建数据仓库数据库。The server must exist before you can create a database in Azure SQL Database or a data warehouse database in Azure Synapse Analytics. 由单个服务器管理的所有数据库都在服务器所在区域中创建。All databases managed by a single server are created within the same region as the server.

此服务器不同于在本地环境中你可能熟悉的 SQL Server 实例。This server is distinct from a SQL Server instance that you may be familiar with in the on-premises world. 要说明的一点是,无法确保数据库或数据仓库数据库相对于管理它们的服务器的确切位置。Specifically, there are no guarantees regarding location of the databases or data warehouse database in relation to the server that manages them. 此外,Azure SQL 数据库和 Azure Synapse 都不会公开任何实例级访问权限或功能。Furthermore, neither Azure SQL Database nor Azure Synapse expose any instance-level access or features. 与此相反,托管实例中实例数据库的物理归置方式与你熟悉的本地或虚拟机环境中的 SQL Server 归置方式相同。In contrast, the instance databases in a managed instance are all physically co-located - in the same way that you are familiar with SQL Server in the on-premises or virtual machine world.

创建服务器时,你将提供一个对该服务器上的 master 数据库以及在该服务器上创建的所有数据库具有管理权限的服务器登录帐户和密码。When you create a server, you provide a server login account and password that has administrative rights to the master database on that server and all databases created on that server. 这一初始帐户就是 SQL 登录帐户。This initial account is a SQL login account. Azure SQL 数据库和 Synapse Analytics 支持 SQL 身份验证和使用 Azure Active Directory 身份验证进行身份验证。Azure SQL Database and Synapse Analytics support SQL authentication and Azure Active Directory Authentication for authentication. 若要详细了解登录名和身份验证,请参阅在 Azure SQL 数据库中管理数据库和登录名For information about logins and authentication, see Managing Databases and Logins in Azure SQL Database. 不支持 Windows 身份验证。Windows Authentication is not supported.

SQL 数据库和 Azure Synapse 中的服务器:A server in SQL Database and Azure Synapse:

  • 在某个 Azure 订阅中创建,但可以与其包含的资源一起移到另一个订阅Is created within an Azure subscription, but can be moved with its contained resources to another subscription
  • 是数据库、弹性池和数据仓库的父资源Is the parent resource for databases, elastic pools, and data warehouses
  • 为数据库、弹性池和数据仓库数据库提供命名空间Provides a namespace for databases, elastic pools, and data warehouse database
  • 是具有强生存期语义的逻辑容器 - 删除服务器并删除其数据库、弹性池和 SQK 池Is a logical container with strong lifetime semantics - delete a server and it deletes its databases, elastic pools, and SQK pools
  • 参与 Azure 基于角色的访问控制 (RBAC) - 服务器中的数据库、弹性池和数据仓库数据库从服务器继承访问权限Participates in Azure role-based access control (RBAC) - databases, elastic pools, and data warehouse database within a server inherit access rights from the server
  • 是数据库、弹性池和数据仓库数据库的标识的高阶元素,用于 Azure 资源管理目的(请参阅数据库和池的 URL 方案)Is a high-order element of the identity of databases, elastic pools, and data warehouse database for Azure resource management purposes (see the URL scheme for databases and pools)
  • 在区域中并置资源Collocates resources in a region
  • 为数据库访问提供连接终结点 (<serverName>.database.chinacloudapi.cn)Provides a connection endpoint for database access (<serverName>.database.chinacloudapi.cn)
  • 通过连接到 master 数据库通过 DMV 提供对所含资源相关元数据的访问方式Provides access to metadata regarding contained resources via DMVs by connecting to a master database
  • 提供应用于数据库的管理策略的作用域,即登录名、防火墙、审核、威胁检测等Provides the scope for management policies that apply to its databases - logins, firewall, audit, threat detection, and such
  • 受父订阅中的配额限制(默认情况下,每个订阅六个服务器,请单击此处了解订阅限制Is restricted by a quota within the parent subscription (six servers per subscription by default - see Subscription limits here)
  • 提供所含资源的数据库配额和 DTU 或 vCore 配额范围(例如,45,000 个 DTU)Provides the scope for database quota and DTU or vCore quota for the resources it contains (such as 45,000 DTU)
  • 是在包含资源上启用的功能的版本控制作用域Is the versioning scope for capabilities enabled on contained resources
  • 服务器级主体登录名可以管理服务器上的所有数据库Server-level principal logins can manage all databases on a server
  • 可以包含类似于本地环境中 SQL Server 的登录名,这些登录名可以访问服务器上的一个或多个数据库,并可以被授予有限的管理权限。Can contain logins similar to those in instances of SQL Server in your on-premises environment that are granted access to one or more databases on the server, and can be granted limited administrative rights. 有关详细信息,请参阅登录名For more information, see Logins.
  • 用于所有在服务器上创建的数据库的默认排序规则是 SQL_LATIN1_GENERAL_CP1_CI_AS,其中 LATIN1_GENERAL 为英语(美国),CP1 为代码页 1252,CI 不区分大小写,AS 区分重音符。The default collation for all databases created on a server is SQL_LATIN1_GENERAL_CP1_CI_AS, where LATIN1_GENERAL is English (United States), CP1 is code page 1252, CI is case-insensitive, and AS is accent-sensitive.

使用 Azure 门户管理服务器、数据库和防火墙Manage servers, databases, and firewalls using the Azure portal

可以提前创建服务器的资源组,也可以在创建服务器本身期间创建。You can create the resource group for a server ahead of time or while creating the server itself. 转到新 SQL 服务器表单的方法有多种,可以通过新建 SQL 服务器,也可以在新建数据库期间。There are multiple methods for getting to a new SQL server form, either by creating a new SQL server or as part of creating a new database.

创建空白服务器Create a blank server

若要使用 Azure 门户创建服务器(不包含数据库、弹性池或数据仓库数据库),请导航到空白 SQL server(逻辑 SQL server)表单。To create a server (without a database, elastic pool, or data warehouse database) using the Azure portal, navigate to a blank SQL server (logical SQL server) form.

在 Azure SQL 数据库中创建空白或示例数据库Create a blank or sample database in Azure SQL Database

若要使用 Azure 门户在 SQL 数据库中创建数据库,请导航到空白 SQL 数据库表单,并提供所需的信息。To create a database in SQL Database using the Azure portal, navigate to a blank SQL Database form and provide the requested information. 可以提前创建资源组和服务器,也可以在创建数据库本身期间创建。You can create the resource group and server ahead of time or while creating the database itself. 可以创建空白数据库,也可以创建基于 Adventure Works LT 的示例数据库。You can create a blank database or create a sample database based on Adventure Works LT.

创建数据库 - 1

重要

有关为数据库选择定价层的信息,请参阅基于 DTU 的购买模型基于 vCore 的购买模型For information on selecting the pricing tier for your database, see DTU-based purchasing model and vCore-based purchasing model.

要创建托管实例,请参阅创建托管实例To create a managed instance, see Create a managed instance

管理现有服务器Manage an existing server

若要管理现有服务器,请使用多种方法(如从特定数据库页、“SQL server”页或“所有资源”页)导航到服务器 。To manage an existing server, navigate to the server using a number of methods - such as from specific database page, the SQL servers page, or the All resources page.

若要管理现有数据库,请转到“SQL 数据库”页,再单击要管理的数据库。To manage an existing database, navigate to the SQL databases page and click the database you wish to manage. 下面的屏幕截图展示了如何通过数据库的“概述”页开始为数据库设置服务器级防火墙。The following screenshot shows how to begin setting a server-level firewall for a database from the Overview page for a database.

服务器防火墙规则

重要

要配置数据库的性能属性,请参阅基于 DTU 的购买模型基于 vCore 的购买模型To configure performance properties for a database, see DTU-based purchasing model and vCore-based purchasing model.

提示

有关 Azure 门户快速入门,请参阅在 Azure 门户的 SQL 数据库中创建数据库For an Azure portal quickstart, see Create a database in SQL Database in the Azure portal.

使用 PowerShell 管理服务器、数据库和防火墙Manage servers, databases, and firewalls using PowerShell

备注

本文进行了更新,以便使用新的 Azure PowerShell Az 模块。This article has been updated to use the new Azure PowerShell Az module. 你仍然可以使用 AzureRM 模块,至少在 2020 年 12 月之前,它将继续接收 bug 修补程序。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. 若要详细了解新的 Az 模块和 AzureRM 兼容性,请参阅新 Azure Powershell Az 模块简介To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. 有关 Az 模块安装说明,请参阅安装 Azure PowerShellFor Az module installation instructions, see Install Azure PowerShell.

重要

仍然支持 PowerShell Azure 资源管理器模块,但所有后续开发都针对 Az.Sql 模块。The PowerShell Azure Resource Manager module is still supported, but all future development is for the Az.Sql module. 若要了解这些 cmdlet,请参阅 AzureRM.SqlFor these cmdlets, see AzureRM.Sql. Az 模块和 AzureRm 模块中的命令参数大体上是相同的。The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

若要使用 Azure PowerShell 创建和管理服务器、数据库和防火墙,请使用以下 PowerShell cmdlet。To create and manage servers, databases, and firewalls with Azure PowerShell, use the following PowerShell cmdlets. 如果需要安装或升级 PowerShell,请参阅安装 Azure PowerShell 模块If you need to install or upgrade PowerShell, see Install Azure PowerShell module. 若要创建并管理弹性池,请参阅弹性池For creating and managing elastic pools, see Elastic pools.

CmdletCmdlet 说明Description
New-AzSqlDatabaseNew-AzSqlDatabase 创建数据库Creates a database
Get-AzSqlDatabaseGet-AzSqlDatabase 获取一个或多个数据库Gets one or more databases
Set-AzSqlDatabaseSet-AzSqlDatabase 设置数据库的属性,或将现有数据库移到弹性池中Sets properties for a database, or moves an existing database into an elastic pool
Remove-AzSqlDatabaseRemove-AzSqlDatabase 删除数据库Removes a database
New-AzResourceGroupNew-AzResourceGroup 创建资源组Creates a resource group
New-AzSqlServerNew-AzSqlServer 创建服务器Creates a server
Get-AzSqlServerGet-AzSqlServer 返回服务器的相关信息Returns information about servers
Set-AzSqlServerSet-AzSqlServer 修改服务器的属性Modifies properties of a server
Remove-AzSqlServerRemove-AzSqlServer 删除服务器Removes a server
New-AzSqlServerFirewallRuleNew-AzSqlServerFirewallRule 创建服务器级防火墙规则Creates a server-level firewall rule
Get-AzSqlServerFirewallRuleGet-AzSqlServerFirewallRule 获取服务器的防火墙规则Gets firewall rules for a server
Set-AzSqlServerFirewallRuleSet-AzSqlServerFirewallRule 修改服务器中的防火墙规则Modifies a firewall rule in a server
Remove-AzSqlServerFirewallRuleRemove-AzSqlServerFirewallRule 从服务器中删除防火墙规则。Deletes a firewall rule from a server.
New-AzSqlServerVirtualNetworkRuleNew-AzSqlServerVirtualNetworkRule 基于作为虚拟网络服务终结点的子网创建虚拟网络规则Creates a virtual network rule, based on a subnet that is a Virtual Network service endpoint.

使用 Azure CLI 管理服务器、数据库和防火墙Manage servers, databases, and firewalls using the Azure CLI

若要使用 Azure CLI 创建和管理服务器、数据库和防火墙,请使用以下 Azure CLI SQL 数据库命令。To create and manage servers, databases, and firewalls with the Azure CLI, use the following Azure CLI SQL Database commands. 在 macOS、 Linux 或 Windows 上安装 CLI。Install it on macOS, Linux, or Windows. 若要创建并管理弹性池,请参阅弹性池For creating and managing elastic pools, see Elastic pools.

CmdletCmdlet 说明Description
az sql db createaz sql db create 创建数据库Creates a database
az sql db listaz sql db list 列出由服务器管理的所有数据库或弹性池中的所有数据库Lists all databases managed by a server, or all databases in an elastic pool
az sql db list-editionsaz sql db list-editions 列出可用的服务目标和存储限制Lists available service objectives and storage limits
az sql db list-usagesaz sql db list-usages 返回数据库使用情况Returns database usages
az sql db showaz sql db show 获取数据库Gets a database
az sql db updateaz sql db update 更新数据库Updates a database
az sql db deleteaz sql db delete 删除数据库Removes a database
az group createaz group create 创建资源组Creates a resource group
az sql server createaz sql server create 创建服务器Creates a server
az sql server listaz sql server list 列出服务器Lists servers
az sql server list-usagesaz sql server list-usages 返回服务器使用情况Returns server usages
az sql server showaz sql server show 获取服务器Gets a server
az sql server updateaz sql server update 更新服务器Updates a server
az sql server deleteaz sql server delete 删除服务器Deletes a server
az sql server firewall-rule createaz sql server firewall-rule create 配置服务器防火墙规则Creates a server firewall rule
az sql server firewall-rule listaz sql server firewall-rule list 列出服务器上的防火墙规则Lists the firewall rules on a server
az sql server firewall-rule showaz sql server firewall-rule show 显示防火墙规则的详细信息Shows the detail of a firewall rule
az sql server firewall-rule updateaz sql server firewall-rule update 更新防火墙规则Updates a firewall rule
az sql server firewall-rule deleteaz sql server firewall-rule delete 删除防火墙规则。Deletes a firewall rule

使用 Transact-SQL 管理服务器、数据库和防火墙Manage servers, databases, and firewalls using Transact-SQL

若要使用 Transact-SQL 创建和管理服务器、数据库和防火墙,请使用以下 T-SQL 命令。To create and manage servers, databases, and firewalls with Transact-SQL, use the following T-SQL commands. 可以使用 Azure 门户、SQL Server Management StudioVisual Studio Code 或可以连接到服务器并传递 Transact-SQL 命令的任何其他程序来发出这些命令。You can issue these commands using the Azure portal, SQL Server Management Studio, Visual Studio Code, or any other program that can connect to a server and pass Transact-SQL commands. 若要管理弹性池,请参阅弹性池For managing elastic pools, see Elastic pools.

重要

无法使用 Transact-SQL 创建或删除服务器。You cannot create or delete a server using Transact-SQL.

命令Command 说明Description
CREATE DATABASE(Azure SQL 数据库)CREATE DATABASE (Azure SQL Database) 在 Azure SQL 数据库中新建数据库。Creates a new database in Azure SQL Database. 必须连接到 master 数据库才能新建数据库。You must be connected to the master database to create a new database.
CREATE DATABASE (Azure Synapse)CREATE DATABASE (Azure Synapse) 在 Azure Synapse 中新建数据仓库数据库。Creates a new data warehouse database in Azure Synapse. 必须连接到 master 数据库才能新建数据库。You must be connected to the master database to create a new database.
ALTER DATABASE(Azure SQL 数据库)ALTER DATABASE (Azure SQL Database) 修改数据库或弹性池。Modifies database or elastic pool.
ALTER DATABASE(Azure SQL 数据仓库)ALTER DATABASE (Azure SQL Data Warehouse) 在 Azure Synapse 中修改数据仓库数据库。Modifies a data warehouse database in Azure Synapse.
DROP DATABASE (Transact-SQL)DROP DATABASE (Transact-SQL) 删除数据库。Deletes a database.
sys.database_service_objectives(Azure SQL 数据库)sys.database_service_objectives (Azure SQL Database) 返回数据库的版本(服务层)、服务目标(定价层)和弹性池名称(如果有)。Returns the edition (service tier), service objective (pricing tier), and elastic pool name, if any, for a database. 如果登录到服务器的 master 数据库,将返回有关所有数据库的信息。If logged on to the master database for a server, returns information on all databases. 对于 Azure Synapse,需要连接到 master 数据库。For Azure Synapse, you must be connected to the master database.
sys.dm_db_resource_stats(Azure SQL 数据库)sys.dm_db_resource_stats (Azure SQL Database) 返回 Azure SQL 数据库中数据库的 CPU、IO 和内存消耗。Returns CPU, IO, and memory consumption for a database in Azure SQL Database. 即使数据库中没有活动,也会每隔 15 秒返回一行数据。One row exists for every 15 seconds, even if there is no activity in the database.
sys.resource_stats(Azure SQL 数据库)sys.resource_stats (Azure SQL Database) 返回 Azure SQL 数据库中数据库的 CPU 使用率和存储数据。Returns CPU usage and storage data for a database in Azure SQL Database. 在五分钟间隔内收集并聚合数据。The data is collected and aggregated within five-minute intervals.
sys.database_connection_stats(Azure SQL 数据库)sys.database_connection_stats (Azure SQL Database) 包含 Azure SQL 数据库的数据库连接事件的统计信息,提供数据库连接成功和失败的概述。Contains statistics for database connectivity events for Azure SQL Database, providing an overview of database connection successes and failures.
sys.event_log(Azure SQL 数据库)sys.event_log (Azure SQL Database) 为 Azure SQL 数据库返回成功的 Azure SQL 数据库连接数、连接失败数和死锁数。Returns successful Azure SQL Database database connections, connection failures, and deadlocks for Azure SQL Database. 可以使用此信息来跟踪数据库活动或对其进行故障排除。You can use this information to track or troubleshoot your database activity.
sp_set_firewall_rule(Azure SQL 数据库)sp_set_firewall_rule (Azure SQL Database) 创建或更新服务器的服务器级防火墙设置。Creates or updates the server-level firewall settings for your server. 此存储过程仅在服务器级别主体登录名的 master 数据库中可用。This stored procedure is only available in the master database to the server-level principal login. 只有在拥有 Azure 级权限的用户创建首个服务器级防火墙规则后,才能使用 Transact-SQL 创建服务器级防火墙规则A server-level firewall rule can only be created using Transact-SQL after the first server-level firewall rule has been created by a user with Azure-level permissions
sys.firewall_rules(Azure SQL 数据库)sys.firewall_rules (Azure SQL Database) 返回与服务器关联的服务器级防火墙设置的相关信息。Returns information about the server-level firewall settings associated with a server.
sp_delete_firewall_rule(Azure SQL 数据库)sp_delete_firewall_rule (Azure SQL Database) 从服务器中删除服务器级防火墙设置。Removes server-level firewall settings from a server. 此存储过程仅在服务器级别主体登录名的 master 数据库中可用。This stored procedure is only available in the master database to the server-level principal login.
sp_set_database_firewall_rule(Azure SQL 数据库)sp_set_database_firewall_rule (Azure SQL Database) 为 Azure SQL 数据库中的数据库创建或更新数据库级防火墙规则。Creates or updates the database-level firewall rules for a database in Azure SQL Database. 可以为 master 数据库以及 SQL 数据库中的用户数据库配置数据库防火墙规则。Database firewall rules can be configured for the master database, and for user databases in SQL Database. 使用包含的数据库用户时,数据库防火墙规则非常有用。Database firewall rules are useful when using contained database users. Azure Synapse 中不支持数据库防火墙规则。Database firewall rules are not supported in Azure Synapse.
sys.database_firewall_rules(Azure SQL 数据库)sys.database_firewall_rules (Azure SQL Database) 返回有关 Azure SQL 数据库中数据库的数据库级防火墙设置的信息。Returns information about the database-level firewall settings for a database in Azure SQL Database.
sp_delete_database_firewall_rule(Azure SQL 数据库)sp_delete_database_firewall_rule (Azure SQL Database) 在 Azure SQL 数据库中删除你的数据库的数据库级防火墙设置。Removes database-level firewall setting for a database of yours in Azure SQL Database.

提示

有关在 Microsoft Windows 上使用 SQL Server Management Studio 的快速入门,请参阅 Azure SQL 数据库:使用 SQL Server Management Studio 进行连接和数据查询For a quickstart using SQL Server Management Studio on Microsoft Windows, see Azure SQL Database: Use SQL Server Management Studio to connect and query data. 有关在 macOS、Linux 或 Windows 上使用 Visual Studio Code 的快速入门,请参阅 Azure SQL 数据库:使用 Visual Studio Code 进行连接和数据查询For a quickstart using Visual Studio Code on the macOS, Linux, or Windows, see Azure SQL Database: Use Visual Studio Code to connect and query data.

使用 REST API 管理服务器、数据库和防火墙Manage servers, databases, and firewalls using the REST API

若要创建和管理服务器、数据库和防火墙,请使用这些 REST API 请求。To create and manage servers, databases, and firewalls, use these REST API requests.

命令Command 说明Description
服务器 - 创建或更新Servers - Create or update 创建或更新新服务器。Creates or updates a new server.
Servers - DeleteServers - Delete 删除服务器。Deletes a server.
Servers - GetServers - Get 获取服务器。Gets a server.
Servers - ListServers - List 返回服务器列表。Returns a list of servers.
服务器 - 按资源组列出Servers - List by resource group 返回资源组中服务器的列表。Returns a list of servers in a resource group.
Servers - UpdateServers - Update 更新现有服务器。Updates an existing server.
数据库 - 创建或更新Databases - Create or update 创建新数据库或更新现有数据库。Creates a new database or updates an existing database.
数据库 - 删除Databases - Delete 删除数据库。Deletes a database.
数据库 - 获取Databases - Get 获取数据库。Gets a database.
数据库 - 按弹性池列出Databases - List by elastic pool 返回弹性池中数据库的列表。Returns a list of databases in an elastic pool.
数据库 - 按服务器列出Databases - List by server 返回服务器中的数据库列表。Returns a list of databases in a server.
数据库 - 更新Databases - Update 更新现有的数据库。Updates an existing database.
防火墙规则 - 创建或更新Firewall rules - Create or update 创建或更新防火墙规则。Creates or updates a firewall rule.
防火墙规则 - 删除Firewall rules - Delete 删除防火墙规则。Deletes a firewall rule.
防火墙规则 - 获取Firewall rules - Get 获取防火墙规则。Gets a firewall rule.
防火墙规则 - 按服务器列出Firewall rules - List by server 返回防火墙规则的列表。Returns a list of firewall rules.

后续步骤Next steps