SQL Server: Workaround para solucionar el problema “xp_regread() returned error 5, ‘Access is denied.’”!

Pues este fue uno de los errores con los qué me encontré al intentar, entre otras cosas, intentar añadir configurar el modo mixto de autenticación en una instancia de SQL Server Express creada en una máquina con Windows 7. Por suerte, casi siempre hay algún workaround para este tipo de errores “tan majos” por lo que os voy a contar el que me funcionó en mi caso:

  • Lo primero, forzar a SQL Server a soportar el modo mixto de autenticación tocando el registro (http://support.microsoft.com/kb/285097):
    • Ejecutamos Regedit en el equipo y nos vamos a Go to HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLServer.
    • Cambiamos el valor de la propiedad LoginMode a 2 para forzar el modo mixto de autenticación.
    • Reiniciamos SQL Server y comprobamos en las propiedades de la instancia (usando SQL Server Management Studio) que se ha configurado correctamente el modo de autenticación.
image image
  • En segundo lugar, a pesar de esta pequeña victoria puede que nos encontremos con problemas a la hora de por ejemplo crear un login de SQL de nuevo por tema de permisos…pero de nuevo tenemos un workaround que pasa por crear dicho login a través de la línea de comandos y usando directamente el ejecutable sqlservr.exe disponible en el directorio de instalación de SQL Server. Para ello (http://msdn.microsoft.com/en-us/library/dd207004.aspx):
    • Abrimos la utilidad SQL Server Configuration Manager y paramos la instancia concreta para la que vamos a crear el login de SQL usando la línea de comandos.
    • Abrimos una ventana de línea de comandos y nos vamos a la ruta donde reside sqlservr.exe que en mi caso, y para SQL Server Express, es C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLBinn.
    • Ejecutamos sqlservr.exe con las opciones –m –c –sSQLEXPRESS de forma que iniciamos la instancia por línea de comandos y podamos ejecutar operaciones contra la misma también por línea de comandos y usando la herramienta sqlcmd que reside en el mismo directorio que sqlservr.
image image image
  •  
    • Abrimos otra ventana de línea de comandos, nos vamos a la ruta comentada y en este caso ejecutamos sqlcmd –s <NombreMaquina>SQLEXPRESS para poder lanzar nuestros comandos T-SQL contra la instancia de SQL Server Express.
    • Ejecutamos las sentencias T-SQL para crear el login de BD que necesitamos:
   1: CREATE LOGIN jcgonzalez WITH PASSWORD='jcgonzalez', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF

   2: EXEC sys.sp_addsrvrolemember 'jcgonzalez','sysadmin'

   3: GO

  •  
    • Si todo va bien, en la salida por pantalla no debería mostrarse ningún error de ejecución:

image

  • Finalmente, comprobamos que el login se ha creado y lo podemos usar en SQL Server Management Studio:
    • Paramos la ejecución de sqlservr y sqlcmd  en la línea de comandos mediante Ctrl+C.
    • Arrancamos la instancia de SQL Server en el SQL Server Configuration Manager.
    • Iniciamos sesión con el login de BD creado usando SQL Server Management Studio.

image

Fuente: http://social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/60b888bf-30dc-4eaf-bea8-5fd55181f8e5

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *