Обновление поставщика ресурсов SQL

Важно!

начиная с сборки Azure Stack Hub 2108 поставщики ресурсов SQL и MySQL предлагаются для подписок, которым был предоставлен доступ. Если вы хотите приступить к работе с этой функцией или вам нужно выполнить обновление с предыдущей версии, откройте обращение в службу поддержки и наши специалисты по технической поддержке появятся в процессе развертывания или обновления.

Важно!

Перед обновлением поставщика ресурсов просмотрите примечания к выпуску, чтобы узнать о новых функциях, исправлениях и любых известных проблемах, которые могут повлиять на развертывание. В заметках о выпуске также указывается минимальная версия Azure Stack Hub, необходимая для поставщика ресурсов.

Важно!

Обновление поставщика ресурсов не приведет к обновлению размещения SQL Server.

При обновлении сборки Azure Stack Hub может быть выпущен новый поставщик ресурсов SQL. Хотя существующий поставщик ресурсов может продолжать работать, мы рекомендуем как можно скорее обновить его до последней сборки.

Поддерживаемая версия центра Azure Stack Версия SQL RP сервер Windows, на котором запущена служба RP
2108 SQL RP версии 2.0.6. x надстройка Microsoft AzureStack RP Windows Server 1.2009.0
2108, 2102, 2008, 2005 SQL RP версии 1.1.93.5 надстройка Microsoft AzureStack RP Windows Server
2005, 2002, 1910 Поставщик ресурсов SQL версии 1.1.47.0 Windows Server 2016 datacenter — Server Core
1908 Поставщик ресурсов SQL версии 1.1.33.0 Windows Server 2016 datacenter — Server Core

обновление поставщика ресурсов SQL Server версии 2

если вы уже развернули SQL RP V2 и хотите проверить наличие обновлений, проверьте, как применить обновления к поставщику ресурсов.

если вы хотите выполнить обновление с SQL rp V1 на SQL RP v2, убедитесь, что вы сначала обновили SQL RP v 1.1.93. x, а затем примените процесс обновления основной версии для обновления с SQL rp V1 до SQL RP V2.

обновление с SQL rp v 1.1.93. x до SQL RP v 2.0.6.0

Предварительные требования

  1. убедитесь, что вы обновили SQL RP V1 до последней версии 1.1.93. x. В разделе Подписка поставщика по умолчанию найдите группу ресурсов RP (формат имени: System. <region> . sqladapter). проверьте тег версии и SQL имя виртуальной машины RP в группе ресурсов.

  2. откройте обращение в службу поддержки , чтобы получить пакет мажорверсионупграде, и добавьте свою подписку в разрешенных Marketplace для будущего версии v2.

  3. скачайте Microsoft AzureStack Add-On RP Windows Server 1.2009.0 в marketplace.

  4. Убедитесь, что выполнены необходимые условия для интеграции с центром обработки данных.

Предварительные требования Справочные материалы
Условное перенаправление DNS настроено правильно. Интеграция DNS центра обработки данных Azure Stack Hub
Открыты входящие порты для поставщиков ресурсов. Порты и протоколы (входящие)
Субъект сертификата PKI и SAN настроены правильно. Обязательные сертификаты
Необязательные сертификаты PaaS
  1. (для отключенной среды) Установите необходимые модули PowerShell, аналогичные процессу обновления, который использовался для развертывания поставщика ресурсов.

Мажорверсионупграде триггера

Запустите следующий скрипт из консоли PowerShell с повышенными привилегиями, чтобы выполнить обновление основной версии.

Примечание

убедитесь, что клиентский компьютер, на котором выполняется сценарий, имеет версию ос не старше Windows 10 или Windows Server 2016, а на клиентском компьютере установлена архитектура операционной системы X64.

# Check Operating System version
$osVersion = [environment]::OSVersion.Version
if ($osVersion.Build -lt 10240)
{
    Write-Host "OS version is too old: $osVersion."
    return
}

$osArch = (Get-WmiObject Win32_OperatingSystem).OSArchitecture
if ($osArch -ne "64-bit")
{
    Write-Host "OS Architecture is not 64 bit."
    return
}

# Check LongPathsEnabled registry key
$regPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem'
$longPathsEnabled = 'LongPathsEnabled'
$property = Get-ItemProperty -Path $regPath -Name $longPathsEnabled -ErrorAction Stop
if ($property.LongPathsEnabled -eq 0)
{
    Write-Host "Detect LongPathsEnabled equals to 0, prepare to set the property."
    Set-ItemProperty -Path $regPath -Name $longPathsEnabled -Value 1 -ErrorAction Stop
    Write-Host "Set the long paths property, please restart the PowerShell."
    return
} 

