Implementación del proveedor de recursos de SQL Server en Azure Stack Hub

Importante

A partir de la compilación 2108 de Azure Stack Hub, los proveedores de recursos SQL y MySQL se ofrecen a las suscripciones a las que se ha concedido acceso. Si desea empezar a usar esta característica o si necesita actualizar desde una versión anterior, abra un caso de soporte técnico y nuestros ingenieros le guiarán a través del proceso de implementación o actualización.

Use el proveedor de recursos de SQL Server de Azure Stack Hub para exponer las bases de datos SQL como un servicio de Azure Stack Hub.

El proveedor de recursos de SQL se ejecuta como un servicio en una máquina virtual Server Core de Windows Server 2016.

El proveedor de recursos de SQL se ejecuta como un servicio en una instancia de Add-on RP Windows Server especial.

Importante

Solo el proveedor de recursos debe crear elementos en servidores que hospedan SQL o MySQL. No se admiten los elementos creados en un servidor host que no se crean con el proveedor de recursos, y dichos elementos podrían dar lugar a un error de coincidencia de estado.

Importante

El proveedor de recursos V2.x SQL/MySQL usa el mecanismo de instalación del proveedor de recursos de implementación (DRP), que no se admite en el ASDK. Por lo tanto, el proveedor de recursos V2.x SQL/MySQL no se admite en el ASDK.

Prerrequisitos

Si ya ha instalado un proveedor de recursos, es probable que haya completado los siguientes requisitos previos y pueda omitir esta sección. De lo contrario, realice estos pasos antes de continuar:

  1. Registre la instancia de Azure Stack Hub en Azure, si no lo ha hecho. Este paso es necesario, ya que se va a conectar a Marketplace y a descargar ahí elementos desde Azure.

  2. Si no está familiarizado con la característica Marketplace Management del portal de administrador de Azure Stack Hub, consulte Descarga de elementos de Marketplace de Azure y publicación en Azure Stack Hub. El artículo le guía por el proceso de descarga de elementos de Azure en Marketplace de Azure Stack Hub. Abarca escenarios conectados y desconectados. Si la instancia de Azure Stack Hub está desconectada o parcialmente conectada, existen requisitos previos adicionales que hay que cumplir para completar la instalación.

  3. Actualice el directorio principal de Microsoft Entra. A partir de la compilación 1910, se debe registrar una nueva aplicación en el inquilino del directorio principal. Esta aplicación permitirá que Azure Stack Hub cree y registre correctamente proveedores de recursos más recientes (como Event Hubs y otros) con el inquilino de Microsoft Entra. Se trata de una acción única que debe realizarse después de actualizar a la compilación 1910 o posterior. Si no se realiza este paso, se producirá un error en las instalaciones del proveedor de recursos de marketplace.

Requisitos previos del proveedor de recursos de SQL Server

Escenario sin conexión

Al implementar el proveedor de recursos de SQL Server V2 en un escenario desconectado, siga las instrucciones de descarga de elementos de Marketplace en Azure Stack Hub para descargar el elemento del proveedor de recursos de SQL Server y el elemento de Add-on RP Windows Server en el entorno de Azure Stack Hub.

Al implementar el proveedor de recursos de SQL Server V1 en un escenario desconectado, complete los pasos siguientes para descargar los módulos de PowerShell necesarios y registrar el repositorio manualmente.

  1. Inicie sesión en un equipo con conectividad a Internet y use los siguientes scripts para descargar los módulos de PowerShell.

    Import-Module -Name PowerShellGet -ErrorAction Stop
    Import-Module -Name PackageManagement -ErrorAction Stop
    
    # path to save the packages, c:\temp\azs1.6.0 as an example here
    $Path = "c:\temp\azs1.6.0"
    
  2. En función de la versión del proveedor de recursos que esté implementando, ejecute uno de estos scripts.

    # for resource provider version >= 1.1.93.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.2
    
    # for resource provider version <= 1.1.47.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.3.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.6.0
    
  3. Después, copie los paquetes descargados en un dispositivo USB.

  4. Inicie sesión en la estación de trabajo desconectada y copie los paquetes desde el dispositivo USB en una ubicación en dicha estación de trabajo.

  5. Registre esta ubicación como un repositorio local.

    # requires -Version 5
    # requires -RunAsAdministrator
    # requires -Module PowerShellGet
    # requires -Module PackageManagement
    
    $SourceLocation = "C:\temp\azs1.6.0"
    $RepoName = "azs1.6.0"
    
    Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
    New-Item -Path $env:ProgramFiles -name "SqlMySqlPsh" -ItemType "Directory"
    

Implementación del proveedor de recursos de SQL V2

Si va a actualizar desde una versión V1, consulte el documento Actualización de un proveedor de recursos de SQL Server.

