XenApp and XenDesktop

Bases de datos

Un sitio de XenApp o XenDesktop® utiliza tres bases de datos de SQL Server:

  • Sitio: (también conocida como Configuración del sitio) almacena la configuración del sitio en ejecución, además del estado actual de la sesión y la información de conexión.
  • Registro de configuración: (también conocida como Registro) almacena información sobre los cambios de configuración del sitio y las actividades administrativas. Esta base de datos se utiliza cuando la función de registro de configuración está habilitada (valor predeterminado = habilitada).
  • Supervisión: almacena los datos utilizados por Director, como la información de sesión y conexión.

Cada Delivery Controller se comunica con la base de datos del sitio. Se requiere autenticación de Windows entre el Controller y las bases de datos. Un Controller se puede desconectar o apagar sin afectar a otros Controllers del sitio. Sin embargo, esto significa que la base de datos del sitio constituye un único punto de fallo. Si el servidor de la base de datos falla, las conexiones existentes seguirán funcionando hasta que un usuario cierre la sesión o se desconecte. Para obtener información sobre el comportamiento de la conexión cuando la base de datos del sitio deja de estar disponible, consulte Caché de host local.

Cuando agregue un Delivery Controller™ a un sitio, asegúrese de agregar las credenciales de inicio de sesión para esa máquina a cualquier servidor SQL de réplica que utilice para la alta disponibilidad.

Citrix recomienda hacer copias de seguridad de las bases de datos con regularidad para poder restaurarlas desde la copia de seguridad si el servidor de la base de datos falla. La estrategia de copia de seguridad para cada base de datos puede diferir. Para obtener instrucciones, consulte CTX135207.

Si su sitio contiene más de una zona, mantenga la base de datos del sitio en la zona principal. Los Controllers de cada zona se comunican con esa base de datos.

Alta disponibilidad

Existen varias soluciones de alta disponibilidad que se deben tener en cuenta para garantizar la conmutación por error automática:

  • Grupos de disponibilidad AlwaysOn (incluidos los grupos de disponibilidad básicos): Esta solución de alta disponibilidad y recuperación ante desastres de nivel empresarial, introducida en SQL Server 2012, le permite maximizar la disponibilidad de una o varias bases de datos. Los grupos de disponibilidad AlwaysOn requieren que las instancias de SQL Server residan en nodos de clúster de conmutación por error de Windows Server (WSFC). Para obtener más información, consulte https://docs.microsoft.com/es-es/sql/database-engine/availability-groups/windows/always-on-availability-groups-sql-server?redirectedfrom=MSDN&view=sql-server-ver15.
  • Duplicación de bases de datos de SQL Server: La duplicación de la base de datos garantiza que, si se pierde el servidor de base de datos activo, se produce un proceso de conmutación por error automático en cuestión de segundos, de modo que los usuarios no se ven afectados en general. Este método es más costoso que otras soluciones porque se requieren licencias completas de SQL Server en cada servidor de base de datos; no se puede utilizar la edición SQL Server Express en un entorno duplicado.
  • Agrupación en clústeres de SQL: La tecnología de agrupación en clústeres de Microsoft SQL se puede utilizar para permitir automáticamente que un servidor asuma las tareas y responsabilidades de otro servidor que haya fallado. Sin embargo, la configuración de esta solución es más complicada y el proceso de conmutación por error automática suele ser más lento que alternativas como la duplicación de SQL.
  • Uso de las funciones de alta disponibilidad del hipervisor: Con este método, se implementa la base de datos como una máquina virtual y se utilizan las funciones de alta disponibilidad del hipervisor. Esta solución es menos costosa que la duplicación porque utiliza el software de hipervisor existente y también se puede utilizar la edición SQL Server Express. Sin embargo, el proceso de conmutación por error automática es más lento, ya que el inicio de una nueva máquina para la base de datos puede llevar tiempo, lo que podría interrumpir el servicio a los usuarios.

