代码之家  ›  专栏  ›  技术社区  ›  Russell Steen

锁定非DBO

  •  0
  • Russell Steen  · 技术社区  · 15 年前

    是否有一种简单的方法来锁定SQL Server Express 2005,以便只有DBO才能访问它,假设您有一个系统,在该系统中,每个人都被单独授予了权限,并且不能仅禁用角色?

    4 回复  |  直到 15 年前
        1
  •  1
  •   Andomar    15 年前
    ALTER DATABASE <dbname> SET RESTRICTED_USER
    

    将操作恢复正常:

    ALTER DATABASE <dbname> SET MULTI_USER
    
        2
  •  0
  •   Shiraz Bhaiji    15 年前

    您可以从数据库中删除dbo以外的所有其他访问,然后只有dbo才能使用它。

    但是,sysadmin组的成员在默认情况下是dbo的,我不确定您是否可以阻止这些用户的访问。

        3
  •  0
  •   guzzibill    15 年前

    是否没有仅针对DBO的服务器范围设置?我没有现成的例子,但从我的Sybase时代起,我似乎记得这样的场景。

        4
  •  0
  •   Kuberchaun    15 年前

    受限用户模式应该这样做。当然,它还允许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.