2013-07-24 38 views
3

我不想在此刻創建角色並玩這種方式 - 只是試圖在此上獲得Q & D.當我執行:如何授予我所有的特權和許可?

grant all to [LameDomain\CoolDude] 

我得到的DB叫聲是:(a)命令已被棄用(只能保持兼容性的原因)和(B)我不能這樣做對自己(這是真正的問題)。注意,我是跛腳域中的帥哥。

所以,我的問題是(按重要性順序排列)如下。

  1. 可以使用什麼語法將所有權限授予self(單線程如果可能)?
  2. 如有必要,應該用什麼推薦的語法來授予所有自我?
  3. 命令「grant all to XXX」的當前版本是什麼?

編輯

當我嘗試按照this article,我得到了用戶或角色不在數據庫中存在,當我嘗試執行sp_addrolemember錯誤。但是,當試圖呼叫sp_grantdbaccess時,我得到該用戶已在數據庫中有一個名稱。 WTF?

+1

您正試圖從特權用戶執行該命令,對吧? – wallyk

+0

@wallyk是的,我是。 –

回答

1

您可以將用戶添加到系統角色db_owner。這樣用戶將擁有數據庫的所有權限,包括ALTERCREATE對象。

db_owner固定數據庫角色的成員可以在數據庫上執行所有 配置和維護活動。

USE_database_name 
GO 
EXEC sp_addrolemember 'db_owner', 'user_name' 
GO 

至於GRANT ALL你仍然可以使用它,但它會給不是所有權限。將在文檔中看到的權限列表GRANT

+0

但我怎麼能給自己?這是否可能?! –

+0

是的,如果你有適當的權限,在這種情況下在服務器級別。例如,如果您的登錄名在「sysadmin」組中。你不能授予你沒有的權限,也不能授予你自己或任何其他人。否則,這將是服務器安全的一大威脅。 –

+0

對不起,我的問題不清楚。是否可以使用* grant *將所有權限授予自己,而不是將我的名字添加到角色中?我可以執行*授予所有*在其他用戶,只是不在我自己... –

相關問題