2009-11-02 66 views
0

是否有一種簡單的方法來鎖定sql server express 2005,以便只有DBO才能訪問它,假設您有一個系統,其中每個人都被單獨授予權限,並且不能僅僅禁用角色?鎖定非dbo

+0

您有Windows身份驗證或只是我記得SQL Server帳戶認證.. – 2009-11-02 18:51:15

回答

1
ALTER DATABASE <dbname> SET RESTRICTED_USER 

,並設定運行恢復正常:

ALTER DATABASE <dbname> SET MULTI_USER 
0

您可以從數據庫中刪除除dbo以外的所有其他訪問,然後只有dbo才能使用它。

但是,sysadmin組的成員默認是dbo的,我不確定是否可以阻止這些用戶的訪問。

+0

我正在尋找一個切換開關什麼的。我已經讀過,將其設置爲受限用戶只能解決這個問題,但似乎沒有工作。 – 2009-11-02 19:03:13

+0

我不認爲有這樣的設置。然而,有可能將數據庫置於單用戶模式。 – 2009-11-02 19:19:22

0

是否僅限DBO服務器範圍的設置?我沒有親近的例子,但是從我的Sybase時代,我似乎記得這樣一個設置。

+0

如果有,那就是我要找的。 – 2009-11-02 19:07:32

0

受限制的用戶模式應該這樣做。當然,它也會讓dbcreator和sysadmin,但這隻有意義。因此,確保您的帳戶沒有這些角色中的任何一個,或者在處於受限用戶模式時能夠進入。

http://technet.microsoft.com/en-us/library/ms188124.aspx

限制訪問

Specify which users may access the database. Possible values are: 

    * Multiple 
     The normal state for a production database, allows multiple users to access the database at once. 
    * Single 
     Used for maintenance actions, only one user is allowed to access the database at once. 
    * Restricted 
     Only members of the db_owner, dbcreator, or sysadmin roles can use the database.