2011-05-19 82 views
4

什麼是我們需要截斷表的最小權限?除了DDLAdmin。什麼是最好的初步實踐賦予權限的用戶截斷用戶在SQL的書籍2008 R2截斷表權限

回答

4

截斷表文檔在線here

權限

所需的最低權限是 ALTER上TABLE_NAME 。 TRUNCATE TABLE 權限默認爲表 所有者,sysadmin固定 服務器角色的成員,以及db_owner和 db_ddladmin固定數據庫角色和 不可轉讓。但是,您可以使用EXECUTE AS子句在模塊(例如 存儲過程)中包含TRUNCATE TABLE語句 ,並將 授予 對模塊 的適當權限。有關更多 信息,請參閱使用EXECUTE AS至 創建自定義權限集。

2

MSDN:

所需的最低權限是 ALTER上TABLE_NAME。 TRUNCATE TABLE 權限默認爲表 所有者,sysadmin固定 服務器角色的成員,以及db_owner和 db_ddladmin固定數據庫角色和 不可轉讓。

2

如果您不希望授予權(這是過度的,真的,和在其他的答案中描述),你可以在存儲過程中升級權限...

CREATE PROC DoTruncate 
WITH EXECUTE AS OWNER 
AS 
TRUNCATE TABLE Mytable 
GO 

和權限這個代替與「正常」權利