Я использовал базу данных SQLite и запускал оператор EXPLAIN перед выполнением фактического запроса, чтобы проверить, была ли попытка записи в базе данных.Что эквивалентно форме EXPLAIN SQLite в SQL Server?
Теперь мы перешли на SQL Server, и мне нужно знать, пытается ли запрос писать в базе данных или просто простая инструкция SELECT. Я в основном стараюсь избегать любого злонамеренного заявления.
Любая причина, по которой вы не просто запускаете запрос с ролью пользователя/роли/приложения, которая не имеет разрешений DML/DDL? –
Действительно; как говорит Дэмиен, с SQL Server путь - просто создать пользователя, который не может писать в базу данных, и использовать его. Попытка сделать умные вещи с анализом планов запросов является безумно сложной и подверженной ошибкам в сравнении. –