快速入门:创建单一数据库 - Azure SQL 数据库

在本快速入门中,你将使用 Azure 门户、PowerShell 脚本或 Azure CLI 脚本在 Azure SQL 数据库中创建单一数据库。 然后,在 Azure 门户中使用“查询编辑器”查询该数据库。

先决条件

  • 一个有效的 Azure 订阅。 如果没有,请创建一个试用版订阅
  • 本文的大部分内容都可以单独使用 Azure 门户来完成。 可使用最新版本的 Azure PowerShellAzure CLI

权限

若要通过 Transact-SQL 创建数据库:需要 CREATE DATABASE 权限。 若要创建数据库,登录名必须是服务器管理员登录名(预配 Azure SQL 数据库逻辑服务器时创建)、服务器的 Microsoft Entra 管理员、master 中 dbmanager 数据库角色的成员。 有关详细信息,请参阅 CREATE DATABASE

若要通过 Azure 门户、PowerShell、Azure CLI 或 REST API 创建数据库:需要 Azure RBAC 权限,特别是参与者、SQL DB 参与者或 SQL Server 参与者 Azure RBAC 角色。 有关详细信息,请参阅 Azure RBAC 内置角色

创建单一数据库

本快速入门在无服务器计算层中创建单一数据库。

可以使用 Azure PowerShell 创建资源组、服务器和单一数据库。

首先,安装最新的 Azure PowerShell

设置参数值

后续命令使用以下值来创建数据库和所需资源。 服务器名称需要在整个 Azure 中全局唯一,因此使用 Get-Random cmdlet 创建服务器名称。

在以下代码片段中:

  1. 替换 IP 地址范围中的 0.0.0.0,以匹配你的特定环境。
  2. <strong password here> 替换为 adminLogin 的强密码。
   # Set variables for your server and database
   $resourceGroupName = "myResourceGroup"
   $location = "chinaeast2"
   $adminLogin = "azureuser"
   $password = "<strong password here>"
   $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 门户中的“查询编辑器(预览)”连接到该数据库并查询数据。 有关详细信息,请参阅 Azure SQL 数据库的 Azure 门户查询编辑器

  1. 在门户中搜索并选择“SQL 数据库”,然后从列表中选择你的数据库。

  2. 在数据库页面的左侧菜单中,选择“查询编辑器(预览)”。

  3. 输入“SQL 身份验证”服务器管理员登录信息或使用“Microsoft Entra 身份验证”

    备注

    Microsoft Entra ID 以前称为 Azure Active Directory (Azure AD)。

    屏幕截图显示 Azure 门户中的查询编辑器登录页。

  4. 在“查询编辑器”窗格中输入以下查询。

    SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName
    FROM SalesLT.ProductCategory pc
    JOIN SalesLT.Product p
    ON pc.productcategoryid = p.productcategoryid;
    
  5. 选择“运行”,然后在“结果”窗格中查看查询结果。

    查询编辑器结果的屏幕截图。

  6. 关闭“查询编辑器”页,并在系统提示时选择“确定”,以放弃未保存的修改 。

清理资源

保留资源组、服务器和单一数据库可以继续执行后续步骤,并了解如何以不同的方法连接和查询数据库。

用完这些资源后,可以删除创建的资源组,这也会删除该资源组中的服务器和单一数据库。

若要删除资源组及其包含所有资源,请使用该资源组的名称运行以下 PowerShell cmdlet:

Remove-AzResourceGroup -Name $resourceGroupName

下一步

希望优化并节省云支出?