2010-12-16 94 views
1

我是Web場的系統管理員,目前我的開發人員可以以系統管理員身份連接到SQL服務器。在SQL 2005中創建自定義服務器角色

現在,我希望他們能夠連接到所有數據庫的,但只有權限修改數據庫架構等,而不是創建新的數據庫或更改權限。

有無論如何,我可以創建一個自定義的服務器角色,並配置它有什麼權限?

+1

不會將開發組分配給單個數據庫嗎?當然不是所有的開發者都可以在所有數據庫上工作來想一想吧!你爲什麼讓開發人員改變架構:讓他們改變腳本,將他們放在SCC中,並將他們交給DBA部署...... – 2010-12-16 08:16:24

+1

問題是,不是這麼大的公司,我們的開發團隊只有5人,所以他們也改變數據庫並開發應用程序。他們需要訪問數據庫但不能訪問完整數據。 – shaharmor 2010-12-16 08:35:21

+0

,你是如何(和他們)解決問題的時候呢?說,星期五下午的變化?我會認爲允許Devs創建數據庫將不那麼嚴肅,然後允許他們進行更改。但是,嘿,我知道什麼...... – 2010-12-16 08:38:42

回答

0

我會把它們放在下面的數據庫角色中,因爲我不認爲有滿足您需求的服務器角色。

db_datareader 
db_datawriter 
db_ddladmin 

然後將它們從sysadmin服務器角色中刪除。

我想,那麼你就可以發出 DENY聲明,以防止他們使用 CREATEALTERDROP DATABASE語句。

例如

DENY CREATE DATABASE to UserXYZ

我還沒有測試,所以我不是100%肯定,如果這是可能的。

如果你不給他們在master數據庫​​許可,那麼他們將無法創建任何新的數據庫。

+0

因此,我必須遍歷所有數據庫,並將所有開發人員添加到每個數據庫的db_datareader,db_datawriter,db_ddladmin數據庫角色? – shaharmor 2010-12-16 09:39:23

+0

我認爲這是最好的選擇。我假設您的所有開發人員都在單一組中,您也可以分配權限?你可以創建一個腳本來爲你完成所有的工作,然後運行你的數據庫。 – codingbadger 2010-12-16 09:46:45

+0

我沒有使用WINDOWS NT權限,因爲服務器是遠程服務器,不在我公司的域中。 無論如何創建一個SQL組?並把SQL用戶呢? – shaharmor 2010-12-16 09:54:47