Azure SQL Database 伺服器及其管理方式Azure SQL Database servers and their management

什麼是 Azure SQL Database 伺服器What is an Azure SQL Database server

SQL Database 伺服器是一種邏輯建構,可作為多個單一或集區資料庫、登入防火牆規則稽核規則威脅偵測原則,以及容錯移轉群組的中央管理點。SQL Database 伺服器可以位於與其資源群組不同的區域中。A SQL Database server is a logical construct that acts as a central administrative point for multiple single or pooled databases, logins, firewall rules, auditing rules, threat detection policies, and failover groups A SQL Database server can be in a different region than its resource group. SQL Database 伺服器必須先存在,才能建立 Azure SQL 資料庫。The SQL Database server must exist before you can create the Azure SQL database. 由 SQL Database 伺服器管理的所有資料庫都是在與 SQL Database 伺服器相同的區域內建立。All databases managed by a SQL Database server are created within the same region as the SQL Database server.

SQL Database 伺服器與您可能已熟悉運用在內部部署環境中的 SQL Server 執行個體不同。A SQL Database server is distinct from a SQL Server instance that you may be familiar with in the on-premises world. 具體來說,SQL Database 服務對於管理這些資料庫的 SQL Database 伺服器相關之資料庫位置不提供任何保證,且不公開任何執行個體層級存取權或功能。Specifically, the SQL Database service makes no guarantees regarding location of the databases in relation to the SQL Database server that manages them, and exposes no instance-level access or features. 相較之下,受控執行個體中的執行個體資料庫全部為共置 - 與您在內部部署環境中熟悉的 SQL Server 方式相同。In contrast, the instance databases in a managed instance are all co-located - in the same way that you are familiar with SQL Server in the on-premises world.

當您建立 SQL Database 伺服器時,提供的伺服器登入帳戶和密碼必須擁有該伺服器上 master 資料庫的系統管理權限,以及在該伺服器上建立之所有資料庫的系統管理權限。When you create a SQL Database 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 Database 支援 SQL 驗證和 Azure Active Directory 驗證來進行驗證。Azure SQL Database supports SQL authentication and Azure Active Directory Authentication for authentication. 如需登入和驗證的相關資訊,請參閱管理 Azure SQL Database 的資料庫和登入For information about logins and authentication, see Managing Databases and Logins in Azure SQL Database. 不支援 Windows 驗證。Windows Authentication is not supported.

