SQL SERVER: Deshabilitar/Prevenir DROP DATABASE

Esto se puede hacer de dos maneras. La primera es usar la configuración de seguridad de SQL Server para garantizar que ningún usuario tenga un nivel de control o un acceso más alto en la base de datos. Esto impidirá que puedam quitar la base de datos. Esta es la forma recomendada de gestionar esto.

Una alternativa es crear un TRIGGER en DROP DATABASE. En un nivel simple, esto evitará que se eliminen todas las bases de datos. En un nivel más avanzado, puede verificar el nombre de usuario o el nombre de host y dejar que pase uno. Esta solución podría ser más apropiada si tiene muchos usuarios que inician sesión con un solo inicio de sesión SQL. Por supuesto, deberá asegurarse de que sus usuarios no tengan permiso para modificar los TRIGGER en el servidor.

Usa la siguiente sintaxis:

CREATE DATABASE TestDB GO

USE Master GO

CREATE TRIGGER Trig_Prevent_Drop_Database ON ALL SERVER FOR

DROP_DATABASE AS RAISERROR(‘Se ha desactivado la eliminación de bases de datos en este servidor…’, 16,1);

ROLLBACK GO

DROP DATABASE TestDB GO

— Borrar el TRIGGER para permitir eliminaciones (también puede desactivar el disparador y luego volver a habilitarlo)

DROP TRIGGER Trig_Prevent_Drop_Database ON ALL SERVER GO

DROP DATABASE TestDB GO

Algunos de nuestros nuestros servicios