为了在 Azure 门户中创建单一数据库,本快速入门将从 Azure SQL 页面开始。
浏览选择 SQL 部署选项页。
在“SQL 数据库”下将“资源类型”设置保留为“单一数据库”,然后选择“创建” 。
在“创建 SQL 数据库”窗体的“基本信息”选项卡上的“项目详细信息”下,选择所需的 Azure订阅 。
对于“资源组”,选择“新建”,输入“myResourceGroup”,然后选择“确定” 。
对于“数据库名称”,输入“mySampleDatabase”。
对于“服务器”,选择“新建”,并使用以下值填写“新服务器”窗体 :
- 服务器名称:输入“mysqlserver”并添加一些字符以实现唯一性。 我们无法提供要使用的确切服务器名称,因为对于 Azure 中的所有服务器,服务器名称必须全局唯一,而不只是在订阅中唯一。 因此,输入类似于
mysqlserver12345
的名称,然后门户会告知你是否可用。
- 位置:从下拉列表中选择一个位置。
- 身份验证方法:选择“使用 SQL 身份验证”。
- 服务器管理员登录名:输入“azureuser”。
- 密码:输入符合要求的密码,然后在“确认密码”字段中再次输入该密码。
选择“确定”。
将“想要使用 SQL 弹性池”设置保留为“否” 。
在“计算 + 存储”下选择“配置数据库” 。
本快速入门使用无服务器数据库,因此将“服务层”设置为“常规用途(可缩放的计算和存储选项)”,将“计算层”设置为“无服务器”。 选择“应用”。
在“备份存储冗余”下,为将保存备份的存储帐户选择一个冗余选项。 有关详细信息,请参阅备份存储冗余。
在完成时选择“下一步:网络”。
在“网络”选项卡上,对于“连接方法”,选择“公共终结点” 。
对于“防火墙规则”,将“添加当前客户端 IP 地址”设置为“是” 。 将“允许 Azure 服务和资源访问此服务器”设置保留为“否” 。
在“连接策略”下,选择“默认”连接策略,并将“最低 TLS 版本”保留为默认 TLS 1.2。
在页面底部选择“下一步: 安全”。
在“安全”页面上,可以选择启动 Microsoft Defender for SQL 的免费试用版,并根据需要配置账本、托管标识和透明数据加密 (TDE)。 在完成时选择“下一步:其他设置”。
在“其他设置”选项卡上的“数据源”部分中,对于“使用现有数据”,请选择“示例”。 这将创建一个 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 函数创建服务器名称。
根据需要更改环境的位置。 替换 IP 地址范围中的 0.0.0.0
,以匹配你的特定环境。 使用正在使用的计算机的公共 IP 地址将服务器限制为只允许你的 IP 地址访问。
# 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
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."
创建资源组
使用“az group create”命令创建资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。 以下示例在 eastus 位置创建名为 myResourceGroup 的资源组:
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
创建服务器
使用 az sql server create 命令创建服务器。
echo "Creating $server in $location..."
az sql server create --name $server --resource-group $resourceGroup --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 $resourceGroup --server $server -n AllowYourIp --start-ip-address $startIp --end-ip-address $endIp
创建单一数据库
使用 az sql db create 命令在无服务器计算机层中创建数据库。
echo "Creating $database in serverless tier"
az sql db create \
--resource-group $resourceGroup \
--server $server \
--name $database \
--sample-name AdventureWorksLT \
--edition GeneralPurpose \
--compute-model Serverless \
--family Gen5 \
--capacity 2
此部分的 Azure CLI 代码块使用 az sql up 命令简化数据库创建过程。 借助它,可以使用单个命令创建数据库及其所有关联的资源。 这包括资源组、服务器名称、服务器位置、数据库名称和登录信息。 数据库是使用默认定价层(“常规用途”,已预配、标准系列 (Gen5)、2 个 vCore)创建的。
如果没有 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 函数创建服务器名称。
根据需要更改环境的位置。 替换 IP 地址范围中的 0.0.0.0
,以匹配你的特定环境。
# 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
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."
注意
az sql up 目前为预览版,当前不支持无服务器计算机层。 此外,目前也不支持在数据库名称中使用非字母和非数字字符。
创建数据库和资源
使用 az sql up 命令为 Azure SQL 数据库创建和配置可立即使用的逻辑服务器。 请确保记录生成的资源组和服务器名称,以便可以在以后管理这些资源。
注意
首次运行 az sql up
命令时,Azure CLI 会提示安装 db-up
扩展。 此扩展当前处于预览状态。 接受安装以继续。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az sql up
命令。 如果未使用任何必需的参数(例如 --server-name
),则使用分配的随机名称和登录信息创建该资源。
az sql up \
--resource-group $resourceGroup \
--location $location \
--server-name $server \
--database-name $database \\
--admin-user $login \
--admin-password $password
系统会自动创建服务器防火墙规则。 如果服务器拒绝你的 IP 地址,则使用 az sql server firewall-rule create
命令并指定合适的开始和结束 IP 地址来创建新的防火墙规则。
startIp=0.0.0.0
endIp=0.0.0.0
az sql server firewall-rule create \
--resource-group $resourceGroup \
--server $server \
-n AllowYourIp \
--start-ip-address $startIp \
--end-ip-address $endIp
系统将创建所有必需的资源,并且数据库可供查询。
可以使用 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 创建服务器名称。 替换 IP 地址范围中的 0.0.0.0 值,以匹配你的特定环境。
# Set variables for your server and database
$resourceGroupName = "myResourceGroup"
$location = "eastus"
$adminLogin = "azureuser"
$password = "Azure1234567!"
$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
创建资源组
使用 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
使用 PowerShell 创建单一数据库
使用 New-AzSqlDatabase cmdlet 创建单一数据库。
Write-host "Creating a gen5 2 vCore serverless database..."
$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-Edition GeneralPurpose `
-ComputeModel Serverless `
-ComputeGeneration Gen5 `
-VCore 2 `
-MinimumCapacity 2 `
-SampleName "AdventureWorksLT"
$database