miércoles, 29 de mayo de 2013

Olvido de contraseña usuario SA Contpaqi


Antecedentes

Un amigo me habló sumamente preocupado, argumentando que había restaurado su computadora a los valores de fabrica pero seleccionando la opción "guardar información del usuario", lo que no tomó en cuenta es que windows borra los programas instalados.

La preocupación principal era que utiliza las aplicaciones de computación en acción (Contpaqi, Contpaqi facturación electrónica y Nomipaqi) y lo peor, no contaba con respaldos.

Introducción

- La restauración de windows 


Al restaurar el sistema (habiendo seleccionado la opción de conservar los archivos del usuario), windows crea un directorio de nombre "windows.old" en el cual almacena los directorios como:

    • Archivos de programa
    • Usuarios
    • Windows
Y adicional a esta respeta los directorios que se crearon en la unidad de instalación.

Requisitos
  1. Instalar la misma versión que se utilizaba de las aplicaciones a restaurar, como:
    • Contpaqi facturación electrónica.
    • SQL Server 20XX Express
    • Contpaqi
    • Nomipaqi
    2.   Detener el servicio SQL Server (COMPAC)
    • SQL Server Configuration Manager -> "Servicios de SQL Server" -> SQL Server (COMPAC) -> Detener.
Nota

Para restaurar Contpaqi factura electrónica es sumamente sencillo, ya que toda la información se almacena en el directorio x:\CompacW\empresas.

Solución

Es muy sabido que Contpaqi y Nomipaqi utilizan bases de datos SQL, siendo "SQL Server Express" la versión más común. Del mismo modo, la restauración es tan sencilla (debido a que es una instancia que se encuentra Offline), como copiar el directorio de la instancia almacenada en "x:\windows.old\Program Files" a nuestra nueva ruta de instalación de SQL Server Express. Las cuales están en "x:\Program Files\Microsoft SQL Server\MSSQLXX.COMPAC".

Puedes consultar más información en este link - ubicación de archivos y nombre de instancias.

Uno de los problemas más fuertes al restaurar una instancia es recordar la contraseña del usuario SA (system administrator) que se encuentra en la "master database".

Lo más sencillo es reemplazar la contraseña siguiendo estos pasos:

  1. Iniciamos el servicio "SQL Server (COMPAC)".
  2. Abrimos la consola de windows.
  3. Escribimos los siguientes comandos (presionamos enter en cada línea): 
    • sqlcmd -S nombreservidor\COMPAC
    • ALTER LOGIN sa WITH PASSWORD = 'nueva_contraseña';
    • GO
    • EXIT



Nota 

También se puede utilizar "sp_password", aunque con la nota que Microsoft dice que este será quitado en futuras versiónes (posteriores a SQL Server 2012).

Probamos la conexión

Una vez que cambiamos la contraseña vamos a intentamos conectarnos via la misma consola de windows, con los siguientes comandos:

  • osql -U sa -S nombreservidor\COMPAC
  • ingresa contraseña
  • En caso de conectarnos con exito escribrimos exit.
Listo!, con estos pequeños pasos hemos cambiamos la contraseña del sa.

Links