Había creado un inicio de sesión de SQL Server hace unos días. Ahora necesito eliminar lo mismo. Así que entré en SQL Server Management Studio => Seguridad => Inicios de sesión y seleccioné el inicio de sesión que quiero eliminar. Muestra un mensaje informativo que dice
Eliminar los inicios de sesión del servidor no elimina los usuarios de la base de datos asociados con los inicios de sesión. Para completar el proceso, elimine los usuarios en cada base de datos. Puede ser necesario transferir primero la propiedad de los esquemas a nuevos usuarios.
Ignorando este mensaje, cuando confirmo el proceso de eliminación recibo un error fatal que dice
Error al soltar el inicio de sesión 'iis_login'. (Microsoft.SqlServer.Smo)
Se produjo una excepción al ejecutar una instrucción o lote de Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Este inicio de sesión es el propietario de 1 trabajo (s). Debe eliminar o reasignar estos trabajos antes de que se pueda eliminar el inicio de sesión. (Microsoft SQL Server, error: 15170)
¿Cómo elimino el inicio de sesión cuando hay trabajos (de acuerdo con el mensaje anterior) propiedad del inicio de sesión?
saludos, Nirvan.
Respuestas:
Si tiene muchos trabajos y no sabe qué trabajo es propiedad de este inicio de sesión, esta consulta le indicará el nombre de los trabajos que son propiedad de ellos:
Una vez que haya encontrado el trabajo, puede eliminarlo usando
sp_delete_job
:: (Desde MSDN)fuente
Debe configurar el propietario de los trabajos para un inicio de sesión diferente. Si observa las propiedades de los trabajos, verá quién es el propietario para ellos. Todo lo que tiene que hacer es cambiar eso a otro inicio de sesión.
Aquí está el T-SQL para cambiar el propietario del trabajo:
En cuanto a los usuarios de la base de datos que están asignados al inicio de sesión que está tratando de eliminar, si desea mantener a los usuarios de la base de datos y su contexto de seguridad, simplemente hágales esto:
fuente