SQL Server, ideas y experiencias

Como recuperar la contraseña del SA si se perdió o se olvidó

por Jose Mariano Alvarez 25. febrero 2011

PanicoComo los instaladores del SQL Server de las últimas versiones, no incorporan automáticamente al grupo de administradores de Windows (builtin\Administrators) como administradores del SQL Server (y tampoco es una buena práctica hacerlo), es bastante probable que ocurran este tipo de problemas o accidentes si los procedimientos para la generación, protección y guardado de contraseñas no están documentados y no son estrictos.

A veces, durante los procesos de operación y administración de los servidores, o instalación y configuración, puede suceder que se pierden las contraseñas o los privilegios de los administradores de un motor de base de datos de SQL Server. Entre los casos más habituales se encuentran por ejemplo:

  • Se han quitado todos los inicios de sesión o todos los grupos de Windows que son miembros del rol fijo de servidor sysadmin,
  • Los inicios de sesión que son miembros del rol fijo de servidor sysadmin son personas que no están disponibles porque han dejado la empresa o están de vacaciones por ejemplo
  • Se pierde la contraseña, ya sea del SA o de un inicio de sesión creado como administrador de SQL Server.

Una manera de solucionar este problema es reinstalar SQL Server. Sin embargo este procedimiento tiene algunas consecuencias ya que más allá del tiempo necesario para realizar la reinstalación se pierden en este proceso datos que están grabados en las bases del sistema, como por ejemplo los inicios de sesión (o logins) y por lo tanto se deberá recuperar estos datos desde una copia de seguridad. Se debe tener en cuenta que al realizar este proceso de restauración se vuelve al estado anterior al proceso de instalación porque se reescribe la base de datos del sistema con una copia previa y dependiendo del caso, podría tener los mismos inicios de sesión que antes de la reinstalación y por consiguiente, los administradores aún no tendrán acceso.

Solución

Para resolver este problema, lo mejor es aprovechar las propiedades que tienen los administradores de Windows luego de iniciar la instancia de SQL Server en modo de usuario único utilizando la opción -m. Después de iniciar la instancia del SQL Server en modo de usuario único, cualquier miembro del grupo local de administradores del equipo puede conectarse a la instancia de SQL Server como miembro del rol fijo de servidor sysadmin y realizar tareas administrativas como cambiar permisos. Se debe tener en cuenta que en este modo no se pueden realizar todos los cambios posibles. Esto previene que los administradores de Windows abusen de los privilegios de actuar como un administrador de SQL Server.

Los pasos a seguir son los siguientes:

  1. Abrir el SQL Server Configuration Manager desde el menú de Windows y detener el servicio de la instancia del SQL Server involucrada.
  2. En la solapa de “Avanzado” (Advanced), en el cuadro de texto propiedades (Properties), agregar “;–m” al final de la lista en la opción de parámetros de arranque “Startup parameters”. Debe tenerse en cuenta que no haya espacios entre “;” y “-m” porque si no va a dar error.
  3. Aceptar los cambios presionando “OK”.
  4. Reiniciar la instancia del SQL Server. En este instante se debe verificar que el resto de los servicios que componen el SQL Server están de detenidos, especialmente si alguno de esos corre con una cuenta de servicio que es administrador local, porque estos servicios podrían conectarse utilizando la única conexión disponible antes de que lográramos conectarnos para realizar los cambios necesarios, y ya no sería posible que nos conectáramos porque sería una segunda conexión.
  5. Conectarse al sql server utilizando autenticación Windows mediante la herramienta de línea de comandos “sqlcmd”. El usuario de Windows debe ser administrador local. (*)

    Por ejemplo:

    SQLCMD –S Localhost –E
  6. Ejecutar por ejemplo un comando TSQL como "sp_addsrvrolemember" para agregar un inicio de sesión existente (o uno nuevo recién creado con CREATE LOGIN) como administrador del sql server o cambiar la contraseña de inicio de sesión con ALTER LOGIN.

    Por ejemplo:
    CREATE LOGIN [Dominio\usuario] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO
    EXEC master..sp_addsrvrolemember             
    @loginame = N'Dominio\usuario',
    @rolename = N'sysadmin' GO
  7. Luego de que se tiene acceso al sql server como administrador, eliminar el “;-m” como parámetro de arranque utilizando el configuration manager y reiniciar la instancia del sql server.

