Как защитить структуру базы данных

Все, у меня есть новое приложение, которое использует административную базу данных (SQL Server 2008 R2) для обеспечения ограничений структуры данных. Важно, чтобы структура таблиц этой базы данных поддерживалась любой ценой, и самая большая опасность того, что структура не будет поддерживаться, заключается в том, что пользователь заходит в базу данных и вручную изменяет ее.

В этой ситуации лучше всего построить контрольную сумму на таблицах, которые я хочу "защитить", и проверять их каждый раз, когда я что-то делаю в приложении? Или я лучше всего защищаю сервер? То есть создание слова TRIGGER

CREATE TRIGGER EnsureIntegrity ON ProtectedTable
FOR INSERT, UPDATE, DELETE AS
BEGIN   
    IF (EXISTS (Some_Condidtion)
        RAISERROR(/*Some Error Message*/)
            ROLLBACK TRANSACTION
END

Любые советы о том, как добиться того, чего я хочу, очень ценятся.

1 ответ

Решение

Лучший способ - ограничить доступ к ответственным сторонам. Любой, кто может войти на сервер SQL и что-то изменить в БД, должен быть на крючке, чтобы это исправить. Между этим и хорошими резервными копиями, возможно, с репликацией, вы должны быть настроены на большинство плохих случаев.

Другие вопросы по тегам