INSERT INTO YourTable(val1, val2, val3 ...)
VALUES(@val1, @val2, @val3...);
SELECT SCOPE_IDENTITY();
не забывают точки с запятой в конце каждого оператора.
Это была проблема с пользователем, который также отказал в привилегиях ; в спешке с предоставлением разрешений я в основном дал пользователю все. И отрицание убивало это. Итак, как только я удалил эти разрешения, все заработало.