为了在 Azure 门户中创建单一数据库,本快速入门将从 Azure SQL 页面开始。
浏览选择 SQL 部署选项页。
在“SQL 数据库”下将“资源类型”设置保留为“单一数据库”,然后选择“创建” 。
在“创建 SQL 数据库”窗体的“基本信息”选项卡上的“项目详细信息”下,选择所需的 Azure订阅 。
对于“资源组”,选择“新建”,输入“myResourceGroup”,然后选择“确定” 。
对于“数据库名称”,输入“mySampleDatabase”。
对于“服务器”,选择“新建”,并使用以下值填写“新服务器”窗体 :
- 服务器名称:输入“mysqlserver”并添加一些字符以实现唯一性。 我们无法提供要使用的确切服务器名称,因为对于 Azure 中的所有服务器,服务器名称必须全局唯一,而不只是在订阅中唯一。 输入名称(例如 mysqlserver12345),门户会告知该名称是否可用。
- 服务器管理员登录名:输入“azureuser”。
- 密码:输入符合要求的密码,然后在“确认密码”字段中再次输入该密码。
- 位置:从下拉列表中选择一个位置。
选择“确定”。
在“计算 + 存储”下选择“配置数据库” 。
本快速入门将创建一个超大规模数据库。 对于“服务层级”,请选择“超大规模”。
在“计算硬件”下,选择“更改配置”。 查看可用的硬件配置,并选择最合适你数据库的配置。 对于本示例,我们将选择“标准系列 (Gen5)”配置。
选择“确定”以确认硬件代系。
(可选)如果要增加数据库的 vCore 数,请调节“vCore”滑块。 对于本示例,我们将选择 2 个 vCore。
调节“高可用性辅助副本”滑块以创建一个高可用性 (HA) 副本。
选择应用。
创建超大规模数据库时,请认真考虑“备份存储冗余”的配置选项。 对于超大规模数据库,存储冗余只能在数据库创建过程中指定。 可以选择本地冗余、区域冗余或异地冗余存储。 所选存储冗余选项将在数据库的整个生存期内使用,以同时实现数据存储冗余和备份存储冗余。 现有数据库可以通过数据库复制或时间点还原迁移到不同的存储冗余。
在完成时选择“下一步:网络”。
在“网络”选项卡上,对于“连接方法”,选择“公共终结点” 。
对于“防火墙规则”,将“添加当前客户端 IP 地址”设置为“是” 。 将“允许 Azure 服务和资源访问此服务器”设置保留为“否” 。
在页面底部选择“下一步: 安全”。
(可选)启用 Microsoft Defender for SQL。
在完成时选择“下一步:其他设置”。
在“其他设置”选项卡上的“数据源”部分中,对于“使用现有数据”,请选择“示例”。 这将创建一个 AdventureWorksLT 示例数据库,此数据库包含可查询和试验的一些表和数据,而不是一个空数据库。
在页面底部选择“查看 + 创建”:
在“查看 + 创建”页上,查看后选择“创建”。
此部分中的 Azure CLI 代码块将创建用于访问服务器的资源组、服务器、单一数据库和服务器级 IP 防火墙规则。 请确保记录生成的资源组和服务器名称,以便可以在以后管理这些资源。
如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
为 Azure CLI 准备环境
启动 Azure Cloud Shell
Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。
若要打开 Cloud Shell,请从代码块的右上角选择试一试。 也可以通过转到 https://shell.azure.com 在单独的浏览器标签页中启动 Cloud Shell。
当 Cloud Shell 打开时,请验证是否为环境选择了Bash。 后续会话将在 Bash 环境中使用 Azure CLI。 选择复制以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。
登录 Azure
Cloud Shell 会在登录时使用的初始帐户下自动进行身份验证。 使用以下脚本通过其他订阅登录,将 <Subscription ID>
替换为 Azure 订阅 ID。 如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
有关详细信息,请参阅设置有效的订阅或以交互方式登录
设置参数值
后续命令使用以下值来创建数据库和所需资源。 服务器名称需要在整个 Azure 中全局唯一,因此使用 $RANDOM 函数创建服务器名称。
在运行示例代码之前,请根据环境相应地更改 location
。 替换 IP 地址范围中的 0.0.0.0
,以匹配你的特定环境。 使用正在使用的计算机的公共 IP 地址将服务器限制为只允许你的 IP 地址访问。
# <FullScript>
# Create a single database and configure a firewall rule
# <SetParameterValues>
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-azuresql-rg-$randomIdentifier"
tag="create-and-configure-database"
server="msdocs-azuresql-server-$randomIdentifier"
database="msdocsazuresqldb$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit access to the SQL Database server
startIp=0.0.0.0
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroupName="myResourceGroup"
tag="create-and-configure-database"
serverName="mysqlserver-$randomIdentifier"
databaseName="mySampleDatabase"
login="azureuser"
password="<password>-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit access to the SQL Database server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroupName with login: $login, password: $password..."
创建资源组
使用“az group create”命令创建资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。 以下示例在前一步骤中为 location
参数指定的位置创建资源组:
echo "Creating $resourceGroupName in $location..."
az group create --name $resourceGroupName --location "$location" --tag $tag
创建服务器
使用 az sql server create 命令创建逻辑服务器。
echo "Creating $serverName in $location..."
az sql server create --name $serverName --resource-group $resourceGroupName --location "$location" --admin-user $login --admin-password $password
使用 az sql server firewall-rule create 命令创建防火墙规则。
echo "Configuring firewall..."
az sql server firewall-rule create --resource-group $resourceGroupName --server $serverName -n AllowYourIp --start-ip-address $startIp --end-ip-address $endIp
创建单一数据库
使用 az sql db create 命令在超大规模服务层级中创建数据库。
创建超大规模数据库时,请认真考虑 backup-storage-redundancy
的设置。 对于超大规模数据库,存储冗余只能在数据库创建过程中指定。 可以选择本地冗余、区域冗余或异地冗余存储。 所选存储冗余选项将在数据库的整个生存期内使用,以同时实现数据存储冗余和备份存储冗余。 现有数据库可以通过数据库复制或时间点还原迁移到不同的存储冗余。 backup-storage-redundancy
参数允许的值为:Local
、Zone
或 Geo
。 除非明确指定,否则数据库将配置为使用异地冗余备份存储。
运行以下命令,以创建填充了 AdventureWorksLT 示例数据的超大规模数据库。 该数据库使用具有 2 个 vCore 的标准系列 (Gen5) 硬件。 该数据库使用异地冗余备份存储。 该命令还会创建一个高可用性 (HA) 副本。
az sql db create \
--resource-group $resourceGroupName \
--server $serverName \
--name $databaseName \3
--sample-name AdventureWorksLT \
--edition Hyperscale \
--compute-model Provisioned \
--family Gen5 \
--capacity 2 \
--backup-storage-redundancy Geo \
--ha-replicas 1
可以使用 Azure PowerShell 创建资源组、服务器和单一数据库。
启动 Azure Cloud Shell
Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。
若要打开 Cloud Shell,请从代码块的右上角选择试一试。 也可以通过转到 https://shell.azure.com 在单独的浏览器标签页中启动 Cloud Shell。
当 Cloud Shell 打开时,请验证是否为环境选择了“PowerShell”。 后续会话将在 PowerShell 环境中使用 Azure CLI。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。
设置参数值
后续命令使用以下值来创建数据库和所需资源。 服务器名称需要在整个 Azure 中全局唯一,因此使用 Get-Random cmdlet 创建服务器名称。
在运行示例代码之前,请根据环境相应地更改 location
。 替换 IP 地址范围中的 0.0.0.0
,以匹配你的特定环境。 使用正在使用的计算机的公共 IP 地址将服务器限制为只允许你的 IP 地址访问。
# Set variables for your server and database
$resourceGroupName = "myResourceGroup"
$location = "eastus"
$adminLogin = "azureuser"
$password = "<password>-$(Get-Random)"
$serverName = "mysqlserver-$(Get-Random)"
$databaseName = "mySampleDatabase"
# The ip address range that you want to allow to access your server
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"
# Show randomized variables
Write-host "Resource group name is" $resourceGroupName
Write-host "Server name is" $serverName
Write-host "Password is" $password
创建资源组
使用 New-AzResourceGroup 创建 Azure 资源组。 资源组是在其中部署和管理 Azure 资源的逻辑容器。
Write-host "Creating resource group..."
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location -Tag @{Owner="SQLDB-Samples"}
$resourceGroup
创建服务器
使用 New-AzSqlServer cmdlet 创建服务器。
Write-host "Creating primary server..."
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-Location $location `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $adminLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$server
创建防火墙规则
使用 New-AzSqlServerFirewallRule cmdlet 创建服务器防火墙规则。
Write-host "Configuring server firewall rule..."
$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp
$serverFirewallRule
创建单一数据库
使用 New-AzSqlDatabase cmdlet 创建单一数据库。
创建超大规模数据库时,请认真考虑 BackupStorageRedundancy
的设置。 对于超大规模数据库,存储冗余只能在数据库创建过程中指定。 可以选择本地冗余、区域冗余或异地冗余存储。 所选存储冗余选项将在数据库的整个生存期内使用,以同时实现数据存储冗余和备份存储冗余。 现有数据库可以通过数据库复制或时间点还原迁移到不同的存储冗余。 BackupStorageRedundancy
参数允许的值为:Local
、Zone
或 Geo
。 除非明确指定,否则数据库将配置为使用异地冗余备份存储。
运行以下命令,以创建填充了 AdventureWorksLT 示例数据的超大规模数据库。 该数据库使用具有 2 个 vCore 的标准系列 (Gen5) 硬件。 该数据库使用异地冗余备份存储。 该命令还会创建一个高可用性 (HA) 副本。
Write-host "Creating a standard-series (Gen5) 2 vCore Hyperscale database..."
$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-Edition Hyperscale `
-ComputeModel Provisioned `
-ComputeGeneration Gen5 `
-VCore 2 `
-MinimumCapacity 2 `
-SampleName "AdventureWorksLT" `
-BackupStorageRedundancy Geo `
-HighAvailabilityReplicaCount 1
$database
若要使用 Transact-SQL 创建超大规模数据库,必须先为 Azure 中的现有逻辑服务器创建或确定连接信息。
使用 SQL Server Management Studio (SSMS)、Azure Data Studio 或你选择的客户端连接到 master
数据库,以运行 Transact-SQL 命令(sqlcmd 等)。
创建超大规模数据库时,请认真考虑 BACKUP_STORAGE_REDUNDANCY
的设置。 对于超大规模数据库,存储冗余只能在数据库创建过程中指定。 可以选择本地冗余、区域冗余或异地冗余存储。 所选存储冗余选项将在数据库的整个生存期内使用,以同时实现数据存储冗余和备份存储冗余。 现有数据库可以通过数据库复制或时间点还原迁移到不同的存储冗余。 BackupStorageRedundancy
参数允许的值为:LOCAL
、ZONE
或 GEO
。 除非明确指定,否则数据库将配置为使用异地冗余备份存储。
运行以下 Transact-SQL 命令,以使用第 5 代硬件、2 个 vCore 和异地冗余备份存储创建新的超大规模数据库。 必须在 CREATE DATABASE
语句中指定版本和服务目标。 有关有效服务目标(例如 HS_Gen5_2
)的列表,请参阅资源限制。
此示例代码创建一个空数据库。 若要使用示例数据创建数据库,请使用本快速入门中的 Azure 门户、Azure CLI 或 PowerShell 示例。
CREATE DATABASE [myHyperscaleDatabase]
(EDITION = 'Hyperscale', SERVICE_OBJECTIVE = 'HS_Gen5_2') WITH BACKUP_STORAGE_REDUNDANCY= 'LOCAL';
GO
有关其他参数和选项,请参阅 CREATE DATABASE (Transact-SQL)。
若要将一个或多个高可用性 (HA) 副本添加到数据库,请使用 Azure 门户中数据库的“计算和存储”窗格、Set-AzSqlDatabase PowerShell 命令或 az sql db update Azure CLI 命令。