Cómo cambiar la cuenta de servicio SQL Server mediante el Panel de control en SQL Server

Seleccione idioma Seleccione idioma
Id. de artículo: 283811 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E283811
Expandir todo | Contraer todo

En esta página

Resumen

Cuando instala por primera vez Microsoft SQL Server para ejecutarse en una cuenta de Microsoft Windows NT, SQL Server establece para esa cuenta de Windows NT varios derechos y permisos de usuario de Windows en ciertos archivos, carpetas y claves del Registro. Si posteriormente cambia la cuenta de inicio de SQL Server (el servicio MSSQLServer) y el servicio Agente SQL Server mediante el Administrador corporativo de SQL Server (SEM, SQL Server Enterprise Manager) o el Administrador de configuración de SQL Server (SSCM, SQL Server Configuration Manager), SEM asigna automáticamente todos los permisos y derechos de usuario de Windows necesarios a la nueva cuenta de inicio para que no tenga que hacer nada más. Se recomienda que use esta solución para cambiar la cuenta de servicio.

Nota
Debe tener derechos de administrador en el servidor remoto para que esta funcionalidad esté disponible dentro del Administrador corporativo de SQL Server.

Sin embargo, si usa el complemento Servicios que está en el Panel de control o en Herramientas administrativas para cambiar la información de la cuenta de inicio del servicio MSSQLServer o del servicio Agente SQL Server, hay más permisos y derechos de usuario que debe establecer.

En este artículo se explican los pasos que debe seguir cuando cambia la información de la cuenta de inicio mediante el complemento Servicios.

Antes de continuar, visite los siguientes sitios web de Microsoft y vea los artículos de Microsoft Knowledge Base:
Boletín de seguridad de Microsoft MS02-038
http://www.microsoft.com/technet/security/bulletin/MS02-038.mspx

Boletín de seguridad de Microsoft MS02-034
http://www.microsoft.com/technet/security/bulletin/MS02-034.mspx
322853 CORRECCIÓN: SQL Server concede permisos no necesarios o una función de cifrado contiene búferes sin comprobar
316333Actualización de seguridad del Service Pack 2 de SQL Server 2000
Nota
Si se siguen las recomendaciones de MS02-034 y MS02-038, se eliminan las vulnerabilidades de elevación de las credenciales administrativas existentes y se ayuda a impedir otras que puedan darse en el futuro.

Cambiar la cuenta de servicio de SQL Server o del Agente SQL Server mediante el complemento Servicios en lugar de con el Administrador corporativo de SQL Server o SQL Server Management Studio

Si cambia la cuenta de servicio de SQL Server o del Agente SQL Server con el complemento Servicios en lugar de usar SEM o SSCM, hay ciertos permisos del sistema de archivos NTFS y del Registro, y derechos de usuario de Microsoft Windows que también deben establecerse. Esto sucede, en concreto, en SQL Server Desktop Engine (también conocido como MSDE 2000) o en las instalaciones de SQL Server 2005 Express Edition, ya que no existe SEM ni SSCM y por tanto no se pueden usar para cambiar los permisos. Hay tres áreas concretas en las que debe centrarse:
  • Claves del Registro
  • Permisos del sistema de archivos NTFS en el disco
  • Derechos de usuario de Windows.
Cada uno se trata por separado en los párrafos siguientes.

Claves del Registro

Establezca Control total para la cuenta de inicio del servicio MSSQLServer y el servicio SQLServerAgent (ya sea una cuenta local de Microsoft Windows NT o una cuenta de dominio de Windows NT) en las claves del Registro que están en la lista siguiente. En las secciones siguientes, las claves de esta lista son las que se usan para establecer las listas de control de acceso (ACL, Access Control List). En los clústeres, siga este paso en cada nodo del clúster.

El permiso Control total se aplica a las claves siguientes y a todas las claves secundarias:
  • Para una instancia con nombre:
    HKEY_LOCAL_MACHINE\Software\Clients\Mail

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<nombreDeInstancia>
  • Para una instancia predeterminada:
    HKEY_LOCAL_MACHINE\Software\Clients\Mail

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Cluster

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Providers

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Replication

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Setup

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\SQLServerAgent

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Tracking

Si está utilizando SQL Server 2005.

Para una instancia con nombre o predeterminada, aplique el permiso Control total a las claves siguientes y a todas las claves secundarias:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<MSSQL.x>
Nota
En esta subclave del Registro, <MSSQL.x> es un marcador de posición del valor correspondiente al sistema. Puede determinar el valor correspondiente al sistema a partir del valor de la entrada del Registro que se denomine como el nombre de instancia en la siguiente subclave del Registro. Para una instancia predeterminada, el nombre de instancia es MSSQLSERVER:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\

Permisos del sistema de archivos NTFS en el disco

Establezca Control total para la cuenta de inicio del servicio MSSQLServer y el servicio SQLServerAgent (ya sea una cuenta local de Microsoft Windows NT o una cuenta de dominio de Windows NT) en estas carpetas NTFS. En los clústeres, también debe modificar las rutas de acceso correspondientes en cada nodo del equipo.

A continuación se muestra un ejemplo para una instancia con nombre:
D:\Archivos de programa\Microsoft SQL Server\MSSQL$_nombreDeInstancia_\
A continuación se muestra un ejemplo para una instancia predeterminada:
D:\Archivos de programa\Microsoft SQL Server\MSSQL\
Las subcarpetas y los archivos también deben tener los mismos permisos.