(*) Importante: Si el sistema operativo tiene User Account Control (UAC), y está activado,  a pesar de pertenecer al grupo de administradores locales, no es posible conectarse al SQL Server con privilegios de administrador local a menos que la consola se abra con la opción de “ejecutar como administrador” utilizando el menú de contesto que aparece presionando el botón derecho sobre el icono del CMD.EXE.

Referencias:

Solucionar problemas: conectarse a SQL Server cuando los administradores del sistema no tienen acceso

http://msdn.microsoft.com/es-ar/library/dd207004.aspx

Iniciar SQL Server en modo de usuario único

http://msdn.microsoft.com/es-ar/library/ms188236.aspx

Tags: ,

Artículos

Paquete de actualización acumulativa 1 para SQL Server 2005 Service Pack 4

por Jose Mariano Alvarez 27. diciembre 2010

sql2005logoEnlosadoMicrosoft ha liberado el 24 de diciembre de 2010 la actualización acumulativa 1 del Microsoft SQL Server 2005 (build 9.00.5254) que solo se debe aplicar a una revisión de SQL Server 2005 Service Pack 4 (build 9.00.5000). Esta actualización contiene soluciones para problemas que han sido corregidos desde el lanzamiento de SQL Server 2005 Service Pack 4.

Es importante tener en cuenta que es recomendable instalar esta actualización solo en sistemas que experimenten los problemas específicos que corrige este paquete y solo si estos sistemas se ven muy afectados por dichos problemas.  El próximo service pack del SQL Server 2005 va a contener los hotfix de este paquete de actualización.

Pueden encontrar los detalles de la actualización (incluidos los problemas resueltos) y el enlace de descarga en:

http://support.microsoft.com/kb/2464079

También pueden encontrar el paquete como Cumulative update package 1 for SQL Server 2005 Service Pack 4 o CU1 for SQL Server 2005 Service Pack 4

Tags: , , , , ,

Actualizaciones

SQL Server 2005 Service Pack 4 - SP4

por Jose Mariano Alvarez 25. diciembre 2010

Microsoft ha liberado el 17 de diciembre 2010 el Service Pack 4 del SQL Server 2005 (BUILD 9.00.5000). El SQL Server 2005 SP4 incluye las actualizaciones acumulativas del SQL Server 2005 SP3 desde la 1 a la 11, además de otras correcciones solicitadas por los clientes.

Debido a que las compilaciones de estas actualizaciones son acumulativas, cada nueva actualización contiene todas las mejoras anteriores y por lo tanto no es necesario instalarla antes de esta actualización.

En el SQL Server 2005 las actualizaciones no son multilenguaje. Por lo tanto debe ser utilizado el paquete del idioma que coincide con la instalación que se desea actualizar. Este service pack 4 incluye actualizaciones de todos los componentes del SQL Server, pero solo se instalarán los correspondientes a los componentes que ya están instalados en el sistema.

Esta actualización se puede utilizar para actualizar las siguientes ediciones de SQL Server 2005:

  • Enterprise
  • Developer
  • Standard
  • Workgroup

Para obtener SQL Server 2005 Express Edition , se debe descargar la versión SP4 del SQL Server 2005 Express o el SQL Server 2005 Express Edition con Advanced Services.

Para obtener más información, puede ver los siguientes links:

Microsoft SQL Server 2005 SP4 Release Notes
Notas de la versión de Microsoft SQL Server 2005 SP4 (es-ES)

Lista de los errores corregidos en SQL Server 2005 Service Pack 4
http://support.microsoft.com/kb/2463332

Descargas del Service Pack 4 de Microsoft SQL Server 2005


Service Pack 4 de Microsoft SQL Server 2005 (Inglés)

Service Pack 4 de Microsoft SQL Server 2005 (Español)

SQL Server 2005 Express Edition SP4

