Какова мотивация для вопроса? Это потому, что хранимая процедура содержит определенную логику, на которую вы полагаетесь, когда данные вставляются? Если это так, вы можете использовать триггер для инкапсуляции этой логики.
Если это не подходит, и вы хотите запретить даже людям с разрешениями sysadmin напрямую вставлять в таблицу, то вы не можете, но вы можете убедиться, что это не произошло случайно, используя INSTEAD OF INSERT
триггер, который вызывает ошибку и откатывается, если не установлено определенное значение CONTEXT_INFO
, а затем очищает CONTEXT_INFO
(Ваша хранимая процедура может установить для этого значения ожидаемое значение)
http://msdn.microsoft.com/en-us/library/aa214382%28SQL.80%29.aspx