我作为非SA用户'bhk'登录到SQL Server 2005数据库,该用户只是“公共”服务器角色的成员。以下代码尝试在由用户'bhk'调用的存储过程中执行。这行代码...DBCC CHECKIDENT在临时表上抛出权限错误,导致用户错误
TRUNCATE TABLE #Table1
DBCC CHECKIDENT('#Table1', RESEED, @SequenceNumber) WITH NO_INFOMSGS
原因这个错误...
用户 '客户' 没有权限 运行DBCC CHECKIDENT为对象
'#Table1__00000000007F'。
我知道运行DBCC CHECKIDENT所需的权限...
来电必须拥有该表,或者是sysadmin固定服务器角色的成员,db_owner固定数据库角色,或者db_ddladmin固定的数据库角色。
所以我有两个问题:
- 由于“BHK”被调用存储 过程,创建一个临时表 ,不应该“BHK”是所有者 和被允许运行DBCC CHECKIDENT?
- 为什么错误 消息返回该用户'guest' 没有权限?据我所知,我不是 作为'客人'登录。
任何帮助将不胜感激。
虽然这可能会起作用,但我同意不喜欢那种操纵。 – 2008-10-22 16:17:12