在本快速入门中,你将使用 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,然后选择“删除”。
  •