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 eliminado del instalador. Este artículo se aplica solo a Web Studio. Para obtener información sobre Citrix Studio, consulte 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, consulte Caché de host local.
Citrix recomienda lo siguiente con respecto a las bases de datos:
-
Realice copias de seguridad con regularidad. Realice 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 de cada base de datos puede variar. Para obtener más información, consulte CTX135207; tenga en cuenta, sin embargo, que se refiere a CitrixXenDesktopDB, que ya no es compatible ni está disponible para los clientes.
-
Realice copias de seguridad y restaure las bases de datos de SQL Server de Sitio, Supervisión y Registro con regularidad. Para obtener información específica sobre las bases de datos de SQL Server, consulte Creación de copias de seguridad completas y diferenciales de una base de datos de SQL Server.
Si su sitio contiene más de una zona, asegúrese 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 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 Clúster de conmutación por error de Windows Server con SQL Server.
- Creación de reflejo de la base de datos de SQL Server: La creación de reflejo de la base de datos garantiza que, si 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. 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 usar SQL Server Express Edition en un entorno con creación de reflejo.
- Clúster de SQL: La tecnología de clúster de SQL de Microsoft se puede usar 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ático suele ser más lento que otras alternativas, como la creación de reflejo 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 creación de reflejo porque utiliza el software de hipervisor existente y también se puede usar SQL Server Express Edition. Sin embargo, el proceso de conmutación por error automático es más lento, ya que puede tardar un tiempo en iniciarse una nueva máquina para la base de datos, lo que podría interrumpir el servicio a los usuarios.
La función de caché de host local complementa las prácticas recomendadas de alta disponibilidad de SQL Server. La caché de host local 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, 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, 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. Utilice 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, consulte CTX 127564.
No se admite la instalación de un Controller en un nodo de una instalación de clúster de SQL o de creación de reflejo de SQL.
Instalar software de base de datos
Nota:
A partir de la versión 2411, puede usar Azure SQL Managed Instance para las bases de datos.
De forma predeterminada, se instala SQL Server Express Edition 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 más información 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 base de datos. Al configurar la dirección de la base de datos en Web 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 más información 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 usar solo ediciones de SQL Server compatibles que no sean Express. Instale 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ú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.
Use Windows Update para mantener SQL Server actualizado.
Configurar las bases de datos desde el asistente de creación de sitios
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 de sitios. (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. Por lo general, puede usar la opción automática si usted (el usuario de Web Studio y el administrador de Citrix) tiene los privilegios de base de datos necesarios. (Consulte Permisos necesarios para configurar bases de datos.)
Puede 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. Consulte Cambiar ubicaciones de bases de datos.
Para configurar un sitio para usar una base de datos reflejada, complete lo siguiente y luego continúe con los procedimientos de configuración automática o mediante scripts.
- Instale el software SQL Server en dos servidores, A y B.
- En el servidor A, cree la base de datos que se utilizará como principal. Haga una copia de seguridad de la base de datos en el servidor A y luego cópiela en el servidor B.
- En el servidor B, restaure el archivo de copia de seguridad.
- 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 Delivery Controller en un entorno de base de datos reflejada, consulte Delivery Controllers.
Configuración automática
Si tiene los privilegios de base de datos necesarios, configure la base de datos siguiendo estos pasos:
-
Seleccione Crear y configurar bases de datos desde Studio en la página Bases de datos del asistente de creación de sitios.
-
Proporcione los nombres y las direcciones de las bases de datos principales.
-
Configure las siguientes opciones de conexión de SQL Server para mejorar la seguridad y la flexibilidad de la configuración de conectividad de la base de datos:
-
Cifrado: Especifique el nivel de cifrado para la conexión.
-
Confiar en el certificado del servidor: Seleccione esta opción para omitir la validación del certificado del servidor.
-
Nombre de host en el certificado: Introduzca 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, consulte este artículo de Microsoft.
-
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, Web Studio creará automáticamente las bases de datos y, a continuación, aplicará los scripts de inicialización para las bases de datos principal y de réplica.
Configuración mediante scripts
Si no tiene los derechos de base de datos necesarios, solicite ayuda a alguien que los tenga, como un administrador de bases de datos. Esta es la secuencia:
-
En la página Bases de datos del asistente de creación de sitios, seleccione 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 siguientes: 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, a continuación, crea los esquemas de la base de datos. Estas tareas requieren derechos
db_owner. - Script que contiene “Mixed” en su nombre. Todas las tareas en un solo script, independientemente de los derechos requeridos.
Puede 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 diferentes 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 puede usar PowerShell. Para obtener más información, consulte Scripts de derechos de base de datos preferidos. -
Entregue esos scripts a su administrador de bases de datos. El asistente de creación del sitio 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. Recomendamos 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 (SQL Server Read-Committed Snapshot). Para obtener más información, consulte CTX 137161.
- Funciones de alta disponibilidad configuradas, si procede.
- 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). Haga una copia de seguridad de la base de datos principal en un archivo y cópiela en el servidor reflejado. A continuación, restaure el archivo de copia de seguridad en el servidor reflejado. Por último, inicie la duplicación en el servidor principal.
El administrador de bases 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.sqlen las instancias de base de datos 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 SQL Server principales.
Consulte la documentación de Microsoft para obtener detalles sobre SQLCMD.
Cuando todos los scripts se completan correctamente, el administrador de bases de datos proporciona al administrador de Citrix las tres direcciones de las bases de datos principales.
Web Studio le pide que continúe con la creación del sitio. Se le redirigirá a la página Bases de datos, complete los siguientes pasos:
-
Introduzca las direcciones.
-
Configure las siguientes opciones de conexión de SQL Server para mejorar la seguridad y la flexibilidad de la configuración de conectividad de la base de datos:
-
Cifrado: Especifique el nivel de cifrado para la conexión.
-
Confiar en el certificado del servidor: Seleccione esta opción para omitir la validación del certificado del servidor.
-
Nombre de host en el certificado: Introduzca 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, consulte 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
Debe ser administrador local y 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 u obtener mediante la pertenencia a un grupo de Active Directory. Si sus credenciales de usuario de Web Studio no incluyen estos permisos, se le solicitará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 bases de datos que actualmente tiene el rol de espejo en una base de datos reflejada |
securityadmin* |
|
| Quitar Controller | Quitar controller del sitio | ** | db_owner |
| Actualizar un esquema | Aplicar actualizaciones de esquema o hotfixes | db_owner |
* Aunque técnicamente es más restrictivo, en la práctica, puede 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 otros servicios, además de este producto de Citrix, en la misma máquina. El inicio de sesión debe eliminarse manualmente si ya no es necesario. Esta acción requiere la pertenencia al rol de servidor securityadmin.
Al usar 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 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 diferentes equipos con diferentes roles (derechos): securityadmin o db_owner.
Con PowerShell, puede especificar los derechos de base de datos preferidos. Si se especifica un valor no predeterminado, se crean scripts separados. Un script contiene tareas que necesitan el rol securityadmin. El otro script solo requiere derechos db_owner y puede ser ejecutado por un administrador de Citrix, sin tener que contactar con un administrador de bases 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 derechossecurityadmin. -
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 derechosdb_owner. -
Mixed: (Predeterminado) Todas las tareas en un solo script, independientemente de los derechos requeridos.
Para obtener más información, consulte la ayuda del cmdlet.
Formatos de dirección de base de datos
Puede especificar una dirección de base de datos en uno de los siguientes formatos:
ServerNameServerName\InstanceNameServerName,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. Sin embargo, no puede cambiar la ubicación de la base de datos del sitio. Al cambiar la ubicación de una base de datos, tenga en cuenta lo siguiente:
- 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.
- No se admite el cambio de ubicaciones de bases de datos entre SQL Server y Azure SQL.
Para cambiar la ubicación de una base de datos:
- Si utiliza Microsoft SQL Server, asegúrese de que haya una versión compatible instalada en el servidor donde desea que resida la base de datos. Configure las funciones de alta disponibilidad según sea necesario.
- Inicie sesión en Web Studio y, a continuación, seleccione Configuración en el panel izquierdo.
- Busque el mosaico Base de datos y seleccione Editar.
- En la página Administrar base de datos, seleccione la base de datos para la que desea especificar una nueva ubicación y, a continuación, seleccione Cambiar base de datos en la barra de acciones.
- Especifique la nueva ubicación y el nombre de la base de datos. Si la base de datos está alojada en Azure SQL, escriba las credenciales de una entidad de servicio con permiso para administrar la base de datos.
- Si desea que Web Studio cree la base de datos y tiene los permisos adecuados, haga clic en Listo. Cuando se le solicite, haga clic en Listo y, a continuación, Web Studio creará la base de datos automáticamente. Web Studio intenta acceder a la base de datos utilizando sus credenciales. Si eso falla, se le 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 ella. Las credenciales se conservan solo durante el período de creación de la base de datos.
- Si no quiere que Web Studio cree la base de datos, o no tiene permisos suficientes, haga 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úrese de que la base de datos esté vacía y de que al menos un usuario tenga permiso para acceder y modificar la base de datos.
Más información
- Herramienta de dimensionamiento de bases de datos.
- Dimensionar la base de datos del sitio y configurar cadenas de conexión al usar soluciones de alta disponibilidad de SQL Server.