Si está utilizando SQL Server 2005

la ubicación correcta es la siguiente:
Unidad:\Archivos de programa\Microsoft SQL Server\<MSSQL.1>\MSSQL

Derechos de usuario de Windows

Generalmente, la instalación predeterminada del sistema operativo concede al grupo Administradores local todos los derechos de usuario que SQL Server necesita para funcionar correctamente. Por lo tanto, las cuentas locales de Windows NT o las cuentas de dominio que se hayan agregado al grupo Administradores local, con la intención de actuar como cuentas de inicio del servicio SQL Server, tienen todos los derechos de usuario que necesitan. Sin embargo, no recomendamos que ejecute SQL Server con unos derechos de usuario tan elevados.

En SQL Server 2005, si no desea que la cuenta de inicio del Agente SQL Server o de SQL Server sea miembro del grupo Administradores local, vea la sección que trata los derechos y privilegios de Windows NT que se conceden a las cuentas de servicio de SQL Server ("Reviewing Windows NT Rights and Privileges Granted for SQL Server Service Accounts") del tema sobre configuración de las cuentas de servicio de Windows ("Setting Up Windows Service Accounts") de los Libros en pantalla de SQL Server 2005.

En SQL Server 2000, si no desea que la cuenta de inicio de SQL Server o del Agente SQL Server sea miembro del grupo Administradores local, la cuenta de inicio del servicio MSSQLServer y la cuenta del servicio de SQLServerAgent (ya sea una cuenta local de Windows NT o una cuenta de dominio de Windows NT) deben tener estos derechos de usuario:
  • Actuar como parte del sistema operativo = SeTcbPrivilege
  • Saltarse la comprobación de recorrido = SeChangeNotify
  • Bloquear las páginas de memoria = SeLockMemory
  • Iniciar sesión como trabajo por lotes = SeBatchLogonRight
  • Iniciar sesión como servicio = SeServiceLogonRight
  • Reemplazar un símbolo de nivel de proceso = SeAssignPrimaryTokenPrivilege
Nota
Para facilitar la programación, los nombres de los derechos de usuario de Microsoft Windows NT se encuentran junto al nombre completo del derecho de usuario.

Pasos variados

Nota
Si los permisos predeterminados del sistema de archivos NTFS del equipo se han cambiado, asegúrese de que la cuenta de inicio de SQL Server tiene el permiso Mostrar carpeta habilitado en la unidad raíz donde se encuentran los datos de las bases de datos de SQL Server y los archivos de registro.

Para obtener más información al respecto, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
239759 Puede generarse el error 5177 al crear bases de datos

Si la cuenta con que va a iniciarse el servicio MSSQLServer es alguna de las dos siguientes, debe agregar la cuenta de inicio de los servicios MSSQLServer o SQLServerAgent, o ambas, a la función sysadmin de SQL Server y conceder al usuario [Domain\NTaccount] un inicio de sesión en SQL Server.
  • No es miembro del grupo Administradores local del equipo.
  • El inicio de sesión BUILTIN\Administrators de SQL Server se ha quitado.
Por ejemplo:
EXEC sp_grantlogin [Example\test]
Después, agregue esa cuenta a la función sysadmin:
EXEC sp_addsrvrolemember @loginame = [Example\test] _##@@###@_   , @rolename =  'sysadmin'

Si usa SQL Server junto con las funciones de búsqueda de texto o clústeres, al cambiar las cuentas de inicio de SQL Server mediante otro procedimiento que no sea utilizando SEM, pueden ocasionarse varios problemas.

Si experimenta problemas con la búsqueda de texto o con los clústeres, vea la sección "Referencias" de este artículo para obtener más información.

Si usa la autenticación de la Interfaz del proveedor de compatibilidad para seguridad de Kerberos (SSPI, Kerberos Security Support Provider Interface) en un entorno de SQL Server 2000 y Microsoft Windows 2000, debe anular el nombre principal de servicio (SPN) y después crear uno nuevo con la nueva información de la cuenta. Vea el tema "Delegación de cuentas de seguridad" de Libros en pantalla de SQL Server 2000 con el fin de obtener más información acerca de cómo usar SETSPN para hacer esto.

Referencias

Para obtener más información al respecto, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
317746 La búsqueda de texto completo de SQL Server no llena los catálogos
317232 Aparecen los mensajes 1107 y 1079 de identificadores de sucesos después de cambiar la contraseña de la cuenta del servicio de Cluster Server
295051 REVISIÓN: Cambiar la cuenta de SQL Server a una no administrativa para búsquedas de texto completo hace que los catálogos existentes no sean utilizables
254321 Lo que se debe y no se debe hacer, y advertencias básicas de SQL Server con clústeres
239885 Cómo cambiar cuentas de servicio en un servidor virtual SQL
219264 Orden de instalación para la configuración en clústeres de SQL Server 7.0
198168 ERROR: Se podrían producir problemas cuando cambia la información de cuenta para el clúster de SQL Server
Para obtener más información al respecto, visite el siguiente sitio Web de Microsoft:
http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlc2.mspx

Propiedades

Id. de artículo: 283811 - Última revisión: viernes, 23 de marzo de 2007 - Versión: 10.2
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Palabras clave: 
kbinfo kbsql2005cluster kbhowtomaster KB283811

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com