[Code] Cómo reconectar los logins con los usuarios luego de restaurar un Backup

Saludos,

Seguro se ha notado que al restaurar un backup, se recuperan sólo los usuarios de la base de datos, no los logins (si es el mismo servidor y los logins no fueron afectados no debe haber problema), entonces cómo reconectar los logins con los usuarios?, bueno existen varias técnicas, la más común es eliminar el usuario y volverlo a crear, dicha técnica presenta varios inconvenientes

 

  • Qué sucede con los permisos del usuario?
  • Qué sucede si el usuario es propietario de la base de datos?

 

Si se está migrando un servidor, se recomienda trasladar los logins usando SSIS

La mejor opción es usar sp_change_users_login el cual permite la reconexión de usuarios y logins sin afectar el funcionamiento ni los permisos, a continuación un ejemplo

EXEC sp_change_users_login ‘UPDATE_ONE’,’Usuario’,’Login’

UPDATE_ONE es la acción que enlaza el usuario con el login dado

 

Espero sea de ayuda,

FREDDY LEANDO ANGARITA CASTELLANOS
Sql Server MVP

 

[Code] Cómo Cambiar el Nombre lógico de una base de datos

Saludos

Para el cambiar el nombre físico de una base de datos basta desconectar la base de datos de Sql Server (Deattach), cambiar el nombre del archivo y luego conectarla de nuevo (Attach), pero el nombre lógico es otra historia, para hacerlo podemos usar el patrón presentado en el siguiente código:

 

use master
ALTER DATABASE [MiBaseDeDatos]  SET OFFLINE –Pone fuera de linea la base de datos
go

ALTER DATABASE [MiBaseDeDatos]  MODIFY FILE (NAME=N’NombreAnterior’, NEWNAME=N’NuevoNombre’)
GO

ALTER DATABASE [MiBaseDeDatos]  MODIFY FILE (NAME=N’NombreAnterior_log’, NEWNAME=N’NuevoNombre_log’)
GO

ALTER DATABASE [MiBaseDeDatos]  SET ONLINE –Reactiva la base de datos

 

Espero sea de ayuda,

FREDDY LEANDO ANGARITA CASTELLANOS
Sql Server MVP