Service Pack 4 de Microsoft SQL Server 2005 Express Edition (Español)

Microsoft SQL Server 2005 Express Edition Service Pack 4 (Inglés)

Microsoft SQL Server Management Studio Express Service Pack 4 (Inglés)

Service Pack 4 de Microsoft SQL Server Management Studio Express (Español)

Otras descargas

Feature Pack for Microsoft SQL Server 2005 SP4 (Inglés)

Feature Pack de Microsoft SQL Server 2005 SP4 (Español)

Sistemas operativos compatibles:

  • Windows 7
  • Windows Server 2003
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Vista
  • Windows XP

NOTA: Siempre es recomendable que pruebe las actualizaciones antes de implementarlas en un entorno de producción.

Tags: , , , , ,

Actualizaciones

Como transferir los roles de servidor entre instancias de SQL Server 2005 o 2008

por Jose Mariano Alvarez 13. agosto 2010

Recientemente escribí un post que habla de cómo transferir los Logins entre instancias de SQL Server utilizando scripts documentados en la base de conocimiento de Microsoft.  Pueden encontrar este post en:

Cómo transferir los inicios de sesión y las contraseñas entre instancias de SQL Server

Además de transferir la contraseña, normalmente queremos que el nuevo Login tenga el mismo SID para evitar que los usuarios queden huérfanos dentro de las bases de datos migradas o transferidas. Esto lo realizan los script  documentados en la base de conocimiento que hago referencia en el post.

Sin embargo uno de los lectores me hizo notar que no había explicado que los scripts generados por estos documentos no generan los scripts correspondientes a los roles (funciones) de servidor que tenían en la instancia de origen.  Solo el método 2 del documento en inglés que transfiere los Logins desde el SQL Server 2000 al SQL Server 2005/2008 tiene la posibilidad de generar el script para transferir los roles de servidor entre las instancias. Las otras versiones del script no lo hacen.

Si ya hemos creado los Login con el script de estos documentos de la base de conocimiento y debemos  además, transferir los roles de servidor a esta nueva instancia, y nuestro origen es un SQL Server 2005 o un SQL Server 2008, podemos usar el siguiente script para generar el script de transferencia:

