Bases de datos
Nota:
Puede administrar su implementación de Citrix Virtual Apps and Desktops™ mediante dos consolas de administración: Web Studio (basada en web) y Citrix Studio (basada en Windows). Este artículo cubre solo Web Studio. Para obtener información sobre Citrix Studio, consulte el artículo equivalente en Citrix Virtual Apps and Desktops 7 2212 o anterior.
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 actual de la sesión 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 = habilitado).
- Supervisión: almacena datos utilizados por Director, como 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. Esto significa, sin embargo, 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 no está 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 para 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
Existen varias soluciones de alta disponibilidad a 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, 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.
- 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 bases de datos activo, se produce un proceso de conmutación por error automática en cuestión de segundos, de modo que los usuarios no suelen verse afectados. Este método es más caro que otras soluciones porque se requieren licencias completas de SQL Server en cada servidor de bases de datos. No se puede utilizar la edición SQL Server Express en un entorno duplicado.
- Clústeres de SQL: La tecnología de 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, configurar esta solución es más complicado y el proceso de conmutación por error automática suele ser más lento que otras 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 usar la edición SQL Server Express. Sin embargo, el proceso de conmutación por error automática es más lento, ya que puede tardar en iniciarse una nueva máquina para la base de datos, 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. La Caché de host local permite a los usuarios conectarse y volver a conectarse a las aplicaciones y los 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. Esta 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ústeres de SQL o de duplicación de SQL.
Instalar software de 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 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 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 las funciones de alta disponibilidad de Microsoft, recomendamos utilizar únicamente ediciones de SQL Server no Express compatibles. 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.
Utilice 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 consulte 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 usar la opción automática si usted (el usuario de Web Studio y 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 espejo, complete lo siguiente y luego continúe con los procedimientos de configuración automática o mediante scripts.
- Instale el software de SQL Server en dos servidores, A y B.
- En el servidor A, cree la base de datos que se utilizará como principal. Realice una copia de seguridad de la base de datos en el servidor A y luego cópiela al servidor B.
- En el servidor B, restaure el archivo de copia de seguridad.
- Inicie la creación de reflejo en el servidor A.
Para verificar la creación de reflejo 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 configurado en la cadena de conexión al reflejo.
Si más tarde agrega, mueve o elimina 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, seleccione Crear y configurar bases de datos desde Studio en la página Bases de datos del asistente de creación del sitio. Luego, proporcione los nombres y las direcciones de las bases de datos principales.
Si existe una base de datos en una 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 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 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 del sitio, 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: 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.
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 de “SysAdmin” y luego los administradores con derechosdb_ownerejecutan los scripts de “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 la base de datos crea entonces las bases de datos. Cada base de datos debe tener las siguientes características:
- Utilice una intercalación que termine con
_CI_AS_KS. Recomendamos utilizar una intercalación que termine con_100_CI_AS_KS. - Para un rendimiento óptimo, habilite la instantánea de lectura confirmada de SQL Server (Read-Committed Snapshot). Para obtener más información, consulte CTX 137161.
- Funciones de alta disponibilidad configuradas, si corresponde.
- 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 espejo. Luego, restaure el archivo de copia de seguridad en el servidor espejo. Finalmente, 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.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.
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 principales de la base de datos.
Web Studio le pide que continúe con la creación del sitio. Volverá a la página Bases de datos. Introduzca las direcciones. Si no se puede contactar con alguno de los servidores que alojan una base de datos, aparecerá 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 Web 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 |
securityadmin* |
db_owner |
| Añadir un Controller | Añadir un Controller (que no sea el primero) al sitio |
securityadmin* |
db_owner |
| Añadir un Controller (servidor espejo) | Añadir 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 reflejada |
securityadmin* |
|
| Eliminar Controller | Eliminar 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, puede tratar el rol de servidor securityadmin como equivalente al rol de servidor sysadmin.
Cuando se elimina un Controller de un sitio, el inicio de sesión del Controller 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 sean 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 utilizar 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. Especificar un valor no predeterminado da como resultado la creación de 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, añade los inicios de sesión y luego 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 de supervisión. (No puede cambiar la ubicación de la base de datos del sitio). Al cambiar 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 de 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:
- Asegúrese de que haya una versión compatible de Microsoft SQL Server instalada en el servidor donde quiere 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 Modificar.
- En la página Administrar base de datos, seleccione la base de datos para la que quiere 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 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 la creará automáticamente. Web Studio intenta acceder a ella usando 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 desea que Web Studio cree la base de datos, o si 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.
- 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.