Вы не можете запретить системному администратору доступ к данным.
Однако никто, кроме назначенного dba, не должен иметь пароль для учетной записи sa. Если у sa нет пароля или если у многих есть пароль, измените его сейчас. Если приложение обращается через sa, измените это немедленно.
Кроме того, вы можете наилучшим образом ограничить доступ - удалить доступ ко всем остальным учетным записям из таблиц и представлений (включая выборочный доступ) и разрешить доступ exec только через сохраненные процедуры. Таким образом, любой, кроме назначенного администратора, может делать только то, что делают хранимые процессы, и ничего больше. Однако вы не можете сделать это, если вы использовали какой-либо динамический sql в приложении или в хранимых процессах, что является одной из причин, почему динамический sql плохая идея.