SQL Database 伺服器:A SQL Database server:

  • 建立在 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 warehouses
  • 是具有強式存留期語意 - 刪除伺服器的邏輯容器,它會刪除自主資料庫、彈性集區和資料倉儲Is a logical container with strong lifetime semantics - delete a server and it deletes the contained databases, elastic pools, and data warehouses
  • 參與 Azure 角色型存取控制 (RBAC) - 伺服器內的資料庫、彈性集區和資料倉儲會從伺服器繼承存取權限Participates in Azure role-based access control (RBAC) - databases, elastic pools, and data warehouses 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 warehouses for Azure resource management purposes (see the URL scheme for databases and pools)
  • 區域中的共置資源Collocates resources in a region
  • 提供用來存取資料庫的連接端點 (<serverName>.database.windows.net)Provides a connection endpoint for database access (<serverName>.database.windows.net)
  • 藉由連接到 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 或虛擬核心配額範圍 (例如 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 on your premises 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 Database 伺服器上建立之所有資料庫的預設定序是 SQL_LATIN1_GENERAL_CP1_CI_AS,其中 LATIN1_GENERAL 是英文 (美國)、CP1 是字碼頁 1252、CI 是不區分大小寫,以及 AS 是區分腔調字。The default collation for all databases created on a SQL Database 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 入口網站管理 Azure SQL 伺服器、資料庫和防火牆Manage Azure SQL servers, databases, and firewalls using the Azure portal

您可以事先或在建立伺服器本身的同時,建立 Azure SQL 資料庫的資源群組。You can create the Azure SQL database's resource group ahead of time or while creating the server itself. 有多種方法可以使用新的 SQL Server 表單,可以透過建立新的 SQL Server,或是在建立新資料庫時一起使用。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.

建立空白的 SQL Database 伺服器Create a blank SQL Database server

若要使用 Azure 入口網站建立 Azure SQL Database 伺服器 (不含資料庫),請瀏覽至空白的 SQL 伺服器 (邏輯伺服器) 表單。To create an Azure SQL Database server (without a database) using the Azure portal, navigate to a blank SQL server (logical server) form.

建立空白或範例 SQL 資料庫Create a blank or sample SQL database

若要使用 Azure 入口網站建立 Azure SQL 資料庫,請瀏覽至空白的 SQL Database 表單,並提供要求的資訊。To create an Azure SQL database using the Azure portal, navigate to a blank SQL Database form and provide the requested information. 您可以事先或在建立資料庫本身的同時,建立 Azure SQL 資料庫的資源群組和 SQL Database 伺服器。You can create the Azure SQL database's resource group and SQL Database 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 為基礎的購買模型以虛擬核心為基礎的購買模型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

管理現有的 SQL ServerManage an existing SQL server

若要管理現有的伺服器,請使用多種方法 (例如從特定的 SQL 資料庫頁面、[SQL Server] 頁面,或 [所有資源] 頁面),瀏覽至伺服器。To manage an existing server, navigate to the server using a number of methods - such as from specific SQL 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 為基礎的購買模型以虛擬核心為基礎的購買模型To configure performance properties for a database, see DTU-based purchasing model and vCore-based purchasing model.

提示

如需 Azure 入口網站快速入門,請參閱在 Azure 入口網站中建立 Azure SQL 資料庫For an Azure portal quickstart, see Create an Azure SQL database in the Azure portal.

使用 PowerShell 管理 Azure SQL 伺服器、資料庫和防火牆Manage Azure SQL 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.

重要

Azure SQL Database 仍然支援 PowerShell Azure Resource Manager 模組, 但所有未來的開發都是針對 Az .Sql 模組。The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. 如需這些 Cmdlet, 請參閱AzureRMFor 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 建立和管理 Azure SQL 伺服器、資料庫和防火牆,請使用下列 PowerShell 指令程式。To create and manage Azure SQL server, 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 管理 Azure SQL 伺服器、資料庫和防火牆Manage Azure SQL servers, databases, and firewalls using the Azure CLI

若要使用 Azure CLI 建立和管理 Azure SQL 伺服器、資料庫和防火牆,請使用下列 Azure CLI SQL Database 命令。To create and manage Azure SQL server, databases, and firewalls with the Azure CLI, use the following Azure CLI SQL Database commands. 使用 Cloud Shell 在您的瀏覽器中執行 CLI,或在 macOS、Linux 或 Windows 中安裝Use the Cloud Shell to run the CLI in your browser, or 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 and data warehouses in 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 or data warehouse
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 管理 Azure SQL 伺服器、資料庫和防火牆Manage Azure SQL servers, databases, and firewalls using Transact-SQL

若要使用 Transact-SQL 建立和管理 Azure SQL 伺服器、資料庫和防火牆,請使用下列 T-SQL 命令。To create and manage Azure SQL server, databases, and firewalls with Transact-SQL, use the following T-SQL commands. 您可以使用 Azure 入口網站、SQL Server Management StudioVisual Studio Code,或任何可連線到 Azure SQL Database 伺服器並傳遞 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 an Azure SQL Database 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 Database)CREATE DATABASE (Azure SQL Database) 建立新的資料庫。Creates a new database. 您必須連線到 master 資料庫才能建立新的資料庫。You must be connected to the master database to create a new database.
ALTER DATABASE (Azure SQL Database)ALTER DATABASE (Azure SQL Database) 修改 Azure SQL 資料庫。Modifies an Azure SQL database.
ALTER DATABASE (Azure SQL Data Warehouse)ALTER DATABASE (Azure SQL Data Warehouse) 修改 Azure SQL 資料倉儲。Modifies an Azure SQL Data Warehouse.
DROP DATABASE (Transact-SQL)DROP DATABASE (Transact-SQL) 刪除資料庫。Deletes a database.
sys.database_service_objectives (Azure SQL Database)sys.database_service_objectives (Azure SQL Database) 傳回 Azure SQL 資料庫或 Azure SQL 資料倉儲的版本 (服務層級)、服務目標 (定價層) 和彈性集區名稱 (如果有的話)。Returns the edition (service tier), service objective (pricing tier), and elastic pool name, if any, for an Azure SQL database or an Azure SQL Data Warehouse. 若已登入 Azure SQL Database 伺服器中的 master 資料庫,則傳回所有資料庫的相關資訊。If logged on to the master database in an Azure SQL Database server, returns information on all databases. 對於 Azure SQL 資料倉儲,您必須連線到 master 資料庫。For Azure SQL Data Warehouse, you must be connected to the master database.
sys.dm_db_resource_stats (Azure SQL Database)sys.dm_db_resource_stats (Azure SQL Database) 傳回 Azure SQL Database 資料庫的 CPU、IO 和記憶體耗用量。Returns CPU, IO, and memory consumption for an Azure SQL Database database. 每 15 秒會有一列,即使資料庫沒有任何活動,也會有一列。One row exists for every 15 seconds, even if there is no activity in the database.
sys.resource_stats (Azure SQL Database)sys.resource_stats (Azure SQL Database) 傳回 Azure SQL Database 的 CPU 使用量和儲存體資料。Returns CPU usage and storage data for an Azure SQL Database. 每五分鐘會收集和彙總資料一次。The data is collected and aggregated within five-minute intervals.
sys.database_connection_stats (Azure SQL Database)sys.database_connection_stats (Azure SQL Database) 包含 SQL Database 資料庫連線事件的統計資料,提供資料庫連接成功和失敗的概觀。Contains statistics for SQL Database database connectivity events, providing an overview of database connection successes and failures.
sys.event_log (Azure SQL Database)sys.event_log (Azure SQL Database) 傳回成功的 Azure SQL Database 資料庫連接、連接失敗和死結。Returns successful Azure SQL Database database connections, connection failures, and deadlocks. 可以使用這些資訊,對 SQL Database 的資料庫活動進行追蹤或疑難排解。You can use this information to track or troubleshoot your database activity with SQL Database.
sp_set_firewall_rule (Azure SQL Database)sp_set_firewall_rule (Azure SQL Database) 建立或更新 SQL Database 伺服器的伺服器層級防火牆設定。Creates or updates the server-level firewall settings for your SQL Database 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 Database)sys.firewall_rules (Azure SQL Database) 傳回與您的 Microsoft Azure SQL Database 相關聯之伺服器層級防火牆設定的相關資訊。Returns information about the server-level firewall settings associated with your Microsoft Azure SQL Database.
sp_delete_firewall_rule (Azure SQL Database)sp_delete_firewall_rule (Azure SQL Database) 移除 SQL Database 伺服器的伺服器層級防火牆設定。Removes server-level firewall settings from your SQL Database 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 Database)sp_set_database_firewall_rule (Azure SQL Database) 建立或更新您的 Azure SQL Database 或 SQL 資料倉儲的資料庫層級防火牆規則。Creates or updates the database-level firewall rules for your Azure SQL Database or SQL Data Warehouse. 您可以為 master 資料庫,以及 SQL Database 上的使用者資料庫,設定資料庫防火牆規則。Database firewall rules can be configured for the master database, and for user databases on SQL Database. 使用自主資料庫使用者時,資料庫防火牆規則很有用。Database firewall rules are useful when using contained database users.
sys.database_firewall_rules (Azure SQL Database)sys.database_firewall_rules (Azure SQL Database) 傳回與您的 Microsoft Azure SQL Database 相關聯之資料庫層級防火牆設定的相關資訊。Returns information about the database-level firewall settings associated with your Microsoft Azure SQL Database.
sp_delete_database_firewall_rule (Azure SQL Database)sp_delete_database_firewall_rule (Azure SQL Database) 移除您的 Azure SQL Database 或 SQL 資料倉儲的資料庫層級防火牆設定。Removes database-level firewall setting from your Azure SQL Database or SQL Data Warehouse.

提示

如需在 Microsoft Windows 上使用 SQL Server Management Studio 的快速入門,請參閱 Azure SQL Database:使用 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 Database:使用 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 管理 Azure SQL 伺服器、資料庫和防火牆Manage Azure SQL servers, databases, and firewalls using the REST API

若要建立和管理 Azure SQL 伺服器、資料庫和防火牆,請使用 REST API 要求。To create and manage Azure SQL server, databases, and firewalls, use these REST API requests.

命令Command 描述Description
伺服器 - 建立或更新Servers - Create or update 建立或更新新的伺服器。Creates or updates a new server.
伺服器 - 刪除Servers - Delete 刪除 SQL 伺服器。Deletes a SQL server.
伺服器 - 取得Servers - Get 取得伺服器。Gets a server.
伺服器 - 清單Servers - List 傳回伺服器的清單。Returns a list of servers.
伺服器 - 依資源群組列示Servers - List by resource group 傳回資源群組中的伺服器清單。Returns a list of servers in a resource group.
伺服器 - 更新Servers - 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