Inicio de la instalación

  1. Si todavía no lo ha hecho, inicie sesión en el portal de administración de Azure Stack Hub, seleccione Administración de Marketplace a la izquierda y seleccione Proveedores de recursos.

  2. Una vez que el proveedor de recursos de SQL y el resto de software necesario se hayan descargado, Administración de Marketplace mostrará los paquetes "SQL Server resource provider" con el estado "Not Installed" (No instalado). Puede haber otros paquetes que muestren el estado "Downloaded" (Descargado). Captura de pantalla de la administración de Marketplace antes de instalar el rp.

  3. Seleccione la fila que desee instalar. La página del paquete de instalación del proveedor de recursos de SQL Server muestra un banner azul en la parte superior. Seleccione el banner para iniciar la instalación. Captura de pantalla del inicio de la instalación de la administración de Marketplace.

Requisitos previos de instalación

  1. A continuación, se le transferirá a la página de instalación. Seleccione Install Prerequisites (Instalar requisitos previos) para iniciar el proceso de instalación. Captura de pantalla de los requisitos previos de instalación de la administración de Marketplace.

  2. Espere hasta que la instalación de los requisitos previos sea correcta. Verá una marca de verificación verde junto a Install prerequisites (Instalar requisitos previos) antes de continuar con el paso siguiente. Captura de pantalla de los requisitos previos de instalación de la administración de Marketplace realizados correctamente.

Preparar secretos

  1. En el paso 2. Prepare secrets (Preparar secretos), seleccione Add certificate (Agregar certificado) y aparecerá el panel Add a certificate (Agregar un certificado). Captura de pantalla de la preparación de secretos de administración de Marketplace.

  2. Seleccione el botón browse (examinar) en Add a certificate (Agregar un certificado), a la derecha del campo de nombre de archivo de certificado. Seleccione el archivo de certificado .pfx que ha adquirido al completar los requisitos previos.

  3. Escriba la contraseña que proporcionó para crear una cadena segura para el certificado SSL del proveedor de recursos de SQL Server. A continuación, seleccione Agregar. Captura de pantalla de la adición de certificado de administración de Marketplace.

Instalación del proveedor de recursos

  1. Cuando la instalación del certificado se realice correctamente, verá una marca de verificación verde junto a Prepare secrets (Preparar secretos) antes de continuar con el siguiente paso. Ahora, seleccione el botón Install (Instalar) junto a 3 Install resource provider (Instalar proveedor de recursos). Captura de pantalla de la instalación de RP de inicio de administración de Marketplace.

  2. A continuación, verá la siguiente página, que indica que se está instalando el proveedor de recursos de SQL. Captura de pantalla de la instalación de RP de administración de Marketplace.

  3. Espere a la notificación de que la instalación se completó. Este proceso suele tardar una o varias horas, en función del tipo de Azure Stack Hub. Captura de pantalla de la instalación de RP de administración de Marketplace en curso.

  4. Compruebe que la instalación del proveedor de recursos de SQL Server se ha realizado correctamente; para ello, vuelva a la página Resource Providers (Proveedores de recursos) de Marketplace Management (Administración de Marketplace). El estado del proveedor de recursos de SQL Server debe mostrar "Installed" (Instalado). Captura de pantalla del RP de administración de Marketplace instalado.

Implementación del proveedor de recursos de SQL V1

Una vez completados todos los requisitos previos, ejecute el extractor automático para extraer el paquete de instalación descargado en un directorio temporal. Ejecute el script DeploySqlProvider.ps1 desde un equipo que pueda acceder al punto de conexión de administración de Azure Resource Manager para Azure Stack Hub y al punto de conexión con privilegios para implementar el proveedor de recursos de SQL. El script DeploySqlProvider.ps1 se extrae como parte del archivo binario del proveedor de recursos de SQL descargado para su versión de Azure Stack Hub.

Importante

Antes de implementar el proveedor de recursos, revise las notas de la versión para obtener información sobre las nuevas funciones, correcciones y problemas conocidos que podrían afectar a la implementación.

Para implementar el proveedor de recursos de SQL, abra una nueva ventana de PowerShell con privilegios elevados (no de PowerShell ISE) y cambie al directorio en el que ha extraído los archivos binarios del proveedor de recursos de SQL.

Importante

Se recomienda encarecidamente usar los comandos Clear-AzureRmContext -Scope CurrentUser y Clear-AzureRmContext -Scope Process para borrar la memoria caché antes de ejecutar el script de implementación o de actualización.

Ejecute el script DeploySqlProvider.ps1, que realiza las tareas siguientes:

  • Carga los certificados y otros artefactos en una cuenta de almacenamiento de Azure Stack Hub.
  • Publica paquetes de la galería para poder implementar las bases de datos SQL mediante la galería.
  • Publica un paquete de galería para implementar los servidores de hospedaje.
  • Implementa una máquina virtual mediante la imagen principal de Windows Server 2016 o del complemento Microsoft Azure Stack RP Windows Server y, luego, instala el proveedor de recursos de SQL.
  • Registra un registro de DNS local que se asigna a la VM del proveedor de recursos.
  • Registra el proveedor de recursos en la instancia local de Azure Resource Manager para las cuentas de operador.

Nota:

Cuando se inicia la implementación del proveedor de recursos de SQL, se crea el grupo de recursos system.local.sqladapter. Las implementaciones necesarias para este grupo de recursos pueden tardar hasta 75 minutos en completarse. No debe colocar ningún otro recurso en el grupo de recursos system.local.sqladapter.

