Я вошел в базу данных SQL Server 2005 как пользователь не-sa, bhk, который является членом только роли public. Следующий код пытается выполнить в хранимой процедуре, вызванной пользователем 'BHK'. Эта строка кода ...
TRUNCATE TABLE #Table1
DBCC CHECKIDENT('#Table1', RESEED, @SequenceNumber) WITH NO_INFOMSGS
вызывает эту ошибку ...
Пользователь 'гость' не имеет разрешения
запустить DBCC CHECKIDENT для объекта
'# Table1__00000000007F'.
Мне известны разрешения, необходимые для запуска DBCC CHECKIDENT ...
Вызывающий должен владеть таблицей или быть членом фиксированной серверной роли sysadmin, фиксированной роли базы данных db_owner или фиксированной роли базы данных db_ddladmin.
Итак, у меня два вопроса:
- Так как 'bhk' вызывает сохраненный
процедура, которая создает временный
столик, не должен быть «бхк» владельцем
и будет разрешено запускать DBCC
CHECKIDENT
- Почему ошибка
сообщение вернуть этого пользователя "гость"
не имеет разрешения? Насколько я знаю, я не
Вы вошли как 'гость'.
Любая помощь будет принята с благодарностью.