La función Caché de host local complementa las prácticas recomendadas de alta disponibilidad de SQL Server al permitir que los usuarios se conecten y reconecten a aplicaciones y escritorios incluso cuando la base de datos del sitio no está disponible. Para obtener más información, consulte Caché de host local.

Si todos los Controllers de un sitio fallan, puede configurar los VDA para que funcionen en modo de alta disponibilidad, de modo que los usuarios puedan seguir accediendo y utilizando sus escritorios y aplicaciones. En el modo de alta disponibilidad, el VDA acepta conexiones ICA directas de los usuarios, en lugar de conexiones intermediadas por el Controller. Utilice esta función solo en la rara ocasión en que falle la comunicación con todos los Controllers. No es una alternativa a otras soluciones de alta disponibilidad. Para obtener más información, consulte CTX 127564.

Nota

No se admite la instalación de un Controller en un nodo en una instalación de clústeres SQL o de duplicación SQL.

Instalar el software de la base de datos

De forma predeterminada, la edición SQL Server Express se instala al instalar el primer Delivery Controller si no se detecta otra instancia de SQL Server en ese servidor. Esa acción predeterminada suele ser suficiente para pruebas de concepto o implementaciones piloto. Sin embargo, SQL Server Express no admite las funciones de alta disponibilidad de Microsoft.

La instalación predeterminada utiliza las cuentas de servicio y los permisos predeterminados de Windows. Consulte la documentación de Microsoft para obtener detalles sobre estos valores predeterminados, incluida la adición de cuentas de servicio de Windows al rol sysadmin. El Controller utiliza la cuenta de servicio de red en esta configuración. El Controller no requiere ningún rol o permiso adicional de SQL Server.

Si es necesario, puede seleccionar Ocultar instancia para la instancia de la base de datos. Al configurar la dirección de la base de datos en Studio, introduzca el número de puerto estático de la instancia, en lugar de su nombre. Consulte la documentación de Microsoft para obtener detalles sobre cómo ocultar una instancia de SQL Server Database Engine.

Para la mayoría de las implementaciones de producción y cualquier implementación que utilice funciones de alta disponibilidad de Microsoft, utilice ediciones de SQL Server no Express compatibles instaladas en máquinas distintas del servidor donde está instalado el primer Controller. El artículo Requisitos del sistema enumera las versiones de SQL Server compatibles. Las bases de datos pueden residir en una o varias máquinas.

Asegúrese de que el software de SQL Server esté instalado antes de crear un sitio. No es necesario crear la base de datos, pero si lo hace, debe estar vacía. También se recomienda configurar las tecnologías de alta disponibilidad de Microsoft.

Utilice Windows Update para mantener SQL Server actualizado.

Configurar las bases de datos desde el asistente de creación del sitio

Especifique los nombres y las direcciones (ubicación) de las bases de datos en la página Bases de datos del asistente de creación del sitio. Consulte Formatos de dirección de base de datos. Para evitar posibles errores cuando Director consulta el servicio Monitor, no utilice espacios en blanco en el nombre de la base de datos de supervisión.

La página Bases de datos ofrece dos opciones para configurar las bases de datos: automática y mediante scripts. Generalmente, puede utilizar la opción automática si usted (el usuario de Studio y el administrador de Citrix®) tiene los privilegios de base de datos necesarios; consulte Permisos necesarios para configurar bases de datos a continuación.

Puede cambiar la ubicación de las bases de datos de registro de configuración y supervisión más tarde, después de crear el sitio. Consulte Cambiar ubicaciones de bases de datos.

Para configurar un Sitio para que use una base de datos espejo, complete lo siguiente y luego continúe con los procedimientos de configuración automáticos o mediante scripts.

  1. Instale el software de SQL Server en dos servidores, A y B.
  2. En el servidor A, cree la base de datos destinada a usarse como principal. Haga una copia de seguridad de la base de datos en el servidor A y luego cópiela al servidor B.
  3. En el servidor B, restaure el archivo de copia de seguridad.
  4. Inicie la creación de reflejos en el servidor A.

