当前位置: 首页 > 面试题库 >

架构,MS SQL中对象的所有者

宋安晏
2023-03-14
问题内容

默认情况下,使用dbo owner / schema设置对象(表,存储过程等)(我认为ms sql 2000称它为owner,而ms sql
2005称它为schema)

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


问题答案:

如果您有安全问题,则使用架构特别有益。

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

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

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



 类似资料:
  • 问题内容: 最近,我们的数据库服务器出现问题,经过长时间的努力,决定更换数据库服务器。因此,我们设法将数据库还原到另一台服务器上,更改了连接字符串等。一切都按计划进行,直到我们尝试从Web浏览器访问该网站。 我们开始遇到有关找不到数据库对象的错误。后来我们发现它是由于修改后的架构名称而发生的。由于Kentico数据库中有数百个数据库对象(表,视图和存储过程),因此手动逐个更改所有对象是不可行的。有

  • 问题内容: 是否有可能在Java中获得对对象的所有引用。 我需要检查的是对象是否删除了所有的回调订阅。 谢谢 问题答案: 这可以通过JVMTI实现,并且通常由堆分析器完成。但是,它不能在Java内部完成。

  • 在swagger ui中,这样的例子是 对于嵌套对象,它工作正常(使用XML对象的标记名,而不是该对象的标题)。对于结果模式根对象,也可以。 根对象仅在body参数中存在问题。

  • 我正在尝试为下面的json创建avro模式 错误对象是可选的,它可能是“错误”:{}下面是没有默认值的avro模式 如何在json中添加错误字段的默认值{}。

  • 问题内容: 我创建了许多对象,然后将它们存储在列表中。但是我想在一段时间后删除它们,因为我创建了一个新闻,并且不希望我的内存过高(就我而言,如果不删除它,它会跳到20 gigs的内存)。 这里有一些代码来说明我要做什么: A和B是我的对象。C是这两个对象的列表。我正在尝试使用C中的for循环将其删除:一次是使用DEL,另一次是使用一个函数。它似乎不起作用,因为打印继续显示对象。 我需要这个,因为我

  • 我尝试为Android (*)构建静态库。a)。我的个人档案: 文件无题3.cpp和无题3.h非常简单。当我构建项目时,我得到了唯一的一个库 *.a,但预计所有架构都有四个库:armeabi-v7a arm64-v8a x86 x86_64 当我第一次构建时,编译完成时出错: 在文件夹armeabi-v7a arm64-v8a x86中x86_64只存在*. obj-文件,但不存在. a-文件。我