-- Genera el script con los Roles para los Logins
Select 
 'exec master.dbo.sp_addsrvrolemember @loginame=''' 
 + sp.name + ''', @rolename='''+sp2.name +''';' 
from 
master.sys.server_principals as sp 
join master.sys.server_role_members as srm 
on sp.principal_id = srm.member_principal_id 
join master.sys.server_principals as sp2 
on srm.role_principal_id=sp2.principal_id
where sp.type in ('S','U','G')


-- Genera el script con la base de datos por default (omision) para los Logins
Select 
 'ALTER LOGIN ['+ sp.name 
 +'] WITH DEFAULT_DATABASE = [' 
 + sp.default_database_name +'];'
from 
master.sys.server_principals as sp 
where sp.type in ('S','U','G')
and sp.default_database_name is not null

Tags: , ,

Artículos

Cómo transferir los inicios de sesión y las contraseñas entre instancias de SQL Server

por Jose Mariano Alvarez 9. agosto 2010

Una de las tareas fundamentales a la hora de hacer las migraciones o mover las bases de datos de una instancia a otra es transferir los logins. Cuando queremos transferir un login entre instancias de SQL Server, además de transferir la contraseña, normalmente queremos que el nuevo login tenga el mismo SID para evitar que los usuarios queden huérfanos dentro de las bases de datos migradas o transferidas.

En la base de conocimiento de Microsoft existen dos artículos que describen los pasos y los detalles a tener en cuenta para realizar esta tarea. Se deberá seleccionar el que corresponda dependiendo de la versión de SQL Server de origen como de destino.

El método usado es el de crear dos procedimientos almacenados que luego al ser invocados generan una secuencias de comandos T-SQL que permiten crean los inicios de sesión con el mismo SID y la contraseñas original cuando se los ejecutan en la nueva instancia.

 

How to transfer logins and passwords between instances of SQL Server

En este artículo (en inglés) se describe cómo transferir los inicios de sesión y las contraseñas a un nuevo servidor. El método explicado en el documento se aplica cuando:

  • Transfiere inicios de sesión y contraseñas de SQL Server 7.0 a SQL Server 7.0.
  • Transfiere inicios de sesión y contraseñas de SQL Server 7.0 a SQL Server 2000.
  • Transfiere inicios de sesión y contraseñas de SQL Server 7.0 a SQL Server 2005.
  • Transfiere inicios de sesión y contraseñas entre servidores que ejecutan SQL Server 2000.
  • Transfiere inicios de sesión y contraseñas de SQL Server 2000 a SQL Server 2005.

http://support.microsoft.com/?scid=kb;en-us;246133&x=13&y=12

IMPORTANTE: Existen diferencias entre el artículo de la versión en inglés que contiene dos scripts diferentes, un script para transferir los logins entre versiones SQL Server 7.0/2000 y SQL Server 7.0/2000 y otro script para transferirlos entre SQL Server 7.0/2000 y SQL Server 2005/8.  En el mismo artículo en español solo está documentado el procedimiento entre versiones SQL Server 7.0/2000 a SQL Server 7.0/2000.

Cómo transferir inicios de sesión y contraseñas entre servidores SQL Server

Versión en español (incompleto)

http://support.microsoft.com/kb/246133/es

 

Cómo transferir los inicios de sesión y las contraseñas entre instancias de SQL Server 2005 y SQL Server 2008

Este artículo describe cómo transferir los inicios de sesión y las contraseñas entre instancias de Microsoft SQL Server 2005 y Microsoft SQL Server 2008.

http://support.microsoft.com/kb/918992/es

Tags: , ,

Documentos

Cifrado, Blackberry, Cloud Computing y Seguridad Nacional

por Jose Mariano Alvarez 3. agosto 2010

 

ClodComp Los algoritmos de cifrado y la seguridad nacional.

Hace unos años hubo una gran controversia acerca de la exportación de software y hardware que contenía algoritmos de cifrado “duros” debido a que los “enemigos” los podían usar para intercambiar información.

 

La controversia del AES y la seguridad nacional


Lo mismo ocurrió acerca de la selección del sucesor del DES como el algoritmo de cifrado, el cual iban a utilizar las agencias no militares y los contratistas del gobierno. La elección del AES como el algoritmo estándar de cifrado, una variación limitada en cuanto a sus prestaciones del algoritmo original Rijndael, fue anunciada por el Instituto Nacional de Estándares y Tecnología (NIST) como el estándar federal de procesamiento de la información. Esta controversia se basaba en el hecho de que se temía, de que los cambios introducidos al algoritmo ganador del concurso, permitían realizar un criptoanálisis a la información cifrada. Esto era algo que se sospechaba pero que oficialmente no se discutía, por temas de seguridad nacional.


Blackberry y la seguridad nacional


Recientemente dos países anunciaron restricciones a los servicios de e-mail y mensajería instantánea del Blackberry, utilizando como pretexto el que los servicios centralizan el manejo de los datos en servidores alojados en el extranjero. Esto puede ser verdad, pero sin embargo a veces puede haber sospechas de que en realidad son escusas que utilizan los gobiernos para prohibir la utilización de la tecnología por otros motivos, como por ejemplo los culturales, políticos o religiosos. Hay quienes dicen que la iniciativa más que buscar la protección de la seguridad nacional esconde un intento por controlar la información de la población.

Research In Motion (RIM), la creadora del Blackberry, hace que cierta información pase por sus servidores que están ubicados principalmente en Canadá. Si bien los datos viajan cifrados, el algoritmo usado no es conocido lo cual aumenta las sospechas.

Otro detalle no menor para los gobiernos es que puede alegarse que la información intercambiada constituye un peligro para la seguridad nacional, porque puede ser de terroristas y otros criminales y de esta forma puede ser intercambiada sin que puedan ser supervisadas por las autoridades.

Si bien las razones exactas del impedimento no están muy claras, el número de usuarios afectados podría ser mucho mayor si la represión se aplica también a extranjeros en viaje. Otro detalle no menor es que como la mayoría de los equipos pertenecen a empleados de áreas de las finanzas, y los bancos que los emplean dicen que están más preocupados por la seguridad de los datos frente a sus rivales que por la censura estatal.

El regulador de telecomunicaciones dice que el impedimento es el resultado del fracaso de que RIM se ajuste a las normas locales desde el año 2007. La prohibición se parece más un paso táctico para negociar con la empresa. En India pasó algo similar y alcanzaron un acuerdo.


Cloud Computing y seguridad nacional


La idea de Cloud Computing (informática en nube) ha ido ganando impulso en los últimos tiempos. La globalización ha llegado también a los servicios ofrecidos en internet. Sus promesas de reducción de costos y de mejora de la flexibilidad de TI han conseguido despertar el interés de las empresas. Pero el uso de modelos Cloud Computing también conlleva algunos riesgos relacionados con la conformidad, la disponibilidad y la integridad de los datos corporativos que deben superarse.

Debe tenerse en cuenta sobre todo que en última instancia, frente a las autoridades y clientes, el consumidor de los servicios es el responsable de mantener la confidencialidad, integridad y disponibilidad de los datos.

Esta nueva ola tecnológica trae también controversias de seguridad, que si bien son diferentes, en algunos aspectos pueden parecerse a lo que le está ocurriendo al Blackberry. El almacenamiento de la información fuera de las fronteras, o fuera del alcance de la justicia local, pero si al alcance de la justicia o medidas de los gobiernos extranjeros donde residen los Datacenters, pueden ser vistas como riesgos a la seguridad nacional.


Conclusión


Si no se elabora un acuerdo internacional en cuanto a la gestión global de la información, equivalente a lo que ocurre en el área de las transacciones comerciales con los acuerdos de la Organización Mundial de Comercio (OMC), esto puede retrasar el avance de la nube principalmente en países que no son económicamente “convenientes” para tener los Datacenters locales.

Tags: , ,

Artículos

Actualización acumulativa 9 CU9 del Service Pack 1 del SQL Server 2008

por Jose Mariano Alvarez 22. julio 2010

Microsoft ha liberado el 21 de Julio del 2010 la actualización acumulativa 9 del Service Pack 1 del SQL Server 2008 (CU9 o BUILD 10.00.2789.00). Esta actualización contiene varios parches entre los incluidos en el motor relacional, Analysis Services, Reporting Services y búsquedas de texto completo (FullText). Debido a que las compilaciones son acumulativas, cada nueva actualización contiene todas las mejoras anteriores incluidas en las actualizaciones que se han liberado desde el lanzamiento del Service Pack 1 del SQL Server 2008.

Es importante recordar que Microsoft ha "retirado" la rama de desarrollo RTM del SQL Server 2008, lo que significa que no habrá más actualizaciones acumulativas de esa rama de desarrollo, y que sólo proporcionará un soporte limitado y solución de problemas si se llama a soporte a clientes (CSS).  Por lo tanto es recomendable obtener y actualizar al menos al Service Pack 1.

NOTA: Siempre es recomendable que pruebe las actualizaciones antes de implementarlas en un entorno de producción.

En el SQL Server 2008 las actualizaciones son multilenguaje. Por lo tanto, sólo hay un paquete de actualización acumulativo para todos los idiomas. Además incluye todos los paquetes de actualización de todos los componentes que requieren ser actualizados, pero solo se instalarán los correspondientes a los componentes que ya están instalados en el sistema.

Para obtener más información, puede ver los siguientes artículos en la base de conocimiento de Microsoft:

The SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 1 was released
http://support.microsoft.com/kb/970365/en-us

Cumulative update package 9 for SQL Server 2008 Service Pack 1
http://support.microsoft.com/kb/2083921/en-us

Tags: , , , , ,

Actualizaciones

Powered by SQL Total Consulting


View Jose Mariano Alvarez's profile on LinkedIn

 Add to Technorati Favorites 

Calendar

<<  noviembre 2017  >>
lumamijuvido
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Locations of visitors to this page

Widget Twitter not found.

Root element is missing.X


Valid XHTML 1.0 Transitional

Valid CSS!