Atualizar o provedor de recursos do SQL
Importante
A partir do Azure Stack Hub build 2108, os provedores de recursos SQL e MySQL são oferecidos a assinaturas que receberam acesso. Se você quiser começar a usar esse recurso ou se precisar atualizar de uma versão anterior, abra um caso de suporte e nossos engenheiros de suporte orientarão você pelo processo de implantação ou atualização.
Importante
Antes de atualizar o provedor de recursos, examine as notas sobre a versão para saber mais sobre novas funcionalidades, correções e quaisquer problemas conhecidos que possam afetar sua implantação. As notas sobre a versão também especificam a versão mínima do Azure Stack Hub necessária para o provedor de recursos.
Importante
Atualizar o provedor de recursos NÃO atualizará o SQL Server de hospedagem.
Um novo provedor de recursos SQL pode ser lançado quando o Azure Stack Hub é atualizado para um novo build. Embora o provedor de recursos existente continue funcionando, é recomendável atualizar para o build mais recente assim que possível.
Versão do Azure Stack Hub com suporte | Versão do RP do SQL | Windows Server no qual o serviço RP está sendo executado |
---|---|---|
2206, 2301, 2306, 2311 | SQL RP versão 2.0.13.x | Complemento do Microsoft AzureStack RP Windows Server 1.2009.0 |
2108, 2206 | SQL RP versão 2.0.6.x | Complemento do Microsoft AzureStack RP Windows Server 1.2009.0 |
Atualizar SQL Server provedor de recursos V2
Se você já implantou o SQL RP V2 e deseja marcar para atualizações, marcar Como aplicar atualizações ao provedor de recursos.
Se você quiser atualizar do SQL RP V1 para o SQL RP V2, verifique se atualizou primeiro para o SQL RP V1.1.93.x e aplique o processo de atualização de versão principal para atualizar do SQL RP V1 para o SQL RP V2.
Atualização do SQL RP V1.1.93.x para SQL RP V2.0.6.0
Pré-requisitos
Verifique se você atualizou o SQL RP V1 para a versão 1.1.93.x mais recente. Em Assinatura do Provedor Padrão, localize o grupo de recursos rp (formato de nomenclatura: system.
<region
>. sqladapter). Confirme a marca de versão e o nome da VM DO RP do SQL no grupo de recursos. Se você ainda estiver em uma versão antiga e precisar atualizar para 1.1.93.x, abra um caso de suporte para obter ajuda.abra um caso de suporte para obter o pacote MajorVersionUpgrade e adicione sua assinatura à lista de permitidos do marketplace ash para a versão futura da V2.
Baixe o Microsoft AzureStack Add-On RP Windows Server 1.2009.0 para o marketplace.
Verifique se os pré-requisitos de integração do datacenter foram atendidos.
Pré-requisito | Referência |
---|---|
O encaminhamento de DNS condicional está definido corretamente. | Integração do datacenter do Azure Stack Hub – DNS |
As portas de entrada para provedores de recursos estão abertas. | Integração do datacenter do Azure Stack Hub – Portas e protocolos de entrada |
A entidade do certificado PKI e a SAN são definidas corretamente. |
Pré-requisitos de PKI obrigatórios para implantação do Azure Stack Hub Pré-requisitos de certificado PaaS de implantação do Azure Stack Hub |
- (para ambiente desconectado) Instale os módulos necessários do PowerShell, semelhante ao processo de atualização usado para Implantar o provedor de recursos.
Disparar MajorVersionUpgrade
Execute o script a seguir em um console do PowerShell com privilégios elevados para executar a atualização da versão principal.
Observação
Verifique se o computador cliente no qual você executa o script é da versão do sistema operacional com mais de Windows 10 ou Windows Server 2016 e se o computador cliente tem a Arquitetura do Sistema Operacional X64.
Importante
É altamente recomendável usar Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar o cache antes de executar o script de implantação ou atualização.
# 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
Observação
O endereço DNS e o endereço IP correspondente do SQL RP V2 são diferentes. Para obter o novo IP público, entre em contato com o suporte para exigir uma quebra de drp e encontrar o recurso SQLRPVM1130-PublicIP. Você também pode executar "nslookup sqlrp.dbadapter.<fqdn>" de um computador cliente que já passou no teste de ponto de extremidade para descobrir o IP público.
Validar se a atualização foi bem-sucedida
- O script MajorVersionUpgrade executado sem erros.
- Verifique o provedor de recursos no marketplace e verifique se o SQL RP 2.0 foi instalado com êxito.
- O sistema antigo.<location.sqladapter> grupo de recursos e sistema.<O grupo de recursos location.dbadapter.dns> na assinatura do provedor padrão não será excluído automaticamente pelo script.
- É recomendável manter a Conta de Armazenamento e o Key Vault no grupo de recursos sqladapter por algum tempo. Se, após a atualização, qualquer usuário locatário observar metadados de logon ou banco de dados inconsistentes, será possível obter suporte para restaurar os metadados do grupo de recursos.
- Depois de verificar se a Zona DNS no grupo de recursos dbadapter.dns está vazia sem registro DNS, é seguro excluir o grupo de recursos dbadapter.dns.
- [IMPORTANTE] Não use o script de implantação V1 para desinstalar a versão V1. Após a conclusão da atualização e a confirmação de que a atualização foi bem-sucedida, você pode excluir manualmente o grupo de recursos da assinatura do provedor.
Atualização da versão anterior do SQL RP V1 para o SQL RP V1.1.93.x
A atualização V1 do provedor de recursos SQL é cumulativa. Você pode atualizar diretamente para a versão 1.1.93.x.
Para atualizar o provedor de recursos para 1.1.93.x, use o script UpdateSQLProvider.ps1 . Use sua conta de serviço com direitos administrativos locais e seja um proprietário da assinatura. Esse script de atualização está incluído no download do provedor de recursos.
O processo de atualização é semelhante ao processo usado para Implantar o provedor de recursos. O script de atualização usa os mesmos argumentos que o script de DeploySqlProvider.ps1 e você precisará fornecer informações de certificado.
Atualizar processos de script
O script UpdateSQLProvider.ps1 cria uma nova VM (máquina virtual) com a imagem mais recente do sistema operacional, implanta o código do provedor de recursos mais recente e migra as configurações do provedor de recursos antigo para o novo provedor de recursos.
Observação
Recomendamos que você baixe a imagem do Windows Server 1.2009.0 do Complemento do Microsoft AzureStack do Gerenciamento do Marketplace. Se você precisar instalar uma atualização, poderá colocar um único pacote MSU no caminho de dependência local. O script falhará se houver mais de um arquivo MSU nesse local.
Depois que o script UpdateSQLProvider.ps1 cria uma nova VM, o script migra as seguintes configurações da VM antiga do provedor de recursos:
- informações de banco de dados
- hospedando informações do servidor
- registro DNS necessário
Importante
É altamente recomendável usar Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar o cache antes de executar o script de implantação ou atualização.
Atualizar parâmetros de script
Você pode especificar os parâmetros a seguir na linha de comando ao executar o scriptUpdateSQLProvider.ps1 PowerShell. Se você não fizer isso ou se alguma validação de parâmetro falhar, será solicitado que você forneça os parâmetros necessários.
Nome do parâmetro | Descrição | Comentário ou valor padrão |
---|---|---|
CloudAdminCredential | A credencial para o administrador de nuvem, necessária para acessar o ponto de extremidade privilegiado. | Necessário |
AzCredential | As credenciais para a conta de administrador de serviço do Azure Stack Hub. Use as mesmas credenciais usadas para implantar o Azure Stack Hub. O script falhará se a conta usada com o AzCredential exigir MFA (autenticação multifator). | Necessário |
VMLocalCredential | As credenciais para a conta de administrador local da VM do provedor de recursos SQL. | Necessário |
PrivilegedEndpoint | O endereço IP ou o nome DNS do ponto de extremidade privilegiado. | Necessário |
AzureEnvironment | O ambiente do Azure da conta de administrador de serviço que você usou para implantar o Azure Stack Hub. Necessário apenas para implantações de Microsoft Entra. Os nomes de ambiente com suporte são AzureCloud, AzureUSGovernment ou, se estiverem usando um Microsoft Entra ID china, AzureChinaCloud. | AzureCloud |
DependencyFilesLocalPath | Você também deve colocar o arquivo .pfx do certificado nesse diretório. | Opcional para nó único, mas obrigatório para vários nós |
DefaultSSLCertificatePassword | A senha do certificado .pfx. | Necessário |
MaxRetryCount | O número de vezes que você deseja repetir cada operação se houver uma falha. | 2 |
RetryDuration | O intervalo de tempo limite entre repetições, em segundos. | 120 |
Desinstalar | Remove o provedor de recursos e todos os recursos associados. | No |
DebugMode | Impede a limpeza automática em caso de falha. | No |
Exemplo do PowerShell de script de atualização
Se você estiver atualizando a versão do provedor de recursos do SQL para 1.1.33.0 ou versões anteriores, precisará instalar versões específicas dos módulos AzureRm.BootStrapper e Azure Stack Hub no PowerShell.
Se você estiver atualizando o provedor de recursos do SQL para a versão 1.1.47.0 ou posterior, poderá ignorar esta etapa. O script de implantação baixará e instalará automaticamente os módulos do PowerShell necessários para que você desmarque C:\Arquivos de Programas\SqlMySqlPsh.
Observação
Se a pasta C:\Arquivos de Programas\SqlMySqlPsh já existir com o módulo do PowerShell baixado, é recomendável limpo essa pasta antes de executar o script de atualização. Isso é para garantir que a versão certa do módulo do PowerShell seja baixada e usada.
# 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
Observação
No cenário desconectado, você precisa baixar os módulos necessários do PowerShell e registrar o repositório manualmente como um pré-requisito. Você pode obter mais informações em Implantar provedor de recursos do SQL
Veja a seguir um exemplo de como usar o script UpdateSQLProvider.ps1 que você pode executar em um console do PowerShell com privilégios elevados. Certifique-se de alterar as informações e senhas da variável conforme necessário:
# 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
Quando o script de atualização do provedor de recursos for concluído, feche a sessão atual do PowerShell.