Atualizar o provedor de recursos SQL
Importante
A partir da compilação 2108 do Azure Stack Hub, os provedores de recursos SQL e MySQL são oferecidos para assinaturas às quais foi concedido 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 irão guiá-lo através do processo de implantação ou atualização.
Importante
Antes de atualizar o provedor de recursos, revise as notas de versão para saber mais sobre novas funcionalidades, correções e quaisquer problemas conhecidos que possam afetar sua implantação. As notas de versão também especificam a versão mínima do Azure Stack Hub necessária para o provedor de recursos.
Importante
A atualização do 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 uma nova compilação. Embora o provedor de recursos existente continue a funcionar, recomendamos atualizar para a compilação mais recente o mais rápido possível.
Versão suportada do Azure Stack Hub | Versão SQL RP | Windows Server em que o serviço RP está sendo executado |
---|---|---|
2206, 2301, 2306, 2311 | SQL RP versão 2.0.13.x | Complemento Microsoft AzureStack RP Windows Server 1.2009.0 |
2108, 2206 | SQL RP versão 2.0.6.x | Complemento Microsoft AzureStack RP Windows Server 1.2009.0 |
Atualizar o provedor de recursos do SQL Server V2
Se você já implantou o SQL RP V2 e deseja verificar se há atualizações, consulte Como aplicar atualizações ao provedor de recursos.
Se você quiser atualizar do SQL RP V1 para o SQL RP V2, certifique-se de ter atualizado primeiro para o SQL RP V1.1.93.x e, em seguida, aplique o processo de atualização da versão principal para atualizar do SQL RP V1 para o SQL RP V2.
Atualização do SQL RP V1.1.93.x para o SQL RP V2.0.6.0
Pré-requisitos
Certifique-se de ter atualizado o SQL RP V1 para o 1.1.93.x mais recente. Em Default Provider Subscription, localize o grupo de recursos RP (formato de nomenclatura: system.
<region
>.sqladapter). Confirme a marca de versão e o nome da VM SQL RP 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.abrir um caso de suporte para obter o pacote MajorVersionUpgrade e adicionar a sua subscrição à lista de permissões no marketplace ASH para a futura versão V2.
Baixe Microsoft AzureStack Add-On RP Windows Server 1.2009.0 para o mercado.
Garantir que os pré-requisitos de integração do datacenter sejam atendidos.
Pré-requisito | Referência |
---|---|
O encaminhamento DNS condicional está definido corretamente. | integração do centro de dados do Azure Stack Hub - DNS |
As portas de entrada para provedores de recursos estão abertas. | Integrações do datacenter do Azure Stack Hub - Portas e protocolos de entrada |
O assunto do certificado PKI e a SAN estão definidos corretamente. |
pré-requisitos obrigatórios de PKI de 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.
Acionar MajorVersionUpgrade
Execute o script seguinte a partir de um console elevado do PowerShell para realizar a atualização de versão principal.
Observação
Verifique se a máquina cliente na qual você executa o script é da versão do sistema operacional não mais antiga que o Windows 10 ou o Windows Server 2016 e se a máquina 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, pode contactar o suporte para solicitar um procedimento de emergência DRP e localizar o recurso SQLRPVM1130-PublicIP. Você também pode executar "nslookup sqlrp.dbadapter.<fqdn>" a partir de uma máquina cliente que já tenha passado no teste de endpoint para descobrir o endereço IP público.
Validar se a atualização foi bem-sucedida
- O script MajorVersionUpgrade foi executado sem erros.
- Verifique o provedor de recursos no marketplace e verifique se o SQL RP 2.0 foi instalado com êxito.
- O antigo sistema . Local<>.sqladapter no grupo de recursos e o sistema . Local<>.dbadapter.dns no grupo de recursos na assinatura de provedor padrão não será excluído automaticamente pelo script.
- Recomendamos manter a Conta de Armazenamento e o Cofre da Chave no grupo de recursos sqladapter por algum tempo. Se, após a atualização, qualquer usuário locatário observar metadados inconsistentes de banco de dados ou login, é 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 é um proprietário da assinatura. Este script de atualização está incluído com o 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 DeploySqlProvider.ps1 e você precisará fornecer informações de certificado.
Atualizar processos de script
O script UpdateSQLProvider.ps1 cria uma nova máquina virtual (VM) com a imagem mais recente do sistema operacional, implanta o código mais recente do provedor de recursos 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 Microsoft AzureStack Add-on RP Windows Server 1.2009.0 do Marketplace Management. 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 neste 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 da base de dados
- informações do servidor de hospedagem
- 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 seguintes parâmetros na linha de comando ao executar o script do UpdateSQLProvider.ps1 PowerShell. Se não o fizer, ou se alguma validação de parâmetro falhar, ser-lhe-á pedido que 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 aceder ao ponto de extremidade privilegiado. | Necessário |
AzCredential | As credenciais para a conta de administrador do serviço Azure Stack Hub. Use as mesmas credenciais que você usou para implantar o Azure Stack Hub. O script falhará se a conta que você usa com AzCredential exigir autenticação multifator (MFA). | 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 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 do Microsoft Entra. Os nomes de ambiente suportados são AzureCloud, AzureUSGovernmentou, se estiver usando uma ID do Microsoft Entra da China, AzureChinaCloud. | AzureCloud |
DependencyFilesLocalPath | Você também deve colocar o arquivo .pfx do certificado neste diretório. | Opcional para nó único, mas obrigatório para vários nós |
DefaultSSLCertificatePassword | A senha para o certificado .pfx. | Necessário |
MaxRetryCount | O número de vezes que você deseja repetir cada operação se houver uma falha. | 2 |
DuraçãoDeRepetição | O intervalo de tempo limite entre as tentativas, em segundos. | 120 |
desinstalar | Remove o provedor de recursos e todos os recursos associados. | Não |
DebugMode | Previne a limpeza automática em caso de falha. | Não |
Exemplo de script do PowerShell de atualização
Se você estiver atualizando a versão do provedor de recursos 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 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 necessários do PowerShell para si na pasta C:\Program Files\SqlMySqlPsh.
Observação
Se a pasta C:\Program Files\SqlMySqlPsh já existir com o módulo PowerShell baixado, é recomendável limpar essa pasta antes de executar o script de atualização. Isso é para garantir que a versão correta do módulo 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 pré-requisito. Você pode obter mais informações em Implantar provedor de recursos SQL
Veja a seguir um exemplo de uso do script UpdateSQLProvider.ps1 que você pode executar a partir de um console do PowerShell elevado. Certifique-se de alterar as informações variáveis e senhas 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 terminar, feche a sessão atual do PowerShell.