Использование PowerShell для создания отдельной базы данных и настройки правила брандмауэра на уровне сервера
Применимо к: База данных SQL Azure
Этот пример скрипта Azure PowerShell создает отдельную базу данных в Базе данных SQL Azure и настраивает правило брандмауэра на уровне сервера. После успешного выполнения сценария доступ к базе данных можно получить из всех служб Azure, а также в разрешенном диапазоне IP-адресов.
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Примечание.
В этой статье предусмотрено использование модуля Azure Az PowerShell, который является рекомендуемым модулем PowerShell для взаимодействия с Azure. Чтобы начать работу с модулем Az PowerShell, ознакомьтесь со статьей Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Использование Azure Cloud Shell
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Вариант | Пример и ссылка |
---|---|
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически. | |
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. | |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
Чтобы выполнить код из этой статьи в Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
В блоке кода нажмите кнопку Копировать, чтобы скопировать код.
Вставьте код в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы выполнить код.
Если требуется установить и использовать PowerShell локально, для работы с этим руководством вам понадобится AZ PowerShell 1.4.0 или последующей версии. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. Если модуль PowerShell запущен локально, необходимо также выполнить командлет Connect-AzAccount
, чтобы создать подключение к Azure.
Пример скрипта
# Connect-AzAccount
# The SubscriptionId in which to create these objects
$SubscriptionId = ''
# Set the resource group name and location for your server
$resourceGroupName = "myResourceGroup-$(Get-Random)"
$location = "westus2"
# Set an admin login and password for your server
$adminSqlLogin = "SqlAdmin"
$password = "ChangeYourAdminPassword1"
# Set server name - the logical server name has to be unique in the system
$serverName = "server-$(Get-Random)"
# The sample database name
$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"
# Set subscription
Set-AzContext -SubscriptionId $subscriptionId
# Create a resource group
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location
# Create a server with a system wide unique server name
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-Location $location `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminSqlLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
# Create a server firewall rule that allows access from the specified IP range
$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp
# Create a blank database with an S0 performance level
$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-RequestedServiceObjectiveName "S0" `
-SampleName "AdventureWorksLT"
# Clean up deployment
# Remove-AzResourceGroup -ResourceGroupName $resourceGroupName
Очистка развертывания
Используйте приведенную ниже команду, чтобы удалить группу ресурсов и все связанные с ней ресурсы.
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Описание скрипта
Этот скрипт использует следующие команды. Для каждой команды в таблице приведены ссылки на соответствующую документацию.
Команда | Примечания. |
---|---|
New-AzResourceGroup | Создает группу ресурсов, в которой хранятся все ресурсы. |
New-AzSqlServer | Создает сервер, на котором размещены базы данных и эластичные пулы. |
New-AzSqlServerFirewallRule | Создает для сервера правило брандмауэра на уровне сервера. |
New-AzSqlDatabase | Создает базу данных на сервере. |
Remove-AzResourceGroup | Удаляет группу ресурсов со всеми вложенными ресурсами. |
Настройка управляемых удостоверений
Дополнительные сведения о преимуществах использования управляемого удостоверения, назначаемого пользователем, для удостоверения сервера в База данных SQL Azure см. в статье об управляемом удостоверении, назначаемом пользователем, в идентификаторе Microsoft Entra для SQL Azure.
Сведения о настройке управляемого удостоверения, назначаемого системой (SMI) или назначаемого пользователем управляемого удостоверения или удостоверения (UMI) База данных SQL Azure, см. в статье "Получение или установка управляемого удостоверения для логического сервера или управляемого экземпляра".
Следующие шаги
Дополнительные сведения об Azure PowerShell см. в этой документации.
Дополнительные примеры сценариев PowerShell для базы данных SQL Azure можно найти здесь.