Instalar SQL Server con el almacenamiento de recursos compartidos de archivos SMB

Se aplica a:SQL Server: solo Windows

A partir de SQL Server 2012 (11.x), las bases de datos del sistema (master, model, msdb y tempdb), y las bases de datos de usuario de Motor de base de datos se pueden instalar con el servidor de archivos Bloque de mensajes del servidor (SMB) como opción de almacenamiento. Esto se aplica tanto a las instalaciones independientes de SQL Server como a las instalaciones de clústeres de conmutación por error (FCI) de SQL Server .

Nota

Secuencia de archivos no se admite actualmente en un recurso compartido de archivos SMB.

Consideraciones acerca de la instalación

Formatos del recurso compartido de archivos de SMB:

Al especificar el recurso compartido de archivos SMB, se admiten los siguientes formatos de la Convención de nomenclatura universal (UNC) para las bases de datos independientes y FCI.

  • \\NombreDeServidor\NombreDeRecursoCompartido\

  • \\NombreDeServidor\NombreDeRecursoCompartido

Para más información sobre la convención de nomenclatura universal, vea UNC.

No se permite usar la ruta UNC de bucle invertido (una ruta UNC cuyo nombre de servidor es localhost, 127.0.0.1 o el nombre del equipo local). Como caso especial, tampoco se admite SQL Server que usa el clúster de servidor de archivos que se hospeda en el mismo nodo en que se ejecuta SQL Server . Para evitar esta situación, se recomienda que SQL Server y el clúster del servidor de archivos se creen en clústeres de Windows independientes.

Los formatos siguientes de ruta UNC no se admiten:

  • Ruta de acceso de bucle invertido, como \\localhost\...\ o \\127.0.0.1\...\

  • Recursos compartidos administrativos, como \\servername\x$

  • Otros formatos de ruta UNC, como \\?\x:\

  • Unidades de red asignadas

Instrucciones admitidas del lenguaje de definición de datos (DDL)

Las instrucciones DDL Transact-SQL y los procedimientos almacenados del motor de base de datos siguientes admiten recursos compartidos de archivos de SMB:

  1. CREATE DATABASE (Transact-SQL de SQL Server)

  2. ALTER DATABASE (Transact-SQL)

  3. RESTORE (Transact-SQL)

  4. BACKUP (Transact-SQL)

Opción de instalación

  • En la página "Configuración del Motor de base de datos" de la interfaz de usuario de la instalación, en la pestaña "Directorios de datos", establezca el parámetro "Directorio raíz de datos" como "\\fileserver1\share1".

  • En la instalación desde el símbolo del sistema, especifique "/INSTALLSQLDATADIR" como "\\fileserver1\share1".

    A continuación se muestra la sintaxis de ejemplo para instalar SQL Server en un servidor independiente usando la opción de recurso compartido de archivos de SMB:

    Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<StrongPassword>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS  
    

    A partir de SQL Server 2022 (16.x), lea los Términos de licencia de software de Microsoft SQL Server en aka.ms/useterms.

    Para instalar una instancia en clúster de conmutación por error de SQL Server de nodo único con Motor de base de datos y Analysis Services, la instancia predeterminada:

    setup.exe /q /ACTION=InstallFailoverCluster /InstanceName=MSSQLSERVER /INDICATEPROGRESS /ASSYSADMINACCOUNTS="<DomainName\UserName>" /ASDATADIR=<Drive>:\OLAP\Data /ASLOGDIR=<Drive>:\OLAP\Log /ASBACKUPDIR=<Drive>:\OLAP\Backup /ASCONFIGDIR=<Drive>:\OLAP\Config /ASTEMPDIR=<Drive>:\OLAP\Temp /FAILOVERCLUSTERDISKS="<Cluster Disk Resource Name - for example, 'Disk S:'" /FAILOVERCLUSTERNETWORKNAME="<Insert Network Name>" /FAILOVERCLUSTERIPADDRESSES="IPv4;xx.xxx.xx.xx;Cluster Network;xxx.xxx.xxx.x" /FAILOVERCLUSTERGROUP="MSSQLSERVER" /Features=AS,SQL /ASSVCACCOUNT="<DomainName\UserName>" /ASSVCPASSWORD="xxxxxxxxxxx" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="xxxxxxxxxxx" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="xxxxxxxxxxx" /SQLSYSADMINACCOUNTS="<DomainName\UserName> /IACCEPTSQLSERVERLICENSETERMS  
    

    Para obtener más información sobre el uso de varias opciones de parámetros de línea de comandos en SQL Server, consulte Instalar SQL Server 2016 desde el símbolo del sistema.

Consideraciones sobre el sistema operativo (protocolo SMB frente a SQL Server)

Los distintos sistemas operativos Windows tienen diferentes versiones del protocolo SMB y la versión del protocolo SMB es transparente para SQL Server. A continuación se muestran las ventajas de las distintas versiones del protocolo SMB con respecto a SQL Server.

Sistema operativo Versión del protocolo SMB2 Ventajas para SQL Server
Windows Server 2008 SP 2 2.0 Rendimiento mejorado con respecto a las versiones anteriores de SMB.

Durabilidad, que ayuda a recuperarse de problemas temporales de red.
Windows Server 2008 R2 SP1, incluido Server Core 2.1 Compatibilidad con MTU grande, lo que beneficia a las transferencias de datos grandes, como operaciones de copia de seguridad y restauración de SQL. Esta capacidad la debe habilitar el usuario. Para obtener más información sobre la habilitación de esta capacidad, consulte Novedades de SMB (https://go.microsoft.com/fwlink/?LinkID=237319).

Mejoras significativas en el rendimiento, concretamente para las cargas de trabajo de estilo OLTP de SQL. Estas mejoras de rendimiento necesitan la aplicación de una revisión. Para obtener más información sobre la revisión, vea esto (https://mskb.pkisolutions.com/kb/2536493).
Windows Server 2012, incluido Server Core 3.0 Admite conmutación por error transparente de los recursos compartidos de archivos que proporcionan cero tiempo de inactividad sin que sea necesaria la intervención del administrador DBA o del servidor de archivos de SQL en las configuraciones de clúster de servidores de archivos.

Compatibilidad con E/S usando varias interfaces de red simultáneamente, así como tolerancia a errores de interfaz de red.

Compatibilidad con interfaces de red con funciones de RDMA.

Para obtener más información sobre estas características y el bloque de mensajes de servidor, vea Información general del bloque de mensajes de servidor (https://go.microsoft.com/fwlink/?LinkId=253174).

Compatibilidad de la escala del servidor de archivos (SoFS) con disponibilidad continua.
Windows Server 2012 R2, incluido Server Core 3.2 Admite conmutación por error transparente de los recursos compartidos de archivos que proporcionan cero tiempo de inactividad sin que sea necesaria la intervención del administrador DBA o del servidor de archivos de SQL en las configuraciones de clúster de servidores de archivos.

Compatibilidad con E/S usando varias interfaces de red simultáneamente, así como tolerancia a errores de interfaz de red, con SMB multicanal.

Compatibilidad con interfaces de red con funciones de RDMA con SMB Direct.

Para obtener más información sobre estas características y el bloque de mensajes de servidor, vea Información general del bloque de mensajes de servidor (https://go.microsoft.com/fwlink/?LinkId=253174).

Compatibilidad de la escala del servidor de archivos (SoFS) con disponibilidad continua.

Optimizado para E/S pequeñas de lectura/escritura aleatoria comunes para SQL Server OLTP.

Se activa la Unidad de transmisión máxima (MTU) de forma predeterminada, lo que mejora significativamente el rendimiento en las transferencias secuenciales grandes como el almacenamiento de datos SQL Server y la copia de seguridad o restauración de la base de datos.

Consideraciones sobre la seguridad

  • La cuenta de servicio de SQL Server y la cuenta de servicio del agente SQL Server deben tener permisos de recurso compartido CONTROL TOTAL y permisos NTFS en las carpetas de recursos compartidos SMB. Si se usa un servidor de archivos SMB, la cuenta de servicio de SQL Server puede ser una cuenta de dominio o una cuenta del sistema. Para obtener más información sobre los permisos NTFS y de uso compartido, vea Permisos NTFS y de uso compartido en un servidor de archivos (https://go.microsoft.com/fwlink/?LinkId=245535).

    Nota

    Los permisos de recursos compartidos y los permisos NTFS FULL CONTROL en las carpetas de recursos compartidos SMB deben limitarse a la cuenta de servicio de SQL Server, la cuenta de servicio del Agente SQL Server y los usuarios de Windows con roles de servidor de administración.

    Se recomienda usar una cuenta de dominio como cuenta de servicio de SQL Server. Si la cuenta del sistema se emplea como cuenta de servicio, conceda permisos para la cuenta de equipo con el siguiente formato: <nombre_dominio>\<nombre_equipo>*$*.

    Nota

    Durante la instalación de SQL Server, es necesario especificar la cuenta de dominio como una cuenta de servicio si el recurso compartido de archivos de SMB se especifica como opción de almacenamiento. Con el recurso compartido de archivos de SMB, la cuenta del sistema solo se puede especificar como una cuenta de servicio después de la instalación de SQL Server .

    Las cuentas virtuales no se pueden autenticar en una ubicación remota. Todas las cuentas virtuales usan el permiso de la cuenta del equipo. Aprovisione la cuenta de equipo con el formato <nombre_dominio>\<nombre_equipo>*$*.

  • La cuenta usada para instalar SQL Server debe tener permisos CONTROL TOTAL en la carpeta de recurso compartido de archivos de SMB empleada como directorio de datos, o cualquier otra carpeta de datos (directorio de la base de datos de usuario, directorio de registro de la base de datos de usuario, directorio de tempdb, directorio de registro de tempdb, directorio de copia de seguridad) durante la instalación del clúster.

  • Al a cuenta que se usa para instalar SQL Server se le debe conceder los privilegios SeSecurityPrivilege en el servidor de archivos SMB. Para ello, use la consola Directiva de seguridad local del servidor de archivos para agregar la cuenta de instalación de SQL Server a la directiva Administrar registro de seguridad y auditoría. Esta opción está disponible en la sección Asignaciones de derechos de usuario bajo Directivas locales en la consola Directiva de seguridad local.

Limitaciones y problemas conocidos

  • Después de separar una base de datos de SQL Server que reside en el almacenamiento conectado a la red, pueden surgir problemas con los permisos de base de datos al intentar volver a adjuntar la base de datos de SQL Server . Para obtener más información, consulte Error 5120.

  • Si se usa un recurso compartido de archivo SMB como opción de almacenamiento para una instancia en clúster de SQL Server, el registro de diagnóstico del clúster de conmutación por error de SQL Server no puede escribirse de forma predeterminada en el recurso compartido de archivo porque la biblioteca DLL de recursos de SQL Server carece de permiso de lectura y escritura en el recurso compartido de archivo. Para resolver este problema, intente uno de los métodos siguientes:

    1. Conceda permisos de lectura y escritura en el recurso compartido de archivo a todos los objetos de equipo del clúster.

    2. Establezca la ubicación de los registros de diagnóstico en una ruta de acceso de archivo local. Observe el ejemplo siguiente:

      ALTER SERVER CONFIGURATION  
      SET DIAGNOSTICS LOG PATH = 'C:\logs';  
      
  • Al hospedar archivos de datos de SQL Server en recursos compartidos de archivos de SMB, todas las E/S de los archivos pasarán a través de la interfaz de red en el servidor o en la máquina virtual. Asegúrese de que hay suficiente ancho de banda de red para admitir la E/S requerida por la carga de trabajo.

  • La falta de disponibilidad del recurso compartido de archivos que hospeda los archivos de datos de SQL Server debido a problemas de conectividad de red u otros errores puede provocar retrasos de E/S o errores en SQL Server. En el caso de cargas de trabajo críticas, asegúrese de que haya una redundancia integrada en la red y el recurso compartido de archivos y de que el recurso compartido de archivos admita la conmutación por error transparente de SMB 3.0, también conocida como disponibilidad continua.

Consulte también

Planear una instalación de SQL Server
Configurar los permisos y las cuentas de servicio de Windows