В строке подключения вы можете установить Application Name=MyAppName
- это не настоящая защита, но вы можете проверить это в своих SP (sysprocesses
- в столбце program_name
) и через sp_who
.
Вы ничего не можете сделать с таблицами - поэтому я рекомендую, чтобы nobody был в любой роли, которой разрешен доступ к таблицам вообще (SELECT
, INSERT
, UPDATE
или DELETE
).
Вы можете регулярно проверять это с помощью некоторого автоматизированного T-SQL, чтобы убедиться, что никто не сделал глупостей.
Я никоим образом не защищаю это , но вы можете сделать что-то подобное для представлений (сравнивая SPID текущего процесса и имя_программы):
CREATE VIEW YourViewNameHere
AS
SELECT *
FROM YourTableNameHere
WHERE EXISTS (
SELECT spid, program_name
FROM sys.sysprocesses
WHERE program_name = 'YourProgramNameHere'
AND spid = @@SPID
)