'public' サーバー ロールのみのメンバーである非 sa ユーザー 'bhk' として SQL Server 2005 データベースにログインしています。次のコードは、ユーザー 'bhk' によって呼び出されたストアド プロシージャ内で実行を試みます。このコード行...
TRUNCATE TABLE #Table1
DBCC CHECKIDENT('#Table1', RESEED, @SequenceNumber) WITH NO_INFOMSGS
このエラーの原因...
ユーザー 'guest' には、オブジェクト'#Table1__00000000007F'に対して DBCC CHECKIDENT を実行する権限がありません。
DBCC CHECKIDENT を実行するために必要なアクセス許可を認識しています...
呼び出し元は、テーブルを所有しているか、sysadmin 固定サーバー ロール、db_owner 固定データベース ロール、または db_ddladmin 固定データベース ロールのメンバーである必要があります。
だから私は2つの質問があります:
- 'bhk' は一時テーブルを作成するストアド プロシージャを呼び出しているため、'bhk' は所有者であり、DBCC CHECKIDENT の実行を許可されるべきではありませんか?
- ユーザー 'guest' にアクセス許可がないというエラー メッセージが返されるのはなぜですか? 私の知る限り、「ゲスト」としてログインしていません。
どんな助けでも大歓迎です。