【问题标题】:SQL Server 2000 - Programmatically Limit Access to Database Owner?SQL Server 2000 - 以编程方式限制对数据库所有者的访问?
【发布时间】:2010-11-15 05:47:09
【问题描述】:

如何以编程方式将 SQL Server 2000 中的数据库的访问权限限制为该数据库的数据库所有者?示例...如果我在企业管理器中右键单击“Northwind”数据库上的“属性”,所有者将被列为sa。如何将此数据库的访问权限限制为仅sa 登录?

【问题讨论】:

    标签: c# database sql-server-2000 dbo


    【解决方案1】:

    您可以将数据库设置为 RESTRICTED_USER 可用性。

    ALTER DATABASE MyDatabase SET RESTRICTED_USER
    
    -- OR --
    
    ALTER DATABASE MyDatabase SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE
    

    【讨论】:

    • 感谢您的帮助!这正是我所需要的。
    【解决方案2】:

    一些想法:

    • 在 SQL Server 实例中的任何位置,您都不能否认也不限制 sa 登录
    • 不要天天使用“sa”
    • 将每个数据库限制为 db_owner 数据库角色的成员更有意义(以上SET RESTRICTED_USER
    • 数据库所有者 ID 是相当随机的:sa 仅拥有它是因为 sa 创建了它,或者所有权已更改为 sa

    除此之外,您提出请求的原因是什么?

    【讨论】:

    • 我正在开发一个应用程序,该应用程序将运行一系列脚本来修改/升级给定数据库的架构,并且需要允许 sa 访问该程序......但是,我在执行这些模式修改时,不希望其他用户/程序连接到数据库。我认为SET RESTRICTED_USER 答案是我正在寻找的。也感谢您的帮助,我对 sa 登录的了解越多越好。
    • 嗯,有道理。 SET RESTRICTED_USER 就是你所需要的。
    猜你喜欢
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多