哪個權利授予用戶在SQL 2008中授予自己另一項權利的權利?

security sqlbulkcopy sql-server sql-server-2008

我需要在執行SqlBulkCopy之前授予db_datawriter並在之後刪除它:

try
{
   "EXEC [db_mod].[sys].[sp_addrolemember] N'db_datawriter', N'my_user'" // via SqlCommand
   bulk.WriteToServer(table);
}
finally
{
   "EXEC [db_mod].[sys].[sp_droprolemember] N'db_datawriter', N'my_user'" // via another SqlCommand
}

但我收到一個錯誤:

用戶無權執行此操作。

我該如何解決這個問題?

熱門答案

MSDN sp_addrolemember告訴您需要哪些權限...

  • db_owner固定數據庫角色的成員身份。
  • db_securityadmin固定數據庫角色的成員身份。
  • 擁有該角色的角色的成員資格。
  • ALTER對該角色的權限

實際上,您需要處於db_securityadmin角色。

但是,為什麼不通過GRANT持久保留INSERT / UPDATE權限?授予自己權利的權利意味著不需要任何更多權利的足夠特權......



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow