Bases de datos
Nota:
A partir de la versión 2511, Citrix Web Studio (basado en web) es la única consola de administración para Citrix Virtual Apps and Desktops™. Citrix Studio (basado en MMC) se ha quitado del instalador. Este artículo se aplica solo a Web Studio. Para obtener información sobre Citrix Studio, consulta el artículo equivalente en Citrix Virtual Apps and Desktops 7 2212 o versiones anteriores.
Un sitio de Citrix Virtual Apps o Citrix Virtual Desktops™ 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 de la sesión actual y la información de conexión.
- Registro: (también conocida como Registro de configuración) 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 (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, consulta Local Host Cache.
Citrix recomienda lo siguiente con respecto a las bases de datos:
-
Haz copias de seguridad con regularidad. Haz copias de seguridad de las bases de datos con regularidad para poder restaurarlas si el servidor de la base de datos falla. La estrategia de copia de seguridad para cada base de datos puede variar. Para obtener más información, consulta CTX135207; ten en cuenta, sin embargo, que se refiere a CitrixXenDesktopDB, que ya no es compatible ni está disponible para los clientes.
-
Haz copias de seguridad y restaura las bases de datos de SQL Server del sitio, de supervisión y de registro con regularidad. Para obtener información específica sobre las bases de datos de SQL Server, consulta Crear copias de seguridad completas y diferenciales de una base de datos de SQL Server.
Si tu sitio contiene más de una zona, asegúrate de que la zona principal siempre contenga la base de datos del sitio. Los Controllers de cada zona se comunican con esa base de datos.
Alta disponibilidad
Hay varias soluciones de alta disponibilidad que debes considerar 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, te 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, consulta Clúster de conmutación por error de Windows Server con SQL Server.
- Duplicación de bases de datos de SQL Server: La duplicación de la base de datos garantiza que, si pierdes el servidor de la 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 generalmente no se ven afectados. 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 puedes usar SQL Server Express Edition en un entorno duplicado.
- Clúster de SQL: La tecnología de clúster 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, configurar esta solución es más complicado y el proceso de conmutación por error automático 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, implementas la base de datos como una máquina virtual y utilizas las funciones de alta disponibilidad de tu hipervisor. Esta solución es menos costosa que la duplicación porque utiliza tu software de hipervisor existente y también puedes usar SQL Server Express Edition. Sin embargo, el proceso de conmutación por error automático es más lento, ya que puede llevar tiempo que una nueva máquina se inicie para la base de datos, lo que podría interrumpir el servicio a los usuarios.
La función Local Host Cache complementa las mejores prácticas de alta disponibilidad de SQL Server. Local Host Cache permite a los usuarios conectarse y volver a conectarse a aplicaciones y escritorios incluso cuando la base de datos del sitio no está disponible. Para obtener más información, consulta Local Host Cache.
Si todos los Controllers de un sitio fallan, puedes configurar los VDA para que funcionen en modo de alta disponibilidad, lo que permite a los usuarios seguir accediendo a 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. Utiliza esta función solo en la rara ocasión en que falle la comunicación con todos los Controllers. La función no es una alternativa a otras soluciones de alta disponibilidad. Para obtener más información, consulta CTX 127564.
No se admite la instalación de un Controller en un nodo en una instalación de clúster de SQL o duplicación de SQL.
Instalar el software de la base de datos
Nota:
A partir de la versión 2411, puedes usar Azure SQL Managed Instance para las bases de datos.
De forma predeterminada, SQL Server Express Edition se instala cuando instalas 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 es compatible con las funciones de alta disponibilidad de Microsoft.
La instalación predeterminada utiliza las cuentas de servicio y los permisos predeterminados de Windows. Consulta la documentación de Microsoft para obtener detalles sobre estos valores predeterminados, incluida la adición de cuentas de servicio de Windows al rol de 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, puedes seleccionar Ocultar instancia para la instancia de la base de datos. Al configurar la dirección de la base de datos en Web Studio, introduce el número de puerto estático de la instancia, en lugar de su nombre. Consulta 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, recomendamos utilizar solo ediciones de SQL Server no Express compatibles. Instala SQL Server en máquinas distintas del servidor donde está instalado el primer Controller. Requisitos del sistema enumera las versiones de SQL Server compatibles. Las bases de datos pueden residir en una o varias máquinas.
Asegúrate de que el software de SQL Server esté instalado antes de crear un sitio. No tienes que crear la base de datos, pero si lo haces, debe estar vacía. También se recomienda configurar las tecnologías de alta disponibilidad de Microsoft.
Usa Windows Update para mantener SQL Server actualizado.
Configura las bases de datos desde el asistente de creación de sitios
Especifica los nombres y las direcciones (ubicación) de las bases de datos en la ficha Bases de datos del asistente de creación de sitios. (Consulta Formatos de dirección de base de datos). Para evitar posibles errores cuando Director consulte el Servicio de supervisión, no uses espacios en blanco en el nombre de la base de datos de supervisión.
La ficha Bases de datos ofrece dos opciones para configurar las bases de datos: automática y mediante scripts. Por lo general, puedes usar la opción automática si tú (el usuario de Web Studio y administrador de Citrix) tienes los privilegios de base de datos necesarios. (Consulta Permisos necesarios para configurar bases de datos).
Puedes cambiar la ubicación de la base de datos de registro de configuración y supervisión más tarde, después de crear el sitio. Consulta Cambiar ubicaciones de bases de datos.
Para configurar un sitio para usar una base de datos reflejada, completa lo siguiente y luego procede con los procedimientos de configuración automática o mediante scripts.
- Instala el software de SQL Server en dos servidores, A y B.
- En el servidor A, crea la base de datos que se va a usar como principal. Haz una copia de seguridad de la base de datos en el servidor A y luego cópiasela en el servidor B.
- En el servidor B, restaura el archivo de copia de seguridad.
- Inicia la creación de reflejos en el servidor A.
Para verificar la creación de reflejos después de crear el sitio, ejecuta el cmdlet de PowerShell get-configdbconnection para asegurarte de que el socio de conmutación por error se haya establecido en la cadena de conexión al reflejo.
Si más tarde agregas, mueves o quitas un Delivery Controller en un entorno de base de datos reflejada, consulta Delivery Controllers.
Configuración automática
Si tienes los privilegios de base de datos necesarios, configura la base de datos siguiendo estos pasos:
-
Selecciona Crear y configurar bases de datos desde Studio en la ficha Bases de datos del asistente de creación de sitios.
-
Proporciona los nombres y las direcciones de las bases de datos principales.
-
Configura las siguientes opciones de conexión de SQL Server para mejorar la seguridad y la flexibilidad de tu configuración de conectividad de bases de datos:
-
Cifrado: Especifica el nivel de cifrado para la conexión.
-
Confiar en el certificado del servidor: Selecciona para omitir la validación del certificado del servidor.
-
Nombre de host en el certificado: Introduce el nombre de host con el que debe coincidir el certificado del servidor. Esta configuración garantiza una validación de certificado más estricta.
Para obtener más información, consulta este artículo de Microsoft.
-
Si existe una base de datos en una dirección que especifiques, debe estar vacía. Si no existen bases de datos en una dirección especificada, se te informa de que no se puede encontrar una base de datos y luego se te pregunta si quieres que se cree la base de datos. Cuando confirmas esa acción, Web Studio crea automáticamente las bases de datos y luego aplica los scripts de inicialización para las bases de datos principal y de réplica.
Configuración mediante scripts
Si no tienes los derechos de base de datos necesarios, solicita asistencia a alguien que los tenga, como un administrador de bases de datos. Esta es la secuencia:
- En la ficha Bases de datos del asistente de creación de sitios, selecciona Generar scripts para configurar manualmente. Esta acción genera los tres tipos de scripts siguientes para cada una de las bases de datos principal y de réplica: bases de datos de sitio, de supervisión y de registro.
-
Script que contiene “SysAdmin” en su nombre. Un script que crea las bases de datos y el inicio de sesión del Delivery Controller. Estas tareas requieren derechos de
securityadmin. -
Script que contiene “DbOwner” en su nombre. Un script que crea los roles de usuario en la base de datos, agrega los inicios de sesión y luego crea los esquemas de la base de datos. Estas tareas requieren derechos de
db_owner. - Script que contiene “Mixed” en su nombre. Todas las tareas en un solo script, independientemente de los derechos requeridos.
Puedes indicar dónde almacenar los scripts.
Nota:
En entornos empresariales, la configuración de la base de datos incluye scripts que pueden ser gestionados por diferentes equipos con distintos roles (derechos):
securityadminodb_owner. Si corresponde, primero los administradores con el rolsecurityadminejecutan los scripts “SysAdmin” y luego los administradores con derechosdb_ownerejecutan los scripts “DbOwner”. Para generar esos scripts, también puedes usar PowerShell. Para obtener más información, consulta Scripts de derechos de base de datos preferidos.
- Entrega esos scripts a tu administrador de bases de datos. El asistente de creación del sitio se detiene automáticamente en este punto. Se te pedirá que continúes la creación del sitio cuando regreses más tarde.
El administrador de bases de datos crea las bases de datos. Cada base de datos debe tener las siguientes características:
- Usa una intercalación que termine en
_CI_AS_KS. Recomendamos usar una intercalación que termine en_100_CI_AS_KS. - Para un rendimiento óptimo, habilita la instantánea de lectura confirmada de SQL Server (Read-Committed Snapshot). Para obtener más información, consulta CTX 137161.
- Funciones de alta disponibilidad configuradas, si corresponde.
- Para configurar la duplicación (mirroring), primero configura la base de datos para que use el modelo de recuperación completa (el modelo simple es el predeterminado). Haz una copia de seguridad de la base de datos principal en un archivo y cópiala al servidor espejo. Luego, restaura el archivo de copia de seguridad en el servidor espejo. Finalmente, inicia la duplicación en el servidor principal.
El administrador de bases de datos usa 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.sqlen las instancias de base de datos de SQL Server de alta disponibilidad (si la alta disponibilidad está configurada). - Ejecutar cada uno de los scripts
xxx\_Principal.sqlen las instancias de base de datos de SQL Server principales.
Consulta la documentación de Microsoft para obtener detalles sobre SQLCMD.
Cuando todos los scripts se completen correctamente, el administrador de bases de datos entrega al administrador de Citrix las tres direcciones de base de datos principales.
Web Studio te pide que continúes la creación del sitio. Regresarás a la página Bases de datos, completa los siguientes pasos:
-
Introduce las direcciones.
-
Configura las siguientes opciones de conexión de SQL Server para mejorar la seguridad y la flexibilidad de tu configuración de conectividad de bases de datos:
-
Cifrado: Especifica el nivel de cifrado para la conexión.
-
Confiar en el certificado del servidor: Selecciona para omitir la validación del certificado del servidor.
-
Nombre de host en el certificado: Introduce el nombre de host con el que debe coincidir el certificado del servidor. Esta configuración garantiza una validación de certificado más estricta.
-
Para obtener más información, consulta este artículo de Microsoft.
Si no se puede contactar con ninguno de los servidores que alojan una base de datos, aparece un mensaje de error.
Permisos necesarios para configurar bases de datos
Debes 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 debes 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 tus credenciales de usuario de Web Studio no incluyen estos permisos, se te 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 agregar el primer Controller al sitio | securityadmin* | db_owner |
| Agregar un Controller | Agregar un Controller (que no sea el primero) al sitio | securityadmin* | db_owner |
| Agregar un Controller (servidor espejo) | Agregar un inicio de sesión de Controller al servidor de base de datos que actualmente tiene el rol de espejo de una base de datos duplicada | securityadmin* | |
| Quitar Controller | Quitar 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, puedes tratar el rol de servidor securityadmin como equivalente al rol de servidor sysadmin.
Cuando se quita un Controller de un sitio, el inicio de sesión del Controller en el servidor de la base de datos no se quita. Esto es para evitar la posible eliminación de un inicio de sesión que estén utilizando servicios distintos a este producto de Citrix en la misma máquina. El inicio de sesión debe quitarse manualmente si ya no es necesario. Esta acción requiere la pertenencia al rol de servidor securityadmin.
Cuando uses Web Studio para realizar estas operaciones, el usuario de Web Studio debe tener una cuenta de servidor de base de datos que sea explícitamente miembro de los roles de servidor adecuados, o poder proporcionar las credenciales de una cuenta que sí lo sea.
Scripts de derechos de base de datos preferidos
En entornos empresariales, la configuración de la base de datos incluye scripts que deben ser gestionados por equipos diferentes con roles (derechos) diferentes: securityadmin o db_owner.
Con PowerShell, puedes especificar los derechos de base de datos preferidos. Especificar un valor no predeterminado resulta en la creación de scripts separados. Un script contiene tareas que necesitan el rol securityadmin. El otro script requiere solo derechos de db_owner y puede ser ejecutado por un administrador de Citrix, sin tener que contactar con un administrador de base de datos.
En los cmdlets get-*DBSchema, la opción -DatabaseRights tiene los siguientes valores válidos:
-
SA: Genera un script que crea las bases de datos y el inicio de sesión del Delivery Controller. Estas tareas requieren derechos desecurityadmin. -
DBO: Genera un script que crea los roles de usuario en la base de datos, agrega los inicios de sesión y, a continuación, crea los esquemas de la base de datos. Estas tareas requieren derechos dedb_owner. -
Mixed: (Predeterminado) Todas las tareas en un solo script, independientemente de los derechos requeridos.
Para obtener más información, consulta la ayuda del cmdlet.
Formatos de dirección de base de datos
Puedes especificar una dirección de base de datos en uno de los siguientes formatos:
ServerNameServerName\InstanceNameServerName,PortNumber
Para un grupo de disponibilidad AlwaysOn, especifica el agente de escucha del grupo en el campo de ubicación.
Cambiar ubicaciones de base de datos
Después de crear un sitio, puedes cambiar la ubicación de las bases de datos de registro de configuración y supervisión. Sin embargo, no puedes cambiar la ubicación de la base de datos del sitio. Cuando cambies la ubicación de una base de datos, ten en cuenta las siguientes notas:
- 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 recuperar registros.
- 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 puedes cambiar la ubicación de la base de datos de registro de configuración cuando el registro obligatorio está habilitado.
- No se admite el cambio de ubicaciones de base de datos entre SQL Server y Azure SQL.
Para cambiar la ubicación de una base de datos:
- Si usas Microsoft SQL Server, asegúrate de que haya una versión compatible instalada en el servidor donde quieres que resida la base de datos. Configura las funciones de alta disponibilidad según sea necesario.
- Inicia sesión en Web Studio y, a continuación, selecciona Configuración en el panel izquierdo.
- Busca el mosaico Base de datos y selecciona Modificar.
- En la página Administrar base de datos, selecciona la base de datos para la que quieres especificar una nueva ubicación y, a continuación, selecciona Cambiar base de datos en la barra de acciones.
- Especifica la nueva ubicación y el nombre de la base de datos. Si la base de datos está alojada en Azure SQL, escribe las credenciales de una entidad de servicio con permiso para administrar la base de datos.
- Si quieres que Web Studio cree la base de datos y tienes los permisos adecuados, haz clic en Listo. Cuando se te solicite, haz clic en Listo y, a continuación, Web Studio crea la base de datos automáticamente. Web Studio intenta acceder a la base de datos usando tus credenciales. Si eso falla, se te pedirán las credenciales del usuario de la base de datos. A continuación, Web Studio carga el esquema de la base de datos en la base de datos. Las credenciales se conservan solo durante el período de creación de la base de datos.
- Si no quieres que Web Studio cree la base de datos, o no tienes permisos suficientes, haz clic en Generar script de base de datos. 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úrate 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.
Más información
- Herramienta de dimensionamiento de bases de datos.
- Dimensionamiento de la base de datos del sitio y configuración de cadenas de conexión al usar soluciones de alta disponibilidad de SQL Server.