- 论坛徽章:
- 0
|
Question
Using SQL 7.0 SP3 on NT4 SP6a
I have a stored procedure that has a statement: Truncate Table dbo.employees
The SP is owned by DBO as is the table.
I give a non-dbo user permissions to execute the SP, but it still fails on
the Truncate Table statement with the following error:
Server: Msg 3704, Level 16, State 1, Procedure CustOrderHist, Line 4
User does not have permission to perform this operation on table
\'dbo.employees\'.
If I am logged in as any dbo, I can execute this SP without error. This
behavior is identical whether using SQL security or NT security.
It is my understanding that the SP\'s run with the permissions of their
owner. Is there something special about Truncate that I am missing?
Answer
It won\'t work if the users aren\'t sysadmins, dbos or
ddladmins. You will need to do a delete instead of a
truncate table.
The permissions with the truncate statement work differently
than other statements.
TRUNCATE TABLE 权限默认授予表所有者、sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员且不可转让
转载sql server newsgroup的问题
|
|