Parámetros de DeploySqlProvider.ps1

Puede especificar los parámetros siguientes en la línea de comandos. Si no lo hace, o se produce un error en la validación de algún parámetro, se le pedirá que proporcione los parámetros necesarios.

Nombre de parámetro Descripción Comentario o valor predeterminado
CloudAdminCredential Credencial del administrador de la nube necesaria para el acceso al punto de conexión con privilegios. Obligatorio
AzCredential Credenciales de la cuenta de administrador de servicios de Azure Stack Hub. Use las mismas credenciales que para la implementación de Azure Stack Hub. Se producirá un error en el script si la cuenta que usa con AzCredential requiere autenticación multifactor (MFA). Obligatorio
VMLocalCredential Credenciales de la cuenta de administrador local de la VM del proveedor de recursos SQL. Obligatorio
PrivilegedEndpoint Dirección IP o nombre DNS del punto de conexión con privilegios. Obligatorio
AzureEnvironment Entorno de Azure de la cuenta de administrador de servicios que se usó para la implementación de Azure Stack Hub. Solo se requiere para las implementaciones de Microsoft Entra. Los nombres de entorno admitidos son AzureCloud, AzureUSGovernment o si se usa una Microsoft Entra ID de China, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath El archivo .pfx de certificados se debe colocar en este directorio, pero solo en los sistemas integrados. También puede copiar un paquete de Windows Update MSU aquí. Opcional (obligatorio para sistemas integrados)
DefaultSSLCertificatePassword Contraseña para el certificado .pfx. Obligatorio
MaxRetryCount El número de veces que quiere volver a intentar cada operación si se produce un error. 2
RetryDuration Intervalo de tiempo de expiración entre reintentos, en segundos. 120
Desinstalación Se quita el proveedor de recursos y todos los recursos asociados (vea las notas siguientes). No
DebugMode Impide la limpieza automática en caso de error. No

Implementar el proveedor de recursos SQL con un script personalizado

Si va a implementar la versión 1.1.33.0 del proveedor de recursos de SQL o versiones anteriores, debe instalar versiones específicas de los módulos AzureRm.BootStrapper y Azure Stack Hub en PowerShell.

Si va a implementar la versión 1.1.47.0, u otra posterior, del proveedor de recursos de SQL, el script de implementación descargará e instalará automáticamente los módulos de PowerShell necesarios en la ruta de acceso C:\Archivos de programa\SqlMySqlPsh.

# 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 -RequiredVersion 0.5.0 -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Nota:

Si trabaja en un escenario desconectado, deberá descargar los módulos de PowerShell necesarios y registrar el repositorio manualmente como requisito previo.

Para eliminar cualquier configuración manual al implementar el proveedor de recursos, puede personalizar el script siguiente. Cambie la información de cuenta predeterminada y las contraseñas según sea necesario para su implementación de Azure Stack Hub.

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but could have been changed at install time.
$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 can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

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

# Add the cloudadmin credential that's 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 to the directory folder where you extracted the installation files. Don't provide a certificate on ASDK!
. $tempDir\DeploySQLProvider.ps1 `
    -AzCredential $AdminCreds `
    -VMLocalCredential $vmLocalAdminCreds `
    -CloudAdminCredential $cloudAdminCreds `
    -PrivilegedEndpoint $privilegedEndpoint `
    -AzureEnvironment $AzureEnvironment `
    -DefaultSSLCertificatePassword $PfxPass `
    -DependencyFilesLocalPath $tempDir\cert

Cuando finalice el script de instalación del proveedor de recursos, actualice el explorador para asegurarse de que puede ver las actualizaciones más recientes y cierre la sesión de PowerShell actual.

Comprobación de la implementación de V1 mediante el portal de Azure Stack Hub

  1. Inicie sesión en el portal de administración como administrador de servicios.
  2. Seleccione Grupos de recursos.
  3. A continuación, seleccione el grupo de recursos system.<location>.sqladapter.
  4. En la página de resumen de la información general del grupo de recursos no debería haber implementaciones con errores.
  5. Por último, seleccione Máquinas virtuales en el portal de administración para comprobar que la máquina virtual del proveedor de recursos de SQL se ha creado correctamente y está en ejecución.

Configuración importante para Microsoft Entra ID

Si Azure Stack Hub usa Microsoft Entra ID como proveedor de identidades, asegúrese de que la máquina virtual que ha instalado SQL Server proveedor de recursos tiene conectividad saliente a Internet.

Si es necesario obtener la dirección IP de la máquina virtual que ha instalado un proveedor de recursos de SQL Server (es decir, agregar la dirección IP a la lista de permitidos del firewall), debe abrir un caso de soporte técnico y solicitar al ingeniero de soporte técnico que haga que la suscripción del proveedor de recursos de SQL Server sea visible temporalmente. A continuación, puede localizar la máquina virtual en la suscripción y obtener su dirección IP.

Pasos siguientes

Add hosting servers (Agregar servidores de hospedaje)