Geef alleen geen databasegebruikers (en uw "openbare" rol) de INSERT-machtiging op de tafel.
Geef die gebruikers toestemming om het opgeslagen proces INSERT uit te voeren - op die manier kunnen ze het opgeslagen proces aanroepen, maar ze kunnen geen gegevens rechtstreeks in de onderliggende tabel invoegen.
DENY INSERT ON dbo.YourTable TO PUBLIC
GRANT EXECUTE ON dbo.InsertDataProc TO PUBLIC