在本快速入门中,你将使用 Azure 门户、PowerShell 脚本或 Azure CLI 脚本在 Azure SQL 数据库中创建
单一数据库
。 然后,在 Azure 门户中使用“查询编辑器”查询该数据库。
一个有效的 Azure 订阅。 如果没有帐户,请
创建一个免费帐户
。
最新版本的
Azure PowerShell
或
Azure CLI
。
创建单一数据库
本快速入门在
无服务器计算层
中创建单一数据库。
Azure CLI
Azure CLI (sql up)
PowerShell
在“创建 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
中使用 Bash 环境。 有关详细信息,请参阅
Azure Cloud Shell 中的 Bash 快速入门
。
如需在本地运行 CLI 参考命令,请
安装
Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅
如何在 Docker 容器中运行 Azure CLI
。
如果使用的是本地安装,请使用
az login
命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅
使用 Azure CLI 登录
。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅
使用 Azure CLI 的扩展
。
运行
az version
以查找安装的版本和依赖库。 若要升级到最新版本,请运行
az upgrade
。
启动 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 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
启动 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
查询数据库
创建数据库后,可以使用 Azure 门户中的“查询编辑器(预览)”连接到该数据库并查询数据。
在门户中搜索并选择“SQL 数据库”,然后从列表中选择你的数据库。
在数据库页面的左侧菜单中,选择“查询编辑器(预览)”。
输入服务器管理员登录信息,然后选择“确定”。
在“查询编辑器”窗格中输入以下查询。
SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName
FROM SalesLT.ProductCategory pc
JOIN SalesLT.Product p
ON pc.productcategoryid = p.productcategoryid;
选择“运行”,然后在“结果”窗格中查看查询结果。
关闭“查询编辑器”页,并在系统提示时选择“确定”,以放弃未保存的修改 。
保留资源组、服务器和单一数据库可以继续执行后续步骤,并了解如何以不同的方法连接和查询数据库。
用完这些资源后,可以删除创建的资源组,这也会删除该资源组中的服务器和单一数据库。
Portal
Azure CLI
Azure CLI (sql up)
PowerShell
若要使用 Azure 门户删除 myResourceGroup 及其包含的所有资源:
在 Azure 门户中搜索并选择“资源组”,然后从列表中选择“myResourceGroup”。
在资源组页上,选择“删除资源组”。
在“键入资源组名称”下输入 myResourceGroup,然后选择“删除”。