Español

Cómo: Volver a sincronizar los inicios de sesión o los usuarios de SQL Server después de restaurar una base de datos desde la copia de seguridad

Resumen

Las instrucciones proporcionadas describen cómo volver a sincronizar los inicios de sesión de SQL Server con los usuarios de la base de datos después de restaurar una base de datos desde la copia de seguridad Este proceso siempre es necesario cuando se restaura una base de datos de esquema SDE desde una copia de seguridad (.bak), o se adjunta desde una base de datos previamente separada (.mdf). En estos escenarios, el usuario SDE de la geodatabase no está sincronizado con el inicio de sesión para esa instancia de SQL Server.

Si el inicio de sesión SDE no se agrega y se sincroniza con el usuario de esa base de datos, la conexión fallará con el mensaje de error Usuario de inicio de sesión incorrecto o el servicio no se iniciará.

Procedimiento

Se puede ejecutar el procedimiento almacenado (SP_CHANGE_USERS_LOGIN) para corregir este problema asignando un usuario de la base de datos existente a su correspondiente inicio de sesión en SQL Server. Esto debe ejecutarse en todas las bases de datos en los que el usuario ‘SDE’ necesita acceso para administrar la base de datos. También se debe ejecutar en cualquier usuario de base de datos de SQL Server autenticado que sea propietario de datos. Al iniciarse el servicio, el usuario ‘SDE’ es el único usuario que se requiere.

  1. Asegúrese de que el inicio de sesión de SQL Server asociado con el usuario de la base de datos se ha agregado a la instancia en Seguridad > Inicios de sesión, antes de ejecutar el procedimiento sp_change_users_login almacenado.
  2. Abra una nueva consulta en SQL Server Management Studio y ejecute el siguiente comando:

    Código:

    use database_name
    go
    EXEC sp_change_users_login 'Update_One', 'sde', 'sde'
    go


    Una vez que ha finalizado el comando, se informa de lo siguiente:

    ‘El comando(s) se ha completado correctamente’.
    MSDN: sp_change_users_login (Transact-SQL)
  3. Verificar corrección:
    Al tratar de establecer una conexión con la base de datos o en ArcCatalog como inicio de sesión de SDE o USUARIO se verifica si el inicio de sesión y el usuario están sincronizados correctamente.

    También se pueden ejecutar las siguientes consultas para consultar la tabla syslogins en la base de datos maestra y comparar esta con la tabla sysusers que se encuentra en la base de datos del usuario individual. Para verificar si las columnas SID coinciden, puede usar la siguiente consulta:

    Código:

    use master
    go
    select * from syslogins where name='sde'
    go

    use database_name
    go
    select * from sysusers where name='sde'
    go