Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server: solo Windows
En SQL Server 2012 (11.x) y versiones posteriores, las bases de datos del sistema (master
, model
, msdb
y tempdb
) y las bases de datos de usuario del 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
Actualmente, FILESTREAM no se admite en un recurso de compartición de archivos SMB.
Consideraciones acerca de la instalación
Formatos de recurso compartido de archivos SMB
Al especificar el recurso compartido de archivos SMB, los siguientes valores son formatos de ruta de acceso de convención de nomenclatura universal (UNC) compatibles con bases de datos independientes y FCI:
\\ServerName\ShareName\
\\ServerName\ShareName
Para obtener más información, consulte Convención de nomenclatura universal.
No se admite la ruta de acceso 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 con clúster de servidor de archivos hospedado en el mismo nodo que SQL Server. Para evitar esta situación, debe crear SQL Server y el clúster del servidor de archivos en clústeres de Windows separados.
No se admiten los siguientes formatos de ruta de acceso UNC:
- 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 siguientes instrucciones DDL de Transact-SQL y los procedimientos almacenados del motor de base de datos admiten recursos compartidos de archivos SMB:
Opción de instalación
En la interfaz de usuario de instalación, en la página Configuración del motor de base de datos, en la pestaña Directorios de datos, establezca el parámetro Directorio raíz de datos como .
\\<FileServer>\<Share1>\
Reemplace<FileServer>
y<Share1>
por los valores de su entorno.En la instalación del símbolo del sistema, especifique
/INSTALLSQLDATADIR
como\\<FileServer>\<Share1>\
.Esta es la sintaxis de ejemplo para instalar SQL Server en un servidor independiente mediante la opción de recurso compartido de archivos SMB:
Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<password>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<password>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS
Para SQL Server 2022 (16.x) y versiones posteriores, lea los Términos de licencia de software de Microsoft SQL Server en aka.ms/useterms.
Para instalar una instancia de clúster de conmutación por error de SQL Server de un solo nodo con el 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="<password>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<password>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<password>" /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 y configurar SQL Server en Windows desde la línea de comandos.
Nota
Las contraseñas deben seguir la directiva de contraseña predeterminada de SQL Server. De forma predeterminada, la contraseña debe tener al menos ocho caracteres y contener caracteres de tres de los siguientes cuatro conjuntos: mayúsculas, minúsculas, dígitos en base 10 y símbolos. Las contraseñas pueden tener hasta 128 caracteres. Use contraseñas lo más largas y complejas posible.
Consideraciones sobre el sistema operativo (protocolo SMB vs. 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 2012 y versiones posteriores, incluido Server Core | 3.0 | Compatibilidad con la conmutación por error transparente de recursos compartidos de archivos que proporciona un tiempo de inactividad cero, sin intervención necesaria para el administrador de bases de datos o el administrador del servidor de archivos en las configuraciones del clúster del servidor de archivos. Soporte con E/S mediante varias interfaces de red simultáneamente y 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 del servidor, consulte Información general sobre el bloque de mensajes del servidor. Soporte para Scale Out File Server (SoFS) con disponibilidad continua. |
Windows Server 2012 R2 y versiones posteriores, incluido Server Core | 3.2 | Compatibilidad con la conmutación por error transparente de recursos compartidos de archivos que proporciona un tiempo de inactividad cero, sin intervención necesaria para el administrador de bases de datos o el administrador del servidor de archivos en las configuraciones del clúster del servidor de archivos. Compatibilidad con E/S mediante varias interfaces de red simultáneamente y tolerancia a errores de interfaz de red mediante 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 del servidor, consulte Información general sobre el bloque de mensajes del servidor. Soporte para Scale Out File Server (SoFS) con disponibilidad continua. Optimizado para cargas de trabajo de E/S de lectura y escritura aleatorias pequeñas comunes a las cargas de trabajo de estilo transaccional de SQL Server. 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
FULL CONTROL
permisos de recurso compartido y permisos NTFS en las carpetas de recursos compartidos de 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 de recurso compartido y NTFS, vea Permisos de recurso compartido y NTFS en un servidor de archivos.Nota
Los
FULL CONTROL
permisos de compartición y los permisos NTFS en las carpetas compartidas SMB deben estar restringidos a la cuenta de servicio de SQL Server, a la cuenta de servicio del Agente de SQL Server y a los usuarios de Windows con roles de servidor de administrador.Use una cuenta de dominio como una cuenta de servicio de SQL Server. Si la cuenta del sistema se usa como cuenta de servicio, conceda los permisos para la cuenta de equipo con el formato
<domain-name>\<computer-name>*$*
.Nota
Durante la instalación de SQL Server, debe especificar la cuenta de dominio como cuenta de servicio si el recurso compartido de archivos SMB se especifica como opción de almacenamiento. Con el recurso compartido de archivos SMB, la
System
cuenta solo se puede especificar como una cuenta de servicio después de instalar SQL Server.Las cuentas virtuales no se pueden autenticar en una ubicación remota. Todas las cuentas virtuales usan el permiso de la cuenta de máquina. Aprovisione la cuenta de equipo con el formato
<domain-name>\<computer-name>*$*
.La cuenta usada para instalar SQL Server debe tener permisos FULL CONTROL en la carpeta del recurso compartido de archivos SMB usada como directorio de datos, o cualquier otra carpeta de datos (directorio de base de datos de usuario, directorio de registro de base de datos de usuario,
tempdb
directorio, directorio de registro de tempdb, directorio de copia de seguridad) durante la instalación del clúster.La cuenta usada para instalar SQL Server debe tener
SeSecurityPrivilege
privilegios en el servidor de archivos SMB. Para ello, use la consola de directivas 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 configuración está disponible en la sección Asignaciones de derechos de usuario en Directivas locales.
Limitaciones y problemas conocidos
Después de desasociar una base de datos de SQL Server que reside en el almacenamiento conectado a la red, es posible que se produzcan problemas de 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 el recurso compartido de archivos SMB se usa como opción de almacenamiento para una instancia en clúster de SQL Server, de forma predeterminada el registro de diagnóstico de clústeres de conmutación por error de SQL Server no se puede escribir en el recurso compartido de archivos porque el archivo DLL de recursos de SQL Server no tiene permiso de lectura y escritura en el recurso compartido de archivos. Para resolver este problema, intente uno de los métodos siguientes:
Conceda permisos de lectura y escritura en el recurso compartido de archivo a todos los objetos de equipo del clúster.
Establezca la ubicación de los registros de diagnóstico en una ruta 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 SMB, todas las E/S en los archivos pasan por la interfaz de red en el servidor o 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 podría provocar retrasos de E/S o errores en SQL Server. Para cargas de trabajo críticas, asegúrese de que hay redundancia integrada en la red y el recurso compartido de archivos y que el recurso compartido de archivos admite la conmutación por error transparente SMB 3.0, también conocida como disponibilidad continua.