Para verificar la creación de reflejos después de crear el Sitio, ejecute el cmdlet de PowerShell get-configdbconnection para asegurarse de que el socio de conmutación por error se haya establecido en la cadena de conexión al reflejo.

Si más adelante agrega, mueve o quita un Controlador de entrega en un entorno de base de datos espejo, consulte el artículo de Delivery Controllers.

Configuración automática

Si tiene los privilegios de base de datos necesarios, seleccione la opción “Crear y configurar bases de datos desde Studio” en la página Bases de datos del asistente de creación de sitios, y luego proporcione los nombres y las direcciones de las bases de datos principales.

Si ya existe una base de datos en la dirección que especifique, debe estar vacía. Si no existen bases de datos en una dirección especificada, se le informará de que no se puede encontrar una base de datos y se le preguntará si desea que se cree la base de datos. Cuando confirme esa acción, Studio creará automáticamente las bases de datos y luego aplicará los scripts de inicialización para las bases de datos principal y de réplica.

Configuración mediante scripts

Si no tiene los privilegios de base de datos necesarios, alguien con esos permisos debe ayudarle, como un administrador de bases de datos. Esta es la secuencia:

  1. En el asistente de creación de sitios, seleccione la opción Generar scripts. Esta acción genera seis scripts: dos para cada una de las tres bases de datos (uno para cada base de datos principal y otro para cada réplica). Puede indicar dónde almacenar los scripts.
  2. Entregue esos scripts a su administrador de bases de datos. El asistente de creación de sitios se detiene automáticamente en este punto; se le pedirá que continúe con la creación del Sitio cuando regrese más tarde.

El administrador de bases de datos crea entonces las bases de datos. Cada base de datos debe tener las siguientes características:

  • Utilice una intercalación que termine en “_CI_AS_KS”. Citrix recomienda utilizar una intercalación que termine en “_100_CI_AS_KS”.
  • Para un rendimiento óptimo, habilite la instantánea de lectura confirmada de SQL Server. Para obtener más información, consulte CTX 137161.
  • Las funciones de alta disponibilidad deben configurarse, si se desea.
  • Para configurar la duplicación, primero configure la base de datos para que utilice el modelo de recuperación completa (el modelo simple es el predeterminado). Realice una copia de seguridad de la base de datos principal en un archivo y cópiela en el servidor espejo. En la base de datos espejo, restaure el archivo de copia de seguridad en el servidor espejo. Luego, inicie la duplicación en el servidor principal.

El administrador de la base de datos utiliza la utilidad de línea de comandos SQLCMD o SQL Server Management Studio en modo SQLCMD para ejecutar cada uno de los scripts xxx_Replica.sql en las instancias de base de datos de SQL Server de alta disponibilidad (si la alta disponibilidad está configurada), y luego ejecuta cada uno de los scripts xxx_Principal.sql en las instancias de base de datos de SQL Server principales. Consulte la documentación de Microsoft para obtener detalles sobre SQLCMD.

Cuando todos los scripts se completan correctamente, el administrador de la base de datos proporciona al administrador de Citrix las tres direcciones de la base de datos principal.

En Studio, se le pedirá que continúe con la creación del sitio y se le devolverá a la página de Bases de datos. Introduzca las direcciones. Si no se puede contactar con alguno de los servidores que alojan una base de datos, se mostrará un mensaje de error.

Permisos necesarios para configurar bases de datos

Debe ser un administrador local y un usuario de dominio para crear e inicializar las bases de datos (o cambiar la ubicación de la base de datos). También debe tener ciertos permisos de SQL Server. Los siguientes permisos se pueden configurar explícitamente o adquirir mediante la pertenencia a un grupo de Active Directory. Si sus credenciales de usuario de Studio no incluyen estos permisos, se le pedirán las credenciales de usuario de SQL Server.

