Миграция на саммит инноваций:
Узнайте, как миграция и модернизация в Azure может повысить производительность, устойчивость и безопасность вашего бизнеса, что позволяет полностью принять ИИ.Зарегистрироваться
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
В 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 локально, для работы с этим руководством вам понадобится Azure PowerShell 1.4.0 или последующей версии. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. Если модуль PowerShell запущен локально, необходимо также выполнить командлет Connect-AzAccount, чтобы создать подключение к Azure.
Пример скрипта
PowerShell
# <SetVariables>$NSnetworkModels = "Microsoft.Azure.Commands.Network.Models"$NScollections = "System.Collections.Generic"# The SubscriptionId in which to create these objects$SubscriptionId = '<Enter subscription ID>'# Set the resource group name and location for your managed instance$resourceGroupName = "myResourceGroup-$(Get-Random)"$location = "eastus2"# Set the networking values for your managed instance$vNetName = "myVnet-$(Get-Random)"$vNetAddressPrefix = "10.0.0.0/16"$defaultSubnetName = "myDefaultSubnet-$(Get-Random)"$defaultSubnetAddressPrefix = "10.0.0.0/24"$miSubnetName = "MISubnet-$(Get-Random)"$miSubnetAddressPrefix = "10.0.0.0/24"#Set the managed instance name for the new managed instance$instanceName = "mi-name-$(Get-Random)"# Set the admin login and password for your managed instance$miAdminSqlLogin = "SqlAdmin"$miAdminSqlPassword = "ChangeThisPassword!!"# Set the managed instance service tier, compute level, and license mode$edition = "General Purpose"$vCores = 8$maxStorage = 256$computeGeneration = "Gen5"$license = "LicenseIncluded"#"BasePrice" or LicenseIncluded if you have don't have SQL Server licence that can be used for AHB discount$dbname = 'SampleDB'# </SetVariables># <CreateResourceGroup># Set subscription contextConnect-AzAccount$subscriptionContextParams = @{
SubscriptionId = $SubscriptionId
}
Set-AzContext @subscriptionContextParams
# Create a resource group$resourceGroupParams = @{
Name = $resourceGroupName
Location = $location
Tag = @{Owner="SQLDB-Samples"}
}
$resourceGroup = New-AzResourceGroup @resourceGroupParams
# </CreateResourceGroup># <CreateVirtualNetwork># Configure virtual network, subnets, network security group, and routing table$networkSecurityGroupParams = @{
Name = 'myNetworkSecurityGroupMiManagementService'
ResourceGroupName = $resourceGroupName
Location = $location
}
$networkSecurityGroupMiManagementService = New-AzNetworkSecurityGroup @networkSecurityGroupParams
$routeTableParams = @{
Name = 'myRouteTableMiManagementService'
ResourceGroupName = $resourceGroupName
Location = $location
}
$routeTableMiManagementService = New-AzRouteTable @routeTableParams
$virtualNetworkParams = @{
ResourceGroupName = $resourceGroupName
Location = $location
Name = $vNetName
AddressPrefix = $vNetAddressPrefix
}
$virtualNetwork = New-AzVirtualNetwork @virtualNetworkParams
$subnetConfigParams = @{
Name = $miSubnetName
VirtualNetwork = $virtualNetwork
AddressPrefix = $miSubnetAddressPrefix
NetworkSecurityGroup = $networkSecurityGroupMiManagementService
RouteTable = $routeTableMiManagementService
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnetConfigParams | Set-AzVirtualNetwork$virtualNetwork = Get-AzVirtualNetwork -Name$vNetName -ResourceGroupName$resourceGroupName$subnet= $virtualNetwork.Subnets[0]
# Create a delegation$subnet.Delegations = New-Object"$NScollections.List``1[$NSnetworkModels.PSDelegation]"$delegationName = "dgManagedInstance" + (Get-Random -Maximum1000)
$delegationParams = @{
Name = $delegationName
ServiceName = "Microsoft.Sql/managedInstances"
}
$delegation = New-AzDelegation @delegationParams
$subnet.Delegations.Add($delegation)
Set-AzVirtualNetwork -VirtualNetwork$virtualNetwork$miSubnetConfigId = $subnet.Id
$allowParameters = @{
Access = 'Allow'
Protocol = 'Tcp'
Direction= 'Inbound'
SourcePortRange = '*'
SourceAddressPrefix = 'VirtualNetwork'
DestinationAddressPrefix = '*'
}
$denyInParameters = @{
Access = 'Deny'
Protocol = '*'
Direction = 'Inbound'
SourcePortRange = '*'
SourceAddressPrefix = '*'
DestinationPortRange = '*'
DestinationAddressPrefix = '*'
}
$denyOutParameters = @{
Access = 'Deny'
Protocol = '*'
Direction = 'Outbound'
SourcePortRange = '*'
SourceAddressPrefix = '*'
DestinationPortRange = '*'
DestinationAddressPrefix = '*'
}
$networkSecurityGroupParams = @{
ResourceGroupName = $resourceGroupName
Name = "myNetworkSecurityGroupMiManagementService"
}
$networkSecurityGroup = Get-AzNetworkSecurityGroup @networkSecurityGroupParams
$allowRuleParams = @{
Access = 'Allow'
Protocol = 'Tcp'
Direction = 'Inbound'
SourcePortRange = '*'
SourceAddressPrefix = 'VirtualNetwork'
DestinationAddressPrefix = '*'
}
$denyInRuleParams = @{
Access = 'Deny'
Protocol = '*'
Direction = 'Inbound'
SourcePortRange = '*'
SourceAddressPrefix = '*'
DestinationPortRange = '*'
DestinationAddressPrefix = '*'
}
$denyOutRuleParams = @{
Access = 'Deny'
Protocol = '*'
Direction = 'Outbound'
SourcePortRange = '*'
SourceAddressPrefix = '*'
DestinationPortRange = '*'
DestinationAddressPrefix = '*'
}
$networkSecurityGroup |
Add-AzNetworkSecurityRuleConfig @allowRuleParams -Priority1000 -Name"allow_tds_inbound" -DestinationPortRange1433 |
Add-AzNetworkSecurityRuleConfig @allowRuleParams -Priority1100 -Name"allow_redirect_inbound" -DestinationPortRange11000-11999 |
Add-AzNetworkSecurityRuleConfig @denyInRuleParams -Priority4096 -Name"deny_all_inbound" |
Add-AzNetworkSecurityRuleConfig @denyOutRuleParams -Priority4096 -Name"deny_all_outbound" |
Set-AzNetworkSecurityGroup# </CreateVirtualNetwork># <CreateManagedInstance># Create credentials$secpassword = ConvertTo-SecureString$miAdminSqlPassword -AsPlainText -Force$credential = New-Object System.Management.Automation.PSCredential -ArgumentList @($miAdminSqlLogin, $secpassword)
$managedInstanceParams = @{
Name = $instanceName
ResourceGroupName = $resourceGroupName
Location = $location
SubnetId = $miSubnetConfigId
AdministratorCredential = $credential
StorageSizeInGB = $maxStorage
VCore = $vCores
Edition = $edition
ComputeGeneration = $computeGeneration
LicenseType = $license
}
New-AzSqlInstance @managedInstanceParams
# </CreateManagedInstance># <CreateDatabase>$databaseParams = @{
ResourceGroupName = $resourceGroupName
InstanceName = $instanceName
Name = $dbname
Collation = 'Latin1_General_100_CS_AS_SC'
}
New-AzSqlInstanceDatabase @databaseParams
# </CreateDatabase># Clean up deployment # Remove-AzResourceGroup -ResourceGroupName $resourceGroupName
Очистка развертывания
Используйте приведенную ниже команду, чтобы удалить группу ресурсов и все связанные с ней ресурсы.
Этот скрипт использует часть из следующих команд. Чтобы получить дополнительные сведения об используемых и других командах, включенных в таблицу ниже, используйте ссылки на документацию по конкретным командам.
Администрирование инфраструктуры базы данных SQL Server для облачных, локальных и гибридных реляционных баз данных с помощью предложений реляционной базы данных Microsoft PaaS.
Узнайте, как создавать пулы экземпляров для Управляемый экземпляр SQL Azure, функцию, которая позволяет совместно использовать ресурсы для нескольких экземпляров и обеспечивает удобный и экономичный способ переноса небольших баз данных SQL Server в облако в масштабе. Создайте пул экземпляров с помощью портал Azure, PowerShell или Azure CLI.