Atualizar o provedor de recursos do SQL

Importante

a partir da compilação de Azure Stack Hub 2108, os provedores de recursos SQL e MySQL são oferecidos às 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 irão orientá-lo durante o processo de implantação ou atualização.

Importante

Antes de atualizar o provedor de recursos, examine as notas de versão para saber mais sobre novas funcionalidades, correções e problemas conhecidos que podem afetar sua implantação. As notas de versão também especificam a versão de Hub de Azure Stack mínima 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 de SQL pode ser liberado quando Azure Stack Hub é atualizado para uma nova compilação. Embora o provedor de recursos existente continue a funcionar, é recomendável atualizar para a compilação mais recente assim que possível.

Versão do hub de Azure Stack com suporte versão SQL RP Windows servidor em que o serviço RP está sendo executado
2108 SQL RP versão 2.0.6. x complemento do Microsoft AzureStack no RP Windows Server 1.2009.0
2108, 2102, 2008, 2005 SQL RP versão 1.1.93.5 Microsoft AzureStack para o servidor de Windows RP
2005, 2002, 1910 SQL RP versão 1.1.47.0 datacenter Windows Server 2016-Server Core
1908 SQL RP versão 1.1.33.0 datacenter Windows Server 2016-Server Core

atualizar provedor de recursos de SQL Server V2

se você já tiver implantado SQL RP V2 e quiser verificar se há atualizações, consulte como aplicar atualizações ao provedor de recursos.

se você quiser atualizar de SQL rp V1 para SQL rp V2, verifique se você atualizou primeiro para SQL rp v 1.1.93. x e, em seguida, aplique o processo de atualização da versão principal para atualizar do SQL RP V1 para SQL RP V2.

atualizar de SQL rp v 1.1.93. x para SQL RP v 2.0.6.0

Pré-requisitos

  1. verifique se você atualizou SQL RP V1 para 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 SQL nome da VM RP no grupo de recursos.

  2. abra um caso de suporte para obter o pacote MajorVersionUpgrade e adicione sua assinatura à versão de permissão do MARKETPLACE do Ash para o futuro.

  3. baixe o Microsoft AzureStack Add-On RP Windows Server 1.2009.0 no marketplace.

  4. 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 de datacenter de Hub de Azure Stack-DNS
As portas de entrada para provedores de recursos estão abertas. Integração de datacenter de Hub de Azure Stack-portas e protocolos de entrada
O assunto do certificado PKI e a SAN estão definidos corretamente. Pré-requisitos de PKI obrigatório para implantação de Hub de Azure Stack
Pré-requisitos de certificado de PaaS de implantação de Hub Azure Stack
  1. (para o ambiente desconectado) Instale os módulos do PowerShell necessários, 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 não mais antiga que Windows 10 ou Windows Server 2016, e a máquina cliente tem a arquitetura do sistema operacional 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

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, você pode entrar em contato com o suporte para exigir um vidro de DRP e localizar o recurso de 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.

A validação da atualização foi bem-sucedida

  1. O script MajorVersionUpgrade foi executado sem erros.
  2. verifique o provedor de recursos no marketplace e certifique-se de que SQL RP 2,0 foi instalado com êxito.
  3. O sistema antigo. grupo de recursos do local > . sqladapter e > na assinatura do provedor padrão não será excluído automaticamente pelo script.
  • é recomendável manter a conta Armazenamento e a Key Vault no grupo de recursos sqladapter por algum tempo. Se, após a atualização, qualquer usuário de locatário observar metadados de logon ou banco de dados inconsistente, 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 nenhum registro DNS, é seguro excluir o grupo de recursos dbadapter. DNS.
  • FUNDAMENTAL 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 de SQL rp V1 versão anterior para SQL RP v 1.1.93. x

SQL atualização do provedor de recursos V1 é 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 de UpdateSQLProvider.ps1 cria uma nova VM (máquina virtual) com a imagem do sistema operacional mais recente, 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 complemento AzureStack do servidor RP Windows do Microsoft 1.2009.0 do gerenciamento do Marketplace. Se precisar instalar uma atualização, você poderá inserir 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 de UpdateSQLProvider.ps1 cria uma nova VM, o script migra as seguintes configurações da VM do provedor de recursos antiga:

  • informações de banco de dados
  • informações do servidor de hospedagem
  • registro DNS necessário

Importante

É altamente recomendável usar o processo CurrentUser-AzureRmContext-Scope e Clear-AzureRmContext-Scope para limpar o cache antes de executar o script de implantação ou de atualização.

Atualizar parâmetros de script

Você pode especificar os seguintes parâmetros na linha de comando ao executar o script UpdateSQLProvider.ps1 PowerShell. Se não tiver, ou se alguma validação falhar, você será solicitado a fornecer 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ário para acessar o ponto de extremidade privilegiado. Obrigatório
AzCredential As credenciais para a conta de administrador do serviço Hub do Azure Stack. Use as mesmas credenciais que você usou para implantar Azure Stack Hub. O script falhará se a conta usada com o AzCredential exigir autenticação multifator (MFA). Obrigatório
VMLocalCredential As credenciais para a conta de administrador local da VM do SQL de recursos. Obrigatório
PrivilegedEndpoint O endereço IP ou o nome DNS do ponto de extremidade privilegiado. Obrigatório
AzureEnvironment O ambiente do Azure da conta de administrador de serviço que você usou para implantar Azure Stack Hub. Necessário somente para implantações do Azure AD. Os nomes de ambiente com suporte são AzureCloud, AzureUSGovernment ou se estiver usando um Azure AD da China, o 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. Obrigatório
MaxRetryCount O número de vezes que você deseja repetir cada operação se houver uma falha. 2
RetryDuration O intervalo de tempo de tempo entre as recuperações, em segundos. 120
Desinstalar Remove o provedor de recursos e todos os recursos associados. Não
DebugMode Impede a limpeza automática em caso de falha. Não

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 do AzureRm.BootStrapper e módulos Azure Stack Hub no PowerShell.

Se você estiver atualizando o provedor de SQL para a versão 1.1.47.0 ou posterior, ignore esta etapa. O script de implantação baixará e instalará automaticamente os módulos do PowerShell necessários para que você caminho 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 limpar essa pasta antes de executar o script de atualização. Isso é para garantir que a versão correta 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 SQL de recursos

A seguir está um exemplo de como usar o scriptUpdateSQLProvider.ps1 que você pode executar em um console do PowerShell com elevação. Certifique-se de alterar as informações de variável 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 for finalizado, feche a sessão atual do PowerShell.

Próximas etapas

Manter o provedor SQL de recursos