在 Azure SQL Database 中建立並管理伺服器及單一資料庫
您可以使用 Azure 入口網站、PowerShell、Azure CLI、REST API 和 Transact-SQL,來建立並管理 Azure SQL Database 伺服器及單一資料庫。
注意
免費試用 Azure SQL 資料庫,每月取得 100,000 虛擬核心秒數的無伺服器運算和 32 GB 的儲存體。
必要條件
- 有效的 Azure 訂用帳戶。 如果您沒有訂用帳戶,請建立免費帳戶。
權限
若要透過 Transact-SQL 建立資料庫: CREATE DATABASE
需要權限。 若要建立資料庫,登入必須是伺服器管理員登入 (佈建 Azure SQL 資料庫邏輯伺服器時建立)、伺服器的 Microsoft Entra 管理員、 中 dbmanager 資料庫角色的成員、目前資料庫中 db_owner 資料庫角色的成員,或資料庫的 master
。 如需詳細資訊,請參閱 CREATE DATABASE。
若要透過Azure 入口網站、PowerShell、Azure CLI 或 REST API︰調整資料庫,則需要 Azure RBAC 權限,特別是參與者、SQL DB 參與者角色或 SQL Server 參與者 Azure RBAC 角色。 如需詳細資訊,請參閱 Azure RBAC:內建角色。
Azure 入口網站
您可以事先或在建立伺服器本身的同時,建立 Azure SQL Database 的資源群組。
提示
如需 Azure 入口網站 快速入門,請參閱快速入門:建立單一資料庫。
建立伺服器
若要使用 Azure 入口網站建立伺服器,請從 Azure Marketplace 建立新的伺服器資源。 或者,您也可以在部署 Azure SQL Database 時建立伺服器。
建立空白或範例資料庫
若要使用 Azure 入口網站來建立單一 Azure SQL Database,請選擇 Azure Marketplace 中的 Azure SQL Database 資源。 您可以事先或在建立資料庫本身的同時,建立資源群組和伺服器。 您可以建立空白資料庫,或建立根據 Adventure Works LT 的範例資料庫。
重要
如需選取資料庫定價層的資訊,請參閱以 DTU 為基礎的購買模型和以虛擬核心為基礎的購買模型。
管理現有的伺服器
若要管理現有的伺服器,請使用多種方法 (例如從特定的資料庫頁面、[SQL Server] 頁面,或 [所有資源] 頁面),瀏覽至伺服器。
若要管理現有的資料庫,請瀏覽至 [SQL 資料庫] 頁面,並選取想要管理的資料庫。 下列螢幕擷取畫面顯示如何從資料庫的 [概觀] 頁面,開始設定資料庫的伺服器層級防火牆。
重要
若要設定資料庫的效能屬性,請參閱以 DTU 為基礎的購買模型和以虛擬核心為基礎的購買模型。
PowerShell
注意
本文使用 Azure Az PowerShell 模組,這是與 Azure 互動時建議使用的 PowerShell 模組。 若要開始使用 Az PowerShell 模組,請參閱安裝 Azure PowerShell。 若要瞭解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。
重要
Azure SQL 資料庫仍然支援 PowerShell Azure Resource Manager 模組,但所有未來的開發都是針對 Az.Sql 模組。 如需這些 Cmdlet,請參閱 AzureRM.Sql \(英文\)。 Az 模組和 AzureRm 模組中命令的引數本質上完全相同。
若要使用 Azure PowerShell 建立並管理伺服器、單一和集區資料庫,以及伺服器層級防火牆,請使用下列 PowerShell 的 Cmdlet。 如果您需要安裝或升級 PowerShell,請參閱安裝 Azure PowerShell 模組。
提示
如需 PowerShell 範例指令碼,請參閱使用 PowerShell 在 SQL Database 中建立資料庫,並設定伺服器層級防火牆規則,以及使用 PowerShell 在 SQL Database 中監視和調整資料庫。
指令程式 | 描述 |
---|---|
New-AzSqlDatabase | 建立資料庫 |
Get-AzSqlDatabase | 取得一或多個資料庫 |
Set-AzSqlDatabase | 設定資料庫的屬性,或將現有資料庫移到彈性集區中 |
Remove-AzSqlDatabase | 移除資料庫 |
New-AzResourceGroup | 建立資源群組 |
New-AzSqlServer | 建立伺服器 |
Get-AzSqlServer | 傳回伺服器的相關資訊 |
Set-AzSqlServer | 修改伺服器的屬性 |
Remove-AzSqlServer | 移除伺服器 |
New-AzSqlServerFirewallRule | 建立伺服器層級防火牆規則 |
Get-AzSqlServerFirewallRule | 取得伺服器的防火牆規則 |
Set-AzSqlServerFirewallRule | 修改伺服器中的防火牆規則 |
Remove-AzSqlServerFirewallRule | 刪除伺服器的防火牆規則 |
New-AzSqlServerVirtualNetworkRule | 根據同時是虛擬網路服務端點的子網路,建立虛擬網路規則。 |
Azure CLI
若要使用 Azure CLI 建立並管理伺服器、資料庫和防火牆,請使用下列 Azure CLI 命令。 使用 Cloud Shell 在您的瀏覽器執行 Azure CLI,或在 macOS、Linux 或 Windows 上安裝 Azure CLI。 如需建立和管理彈性集區,請參閱彈性集區。
提示
如需 Azure CLI 快速入門,請參閱使用 Azure CLI 建立單一 Azure SQL Database。 如需 Azure CLI 範例指令碼,請參閱建立單一資料庫並設定防火牆規則和使用 CLI 在 Azure SQL 資料庫中監視和調整資料庫。
指令程式 | 描述 |
---|---|
az sql db create | 建立資料庫 |
az sql db list | 列出伺服器中的所有資料庫和資料倉儲,或彈性集區中的所有資料庫 |
az sql db list-editions | 列出可用的服務目標與儲存體限制 |
az sql db list-usages | 傳回資料庫使用方式 |
az sql db show | 取得資料庫或資料倉儲 |
az sql db update | 更新資料庫 |
az sql db delete | 移除資料庫 |
az group create | 建立資源群組 |
az sql server create | 建立伺服器 |
az sql server list | 列出伺服器 |
az sql server list-usages | 傳回伺服器使用方式 |
az sql server show | 取得伺服器 |
az sql server update | 更新伺服器 |
az sql server delete | 刪除伺服器 |
az sql server firewall-rule create | 建立伺服器防火牆規則 |
az sql server firewall-rule list | 列出伺服器上的防火牆規則 |
az sql server firewall-rule show | 顯示防火牆規則的詳細資料 |
az sql server firewall-rule update | 更新防火牆規則 |
az sql server firewall-rule delete | 刪除防火牆規則 |
Transact-SQL (T-SQL)
若要使用 Transact-SQL 建立並管理伺服器、資料庫和防火牆,請使用下列 T-SQL 命令。 您可以透過下列方式來發出這些命令,例如使用 Azure 入口網站、SQL Server Management Studio、Visual Studio Code,或任何可連接到 SQL Database,並傳遞 Transact-SQL 命令的其他程式。 有關彈性集區的介紹,請參閱彈性集區可協助您管理及調整 Azure SQL 資料庫中的多個資料庫。
提示
如需在 Microsoft Windows 上使用 SQL Server Management Studio 的快速入門,請參閱 Azure SQL 資料庫:使用 Azure SQL 受控執行個體連線及查詢資料。 如需在 macOS、Linux 或 Windows 上使用 Visual Studio Code 的快速入門,請參閱 快速入門:使用 Visual Studio Code 連線及查詢 Azure SQL 資料庫或Azure SQL 受控執行個體。
重要
您無法使用 Transact-SQL 建立或刪除伺服器。
Command | 描述 |
---|---|
CREATE DATABASE | 建立新的單一資料庫。 您必須連線到 master 資料庫才能建立新的資料庫。 |
ALTER DATABASE | 修改資料庫或彈性集區。 |
DROP DATABASE | 刪除資料庫。 |
sys.database_service_objectives | 針對 Azure Synapse Analytics 中的 Azure SQL Database 或專用 SQL 集區,傳回版本 (服務層級)、服務目標 (定價層) 以及彈性集區名稱 (若適用)。 若已登入 SQL Database 伺服器中的 master 資料庫,則系統會傳回所有資料庫的相關資訊。 針對 Azure Synapse Analytics,您必須連線至 master 資料庫。 |
sys.dm_db_resource_stats | 傳回 Azure SQL Database 中資料庫的 CPU、IO 和記憶體耗用量。 每 15 秒就會產生一個資料列,即使資料庫中沒有任何活動亦然。 |
sys.resource_stats | 傳回 Azure SQL Database 中資料庫的 CPU 使用量和儲存資料。 於五分鐘間隔內收集及彙總資料。 |
sys.database_connection_stats | 包含 SQL Database 連線事件的統計資料,提供資料庫連接成功和失敗的概觀。 |
sys.event_log | 傳回成功的 Azure SQL Database 資料庫連線和連線失敗。 可以使用這些資訊,對 SQL Database 的資料庫活動進行追蹤或疑難排解。 |
sp_set_firewall_rule | 建立或更新伺服器的伺服器等級防火牆設定。 這個預存程序僅適用於 master 資料庫中的伺服器層級主體登入。 具有 Azure 層級權限的使用者建立第一個伺服器層級防火牆規則之後,才能使用 Transact-SQL 建立伺服器層級防火牆規則 |
sys.firewall_rules | 針對 Azure SQL Database 中的資料庫,傳回與其相關聯的伺服器層級防火牆設定資訊。 |
sp_delete_firewall_rule | 從您的伺服器移除伺服器層級防火牆設定。 這個預存程序僅適用於 master 資料庫中的伺服器層級主體登入。 |
sp_set_database_firewall_rule | 針對 Azure SQL Database 中的資料庫,建立或更新資料庫層級防火牆規則。 您可以為 master 資料庫,以及 SQL Database 上的使用者資料庫,設定資料庫防火牆規則。 使用自主資料庫使用者時,資料庫防火牆規則很有用。 |
sys.database_firewall_rules | 針對 Azure SQL Database 中的資料庫,傳回與其相關聯的資料庫層級防火牆設定資訊。 |
sp_delete_database_firewall_rule | 從資料庫移除資料庫層級防火牆設定。 |
REST API
若要建立並管理伺服器、資料庫和防火牆,請使用 REST API 要求。
Command | 描述 |
---|---|
伺服器 - 建立或更新 | 建立或更新新的伺服器。 |
伺服器 - 刪除 | 刪除 SQL 伺服器。 |
伺服器 - 取得 | 取得伺服器。 |
伺服器 - 清單 | 傳回訂用帳戶中的伺服器清單。 |
伺服器 - 依資源群組列示 | 傳回資源群組中的伺服器清單。 |
伺服器 - 更新 | 更新現有伺服器。 |
資料庫 - 建立或更新 | 建立新的資料庫或更新現有資料庫。 |
資料庫 - 刪除 | 刪除資料庫。 |
資料庫 - 取得 | 取得資料庫。 |
資料庫 - 依彈性集區列出 | 傳回將彈性集區中的資料庫列出的清單。 |
資料庫 - 依伺服器列出 | 傳回伺服器中的資料庫清單。 |
資料庫 - 更新 | 更新現有的資料庫。 |
防火牆規則 - 建立或更新 | 建立或更新防火牆規則。 |
防火牆規則 - 刪除 | 刪除防火牆規則。 |
防火牆規則 - 取得 | 取得防火牆規則。 |
防火牆規則 - 依伺服器列出 | 傳回防火牆規則的清單。 |