PDF de programación - SQL Server: "Error '15023' User or role already exists in the current database" when you perform restore database from backup

Imágen de pdf SQL Server: "Error

SQL Server: "Error '15023' User or role already exists in the current database" when you perform restore database from backupgráfica de visualizaciones

Publicado el 28 de Mayo del 2018
961 visualizaciones desde el 28 de Mayo del 2018
115,0 KB
2 paginas
Creado hace 11a (01/08/2012)
SQL Server: "Error '15023' User or role already exists in
the current database" when you perform restore database
from backup

Después de restaurar una base de datos de Microsoft SQL Server (.bak) de copia de

seguridad o de anexar un .mdf, puede aparecer un "Error '15023 'El usuario o el rol ya

existe en la base de datos actual" cuando se utiliza la funcionalidad "User Mapping"

dentro del SQL Server Management Studio al otorgar a los usuarios los permisos

necesarios en la nueva base de datos. Esto suele desconcertar, ya que un restore de

una copia de seguridad de base de datos nos debería devolver ésta a su estado

original. Este error se debe a los SID (Security Identification numbers), que no son

coincidentes o están "huérfanos" en la tabla sysusers.

Para resolver este problema podemos usar el procedimiento almacenado de SQL

Server llamado sp_change_users_login.



La sintaxis de sp_change_users_login es:

sp_change_users_login [ @Action= ] 'action'

[ , [ @UserNamePattern= ] 'user' ]

[ , [ @LoginName= ] 'login' ]

[ , [ @Password= ] 'password' ]

[;]

Pasos a seguir

1. Cámbiese a la BBDD objetivo.

o use mydatabasename

2. Liste los SID problemáticos.

Muestra una lista de los usuarios y sus identificadores de seguridad

correspondientes (SID) en la base de datos actual que no están vinculados a

cualquier inicio de sesión. Usuario, login y password deben ser NULL o no

especificarse. Este paso es informativo y por lo tanto opcional.

o exec sp_change_users_login @Action='Report'



3. Arregle los SID problemáticos:

Se vinculará el usuario especificado en la base de datos actual a un inicio de

sesión de SQL Server existente. Debe especificarse Usuario y login de inicio de

sesión, y la contraseña debe ser NULL o no especificarse. Los nombres de

usuarios a proporcionar son los obtenidos en el paso 2.

o exec sp_change_users_login @Action='Update_One',

@UserNamePattern='MyLoginID', @LoginName='MyLoginID'

Repita esta última sentencia para todos los logins problemáticos.

4. Verifique que todo está correcto

Repita la instrucción SQL con Action = 'Report' como se describe en el paso 2

para confirmar que hemos resuelto todos los nombres de inicio de sesión. Si no

se devuelven registros después de ejecutar Action = 'Report' seguramente el

problema habrá desaparecido.

Trate de logarse usando alguno de los logins que tuviera problemas.

MSDN Reference: http://msdn.microsoft.com/en-us/library/ms174378.aspx
  • Links de descarga
http://lwp-l.com/pdf11395

Comentarios de: SQL Server: "Error '15023' User or role already exists in the current database" when you perform restore database from backup (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad