【问题标题】:T-SQL schemata to organize code用于组织代码的 T-SQL 模式
【发布时间】:2010-07-27 03:05:14
【问题描述】:

我有一个 ms sql server 数据库,其中包含越来越多的存储过程和用户​​定义的函数,我发现有些需要更好地组织代码。我的想法是将 sps 和函数拆分为几个模式。默认模式将保存从外部调用的 sps。换句话说,数据库的 API。第二个模式将包含不应从外部调用的内部代码。我可能会对表格做同样的事情:一些包含“原始”数据,一些包含预先计算的优化数据,......

由于我从未使用过架构,我有几个问题:

  • 这有意义吗?
  • 是否有任何我不知道的含义?例如,当 Schema A 中的 sp 使用 Schema X 中的表时的性能问题?
  • 是否可以限制“外部世界”在某个模式中仅使用 sps?例如:用户A只允许调用模式A中的对象,但模式A中的sps仍然可以使用模式B中的表?

由于这个问题有些主观,我将其标记为“社区维基”。希望没问题。

【问题讨论】:

  • @pascal:17.5k SQL Server 与 350 个 Sybase 问题...我会赌它是 SQL Server...

标签: security tsql schema


【解决方案1】:
  • 是的,有道理

  • 如果所有架构都具有相同的所有者(所有权链接),则性能没有差异

  • 是的,每个客户端明确的权限架构或在内部进行一些检查

我们使用模式来分隔数据、内部 SP、内部函数,然后是每个客户端的 SP。

一个优点是我们授予架构而不是对象的权限,这是我个人需要在开始使用它们之前澄清in my question

【讨论】:

    猜你喜欢
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 2018-01-08
    相关资源
    最近更新 更多