# Use the NetBIOS name for the Azure Stack Hub domain. 
$domain = "YouDomain" 

# For integrated systems, use the IP address of one of the ERCS VMs
$privilegedEndpoint = "YouDomain-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "AzureCloud"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\extracted-folder\MajorVersionUpgrade-SQLRP'

# The service admin account can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Add the cloudadmin credential that's required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'xxxxxxx' -AsPlainText -Force

# Provide the pfx file path
$PfxFilePath = "C:\tools\sqlcert\SSL.pfx"

# PowerShell modules used by the RP MajorVersionUpgrade are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 

. $tempDir\MajorVersionUpgradeSQLProvider.ps1 `
  -AzureEnvironment $AzureEnvironment `
  -AzCredential $AdminCreds `
  -CloudAdminCredential $CloudAdminCreds `
  -Privilegedendpoint $privilegedEndpoint `
  -PfxPassword $PfxPass `
  -PfxCert $PfxFilePath

Примечание

DNS-адрес и соответствующий IP-адрес SQL RP V2 отличаются. Чтобы получить новый общедоступный IP-адрес, можно обратиться в службу поддержки, чтобы запросить DRPное стекло и найти ресурс SQLRPVM1130-PublicIP. Можно также выполнить команду nslookup склрп. dbadapter. < полное доменное имя > на клиентском компьютере, который уже прошел проверку конечной точки для определения общедоступного IP-адреса.

Проверка успешности обновления

  1. Сценарий Мажорверсионупграде выполняется без ошибок.
  2. проверьте поставщик ресурсов в marketplace и убедитесь, что SQL RP 2,0 успешно установлен.
  3. Старая система. Location > . sqladapter группа ресурсов и > в подписке поставщика по умолчанию не будет автоматически удалена сценарием.
  • мы рекомендуем в течение некоторого времени удержать учетную запись служба хранилища и Key Vault в группе ресурсов sqladapter. Если после обновления любой пользователь клиента обнаруживает несоответствие метаданных базы данных или имени входа, можно получить поддержку для восстановления метаданных из группы ресурсов.
  • Убедившись, что зона DNS в группе ресурсов dbadapter. DNS пуста без записи DNS, можно удалить группу ресурсов dbadapter. DNS.
  • СУЩЕСТВЕННО Не используйте скрипт развертывания v1 для удаления версии v1. После завершения обновления и подтверждения успешного обновления можно вручную удалить группу ресурсов из подписки поставщика.

обновление SQL rp V1 более ранней версии до SQL RP v 1.1.93. x

обновление поставщика ресурсов SQL V1 является накопительным. Вы можете напрямую обновить версию 1.1.93. x.

Чтобы обновить поставщик ресурсов до 1.1.93. x, используйте скрипт UpdateSQLProvider.ps1 . Используйте учетную запись службы с правами локального администратора и владельца подписки. Этот скрипт обновления входит в состав скачивания поставщика ресурсов.

Процесс обновления осуществляется так же, как и развертывание поставщика ресурсов. Скрипт обновления использует те же аргументы, что и скрипт DeploySqlProvider.ps1, и вам потребуется предоставить сведения о сертификате.

Процессы скрипта обновления

Сценарий UpdateSQLProvider.ps1 создает новую виртуальную машину с последним образом ОС, развертывает последний код поставщика ресурсов и переносит параметры из старого поставщика ресурсов в новый поставщик ресурсов.

Примечание

рекомендуется загрузить образ Microsoft AzureStack RP Windows Server 1.2009.0 из управления Marketplace. Если необходимо установить обновление, один MSU-пакет можно поместить в локальный каталог зависимого элемента. Если поместить несколько MSU-файлов в этом расположении, выполнение скрипта завершится ошибкой.

После того, как сценарий UpdateSQLProvider.ps1 СОЗДАСТ новую виртуальную машину, сценарий перенесет следующие параметры со старой виртуальной машины поставщика ресурсов:

  • сведения о базе данных;
  • сведения о сервере размещения;
  • необходимые записи DNS.

Важно!

Мы настоятельно рекомендуем использовать процедуру clear-AzureRmContext-Scope CurrentUser и clear-AzureRmContext-Scope , чтобы очистить кэш перед запуском скрипта развертывания или обновления.

