使用 PowerShell 创建单一 Azure SQL 数据库

PowerShell 用于从命令行或脚本创建和管理 Azure 资源。 本指南详述了如何使用 PowerShell 在 Azure 资源组Azure SQL 数据库逻辑服务器中部署 Azure SQL 数据库。

如果没有 Azure 订阅,请在开始前创建一个试用帐户

本教程需要 Azure PowerShell 模块 4.0 或更高版本。 运行 Get-Module -ListAvailable AzureRM 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure PowerShell 模块

登录 Azure

使用 Connect-AzureRmAccount -EnvironmentName AzureChinaCloud 命令登录到 Azure 订阅,并按屏幕说明操作。

Connect-AzureRmAccount -EnvironmentName AzureChinaCloud

创建变量

定义在本快速入门的脚本中使用的变量。

# The data center and resource name for your resources
$resourcegroupname = "myResourceGroup"
$location = "China East"
# The logical server name: Use a random value or replace with your own value (do not capitalize)
$servername = "server-$(Get-Random)"
# Set an admin login and password for your database
# The login information for the server
$adminlogin = "ServerAdmin"
$password = "ChangeYourAdminPassword1"
# The ip address range that you want to allow to access your server - change as appropriate
$startip = "0.0.0.0"
$endip = "0.0.0.0"
# The database name
$databasename = "mySampleDatabase"

创建资源组

使用 New-AzureRmResourceGroup 命令创建 Azure 资源组。 资源组是在其中以组的形式部署和管理 Azure 资源的逻辑容器。 以下示例在 China East 位置创建名为 myResourceGroup 的资源组。

New-AzureRmResourceGroup -Name $resourcegroupname -Location $location

创建逻辑服务器

使用 New-AzureRmSqlServer 命令创建 Azure SQL 数据库逻辑服务器。 逻辑服务器包含一组作为组管理的数据库。 以下示例使用管理员用户名 ServerAdmin 和密码 ChangeYourAdminPassword1 在资源组中创建随机命名的服务器。 根据需要替换这些预定义的值。

New-AzureRmSqlServer -ResourceGroupName $resourcegroupname `
    -ServerName $servername `
    -Location $location `
    -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminlogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))

配置服务器防火墙规则

使用 New-AzureRmSqlServerFirewallRule 命令创建 Azure SQL 数据库服务器级防火墙规则。 服务器级防火墙规则允许外部服务器(例如 SQL Server Management Studio 或 SQLCMD 实用程序)通过 SQL 数据库服务防火墙连接到 SQL 数据库。 在以下示例中,防火墙仅对其他 Azure 资源开放。 要启用外部连接,请将 IP 地址更改为适合环境的地址。 若要开放所有 IP 地址,请使用 0.0.0.0 作为起始 IP 地址,使用 255.255.255.255 作为结束地址。

New-AzureRmSqlServerFirewallRule -ResourceGroupName $resourcegroupname `
    -ServerName $servername `
    -FirewallRuleName "AllowSome" -StartIpAddress $startip -EndIpAddress $endip

Note

通过端口 1433 进行 SQL 数据库通信。 如果尝试从企业网络内部进行连接,则该网络的防火墙可能不允许经端口 1433 的出站流量。 如果是这样,则无法连接到 Azure SQL 数据库服务器,除非 IT 部门打开了端口 1433。

使用示例数据在服务器中创建数据库

使用 New-AzureRmSqlDatabase 命令在服务器中创建 S0 性能级别的数据库。 以下示例创建名为 mySampleDatabase 的数据库,并将 AdventureWorksLT 示例数据加载到该数据库中。 根据需要替换这些预定义的值(此系列中的其他快速入门基于此快速入门中的值)。

New-AzureRmSqlDatabase  -ResourceGroupName $resourcegroupname `
    -ServerName $servername `
    -DatabaseName $databasename `
    -SampleName "AdventureWorksLT" `
    -RequestedServiceObjectiveName "S0"

清理资源

本教程系列中的其他快速入门教程是在本快速入门教程的基础上制作的。

Tip

如果打算继续使用后续的快速入门,请不要清除在本快速入门中创建的资源。 如果不打算继续,请在 Azure 门户中执行以下步骤来删除此快速入门创建的所有资源。

Remove-AzureRmResourceGroup -ResourceGroupName $resourcegroupname

后续步骤