Mình đang nói tới nhóm người dùng bình thường, bạn đang đề cập tới là người dùng có kiến thức IT nhưng có ý định phá rồi, nó lại nằm ở phần bảo mật của System Admin và Database Admin. Theo mình nghĩ nếu bạn có user/pass để đăng nhập 1 trang web và có API để thực thi các hàm liên quan xem, xóa, sửa thì cũng như vấn đề bạn nói lộ thông tin câu sp ở VBA thôi.
Cho trường hợp phá hoại như bạn nói, hướng mình đang xử lý:
Câu lệnh DELETE/UPDATE: Người dùng có quyền liên quan mới có thể thực thi 2 lệnh này, mình luôn để where tối thiểu với 2 điều kiện mới được thực thi, 2 điều kiện ấy tạo ra 1 unique key trong bảng đó.
Câu lệnh SELECT: nếu người dùng cố tình làm để chiếm dụng ram hay cpu thì có cách dò ra ip và block ip đó.
Nói chung là có nhiều cách để phá hoại và phòng chống lắm. Phương án cuối cùng của mình là backup database theo cơ chế Full-Differential-TransactionLog, mỗi 15 phút sẽ sao lưu 1 lần, bản sao lưu sẽ được backup qua Cloud thêm lần nữa. Nên khi server dính ransomeware đi nữa thì dữ liệu đã được sao lưu và không ảnh hưởng tới vận hành của công ty nhiều.