Operación Propósito Rol de servidor Rol de base de datos
Crear una base de datos Crear una base de datos vacía adecuada dbcreator  
Crear un esquema Crear todos los esquemas específicos del servicio y añadir el primer Controller al sitio administrador de seguridad* db_owner
Añadir un Controller Añadir un Controller (que no sea el primero) al sitio administrador de seguridad* db_owner
Añadir un Controller (servidor espejo) Añadir un inicio de sesión de Controller al servidor de bases de datos que actualmente tiene el rol de espejo en una base de datos reflejada administrador de seguridad*  
Quitar Controller Quitar el Controller del sitio ** db_owner
Actualizar un esquema Aplicar actualizaciones de esquema o revisiones   db_owner

* Aunque técnicamente más restrictivo, en la práctica, el rol de servidor securityadmin debe tratarse como equivalente al rol de servidor sysadmin.

** Cuando se elimina un controlador de un sitio, ya sea directamente a través de Desktop Studio o mediante los scripts generados por Desktop Studio o SDK, el inicio de sesión del controlador en el servidor de la base de datos no se elimina. Esto es para evitar la posible eliminación de un inicio de sesión utilizado por servicios que no son de XenDesktop en la misma máquina. El inicio de sesión debe eliminarse manualmente si ya no es necesario; esto requiere la pertenencia al rol de servidor securityadmin.

Al usar Studio para realizar estas operaciones, la cuenta de usuario debe ser miembro del rol de servidor sysadmin.

Formatos de dirección de base de datos

Puede especificar una dirección de base de datos en uno de los siguientes formatos:

  • ServerName
  • ServerName\\InstanceName
  • ServerName,PortNumber

Para un grupo de disponibilidad AlwaysOn, especifique el agente de escucha del grupo en el campo de ubicación.

Cambiar ubicaciones de bases de datos

Después de crear un sitio, puede cambiar la ubicación de las bases de datos de registro de configuración y supervisión. (No puede cambiar la ubicación de la base de datos del sitio). Cuando cambia la ubicación de una base de datos:

  • Los datos de la base de datos anterior no se importan a la nueva base de datos.
  • Los registros no se pueden agregar de ambas bases de datos al recuperarlos.
  • La primera entrada de registro en la nueva base de datos indica que se produjo un cambio en la base de datos, pero no identifica la base de datos anterior.

No puede cambiar la ubicación de la base de datos de registro de configuración cuando el registro obligatorio está habilitado.

Para cambiar la ubicación de una base de datos:

  1. Asegúrese de que una versión compatible de Microsoft SQL Server esté instalada en el servidor donde desea que resida la base de datos. Configure las funciones de alta disponibilidad según sea necesario.
  2. Seleccione Configuración en el panel de navegación de Studio.
  3. Seleccione la base de datos para la que desea especificar una nueva ubicación y, a continuación, seleccione Cambiar base de datos en el panel Acciones.
  4. Especifique la nueva ubicación y el nombre de la base de datos.
  5. Si desea que Studio cree la base de datos y tiene los permisos adecuados, haga clic en Aceptar. Cuando se le solicite, haga clic en Aceptar, y Studio la creará automáticamente. Studio intenta acceder a ella utilizando sus credenciales. Si eso falla, se le solicitarán las credenciales del usuario de la base de datos. Studio luego carga el esquema de la base de datos en ella. Las credenciales se retienen solo durante el período de creación de la base de datos.
  6. Si no desea que Studio cree la base de datos, o no tiene permisos suficientes, haga clic en Generar script. Los scripts generados incluyen instrucciones para crear manualmente la base de datos y una base de datos espejo, si es necesario. Antes de cargar el esquema, asegúrese de que la base de datos esté vacía y de que al menos un usuario tenga permiso para acceder y cambiar la base de datos.

Para obtener más información

Dimensionamiento de la base de datos del sitio y configuración de cadenas de conexión al utilizar soluciones de alta disponibilidad de SQL Server.