Обновление параметров сценария

Следующие параметры можно указать в командной строке при выполнении сценария PowerShell UpdateSQLProvider.ps1. Если вы не зададите нужные параметры или их значения не пройдут проверку, вам будет предложено указать требуемые параметры.

Имя параметра Описание Комментарий или значение по умолчанию
CloudAdminCredential Учетные данные администратора облака, необходимые для доступа к привилегированной конечной точке. Обязательно
AzCredential Учетные данные администратора службы Azure Stack Hub. Используйте те же учетные данные, которые вы указали при развертывании Azure Stack Hub. Сценарий завершится ошибкой, если для учетной записи, используемой с Азкредентиал, требуется многофакторная проверка подлинности (MFA). Обязательно
VMLocalCredential Учетные данные для локальной учетной записи администратора виртуальной машины поставщика ресурсов SQL. Обязательно
PrivilegedEndpoint IP-адрес или DNS-имя привилегированной конечной точки. Обязательно
AzureEnvironment Среда Azure учетной записи администратора службы, которая использовалась для развертывания Azure Stack Hub. Требуется только для развертываний Azure AD. Поддерживаемые имена среды — AzureCloud, AzureUSGovernment или, в случае использования Azure AD для Китая, — AzureChinaCloud. AzureCloud;
DependencyFilesLocalPath В этот каталог также нужно поместить PFX-файл сертификата. Необязательно для одного узла, но обязательно для нескольких узлов.
DefaultSSLCertificatePassword Пароль для PFX-файла сертификата. Обязательно
MaxRetryCount Число повторов каждой операции в случае сбоя. 2
RetryDuration Время ожидания между повторными попытками в секундах. 120
Удаление Удаляет поставщик ресурсов и все связанные с ним ресурсы. нет
DebugMode Отключает автоматическую очистку в случае сбоя. нет

Пример скрипта обновления на PowerShell

при обновлении версии поставщика SQL ресурсов до 1.1.33.0 или предыдущих версий необходимо установить определенные версии модулей AzureRm. начальный загрузчик и Azure Stack концентратора в PowerShell.

если вы обновляете поставщик SQL ресурсов до версии 1.1.47.0 или более поздней, этот шаг можно пропустить. Сценарий развертывания автоматически загрузит и установит необходимые модули PowerShell для пути C:\Program Филес\склмисклпш.

Примечание

Если папка C:\Program Филес\склмисклпш уже существует с загруженным модулем PowerShell, рекомендуется очистить эту папку перед запуском скрипта обновления. Это необходимо для того, чтобы обеспечить загрузку и использование правильной версии модуля PowerShell.

# Run the following scripts when updating to version 1.1.33.0 only.
# Install the AzureRM.Bootstrapper module, set the profile, and install the AzureStack module.
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell.
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Примечание

В отключенном сценарии необходимо скачать необходимые модули PowerShell и зарегистрировать репозиторий вручную в качестве необходимого компонента. Дополнительные сведения можно получить в разделе Развертывание поставщика ресурсов SQL

Ниже приведен пример сценария UpdateSQLProvider.ps1, который можно запустить из консоли PowerShell с повышенными привилегиями. Не забудьте изменить данные переменной и пароли, если это требуется.

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but this might have been changed at installation.
$domain = "AzureStack"

# For integrated systems, use the IP address of one of the ERCS VMs.
$privilegedEndpoint = "AzS-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "<EnvironmentName>"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\TEMP\SQLRP'

# The service admin account (this can be Azure AD or AD FS).
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Set the credentials for the new resource provider VM.
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("sqlrpadmin", $vmLocalAdminPass)

# Add the cloudadmin credential required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force

# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath

# Change directory to the folder where you extracted the installation files.
# Then adjust the endpoints.
. $tempDir\UpdateSQLProvider.ps1 -AzCredential $AdminCreds `
  -VMLocalCredential $vmLocalAdminCreds `
  -CloudAdminCredential $cloudAdminCreds `
  -PrivilegedEndpoint $privilegedEndpoint `
  -AzureEnvironment $AzureEnvironment `
  -DefaultSSLCertificatePassword $PfxPass `
  -DependencyFilesLocalPath $tempDir\cert

После завершения скрипта обновления поставщика ресурсов закройте текущий сеанс PowerShell.

Дальнейшие действия

Обслуживание поставщика ресурсов SQL