为了在 Azure 门户中创建单一数据库,本快速入门将从 Azure SQL 页面开始。
浏览选择 SQL 部署选项页。
在“SQL 数据库”下将“资源类型”设置保留为“单一数据库”,然后选择“创建” 。
在“创建 SQL 数据库”窗体的“基本信息”选项卡上的“项目详细信息”下,选择所需的 Azure订阅 。
对于“资源组”,选择“新建”,输入“myResourceGroup”,然后选择“确定” 。
对于“数据库名称”,输入“mySampleDatabase”。
对于“服务器”,选择“新建”,并使用以下值填写“新服务器”窗体 :
选择“确定”。
将“想要使用 SQL 弹性池”设置保留为“否” 。
在“工作负载环境”中,为此练习指定“开发”。
Azure 门户提供了一个“工作负载环境”选项,可帮助预先设置某些配置。 这些设置可被替换。 此选项仅适用于“创建 SQL 数据库”门户页。 除此之外,“工作负载环境”选项不会影响授权许可或其他数据库设置。
- 选择“开发”工作负载环境后,一些选项会自动设置,这些选项包括:
- “备份存储冗余”选项是本地冗余存储。 本地冗余存储的成本较低,适用于不需要区域复制存储或异地复制存储冗余的预生产环境。
- “计算 + 存储”是常规用途,无服务器,且具有单个 vCore。 默认情况下,有一小时的自动暂停延迟。
- 选择“生产”工作负载后,会自动设置以下选项:
- “备份存储冗余”会设置为默认值“异地冗余存储”。
- “计算 + 存储”是常规用途,预配了 2 个 vCore 和 32 GB 的存储。 此项可以在下一步中进一步修改。
在“计算 + 存储”下选择“配置数据库” 。
本快速入门使用无服务器数据库,因此将“服务层”设置为“常规用途(最具预算优势的无服务器计算)”,将“计算层”设置为“无服务器”。 选择“应用”。
在“备份存储冗余”下,为将保存备份的存储帐户选择一个冗余选项。 有关详细信息,请参阅备份存储冗余。
在完成时选择“下一步:网络”。
在“网络”选项卡上,对于“连接方法”,选择“公共终结点” 。
对于“防火墙规则”,将“添加当前客户端 IP 地址”设置为“是” 。 将“允许 Azure 服务和资源访问此服务器”设置保留为“否” 。
在“连接策略”下,选择“默认”连接策略,并将“最低 TLS 版本”保留为默认版本 TLS 1.2。
在页面底部选择“下一步: 安全”。
在“安全”页面上,可以选择启动 Microsoft Defender for SQL 的免费试用版,并根据需要配置账本、托管标识和使用客户管理的密钥进行 Azure SQL 透明数据加密。 在完成时选择“下一步:其他设置”。
在“其他设置”选项卡上的“数据源”部分中,对于“使用现有数据”,请选择“示例”。 这将创建一个 AdventureWorksLT
示例数据库,此数据库包含可查询和试验的一些表和数据,而不是一个空数据库。 还可以配置数据库排序规则和维护时段。
在页面底部选择“查看 + 创建”:
在“查看 + 创建”页上,查看后选择“创建”。
此部分中的 Azure CLI 代码块将创建用于访问服务器的资源组、服务器、单一数据库和服务器级 IP 防火墙规则。 请确保记录生成的资源组和服务器名称,以便可以在以后管理这些资源。
首先,安装最新的 Azure CLI。
如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。
若要打开 Cloud Shell,请从代码块的右上角选择试一试。 也可以通过转到 https://shell.azure.com 在单独的浏览器标签页中启动 Cloud Shell。
当 Cloud Shell 打开时,请验证是否为环境选择了Bash。 后续会话将在 Bash 环境中使用 Azure CLI。 选择复制以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。
Cloud Shell 会在登录时使用的初始帐户下自动进行身份验证。 使用以下脚本通过其他订阅登录,将 <Subscription ID>
替换为 Azure 订阅 ID。 如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
subscription="<subscriptionId>"
az account set -s $subscription
有关详细信息,请参阅设置有效的订阅或以交互方式登录
后续命令使用以下值来创建数据库和所需资源。 服务器名称需要在整个 Azure 中全局唯一,因此使用 $RANDOM 函数创建服务器名称。
根据需要更改环境的位置。 将 0.0.0.0
替换为与你的特定环境匹配的 IP 地址范围。 使用正在使用的计算机的公共 IP 地址将服务器限制为只允许你的 IP 地址访问。
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"
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 Azure 区域中创建名为 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 PowerShell 创建资源组、服务器和单一数据库。
首先,安装最新的 Azure PowerShell。
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
,以匹配你的特定环境。
- 将
<strong password here>
替换为 adminLogin
的强密码。
$resourceGroupName = "myResourceGroup"
$location = "eastus"
$adminLogin = "azureuser"
$password = "<strong password here>"
$serverName = "mysqlserver-$(Get-Random)"
$databaseName = "mySampleDatabase"
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"
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
使用 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