gpt4 book ai didi

sql - MS SQL 中对象的架构、所有者

转载 作者:行者123 更新时间:2023-12-02 01:13:48 29 4
gpt4 key购买 nike

默认情况下,对象(表、存储过程等)是使用 dbo 所有者/架构设置的(我认为 ms sql 2000 称其为所有者,而 ms sql 2005 称其为架构)

所有者/架构实际上是数据库中的角色或用户。我总是保留默认的 dbo,但我最近在微软培训书籍中看到了一些示例,其中一些表和存储过程具有不同的所有者/模式。什么时候这样做有益?为什么?

最佳答案

当您有安全顾虑时,使用架构非常有用。

如果您有多个访问数据库的应用程序,您可能不希望授予后勤部门访问人力资源记录的权限。因此,您将所有人力资源表放入 hr 架构中,并且只允许 hr 角色的用户访问它。

六个月后,物流现在需要了解内部费用账户,以便他们可以将所有这些蓝色笔调色板发送给正确位置的人员。然后,您可以创建一个存储过程,该过程以有权查看 hr 模式和后勤模式的用户身份执行。物流用户永远不需要知道人力资源部门发生了什么,但他们仍然可以获得数据。

您还可以按照 cfeduke 建议的方式使用模式,并仅使用它们在对象浏览器中对事物进行分组。如果您这样做,请小心,因为当您实际上只需要一个 dbo.Address 时,您可能最终会创建 Person.Address 和 Company.Address (我不是敲打您的示例,cfeduke,只是用它来说明两者地址表可能相同,也可能不同,YMMV)。

关于sql - MS SQL 中对象的架构、所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/254451/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com