Security

當我是 DBOwner 時,SQL Server 權限被拒絕錯誤?

  • June 14, 2011

所以我創建了一個帳戶,給了他 dbcreator 和 securityadmin 權限,然後通過該帳戶嘗試在我創建並現在擁有的數據庫上執行 CREATE TABLE,但出現權限被拒絕錯誤。將帳戶提升為 Sysadmin 解決了這個問題,但是有沒有辦法在不賦予該帳戶全能的 sysadmin 權限的情況下做到這一點?

這是在 SQL Server 2008 R2 上。該數據庫和表是通過 SharePoint 2010 創建的(但我認為它更適用於 SQL,而不是 SharePoint)。

據我所知,您使用伺服器角色創建了一個伺服器登錄名(DBCreator 和 SecurityAdmin 是伺服器角色)。但這並不意味著它已經擁有現有數據庫的特權。

您需要做的是在該數據庫中創建一個使用者並將其映射到登錄名:

use your_db
create user x for login y
exec sp_addrolemember 'db_owner', 'x'

這將為您的新使用者分配數據庫角色 db_owner 到數據庫。現在您應該能夠使用登錄名創建表。如果您不需要成為數據庫所有者,您也可以嘗試其他角色。

引用自:https://dba.stackexchange.com/questions/3295