每个用户一个SQL架构

本文关键字:一个 SQL 架构 用户 | 更新日期: 2023-09-27 18:29:19

我们项目的数据库管理员决定每个用户必须有一个SQL server架构。这意味着,如果系统确实有2万个用户,那么Sql Server将有2万架构。原因是为了安全。

到目前为止,没有问题,但由于我们使用的是实体框架,并且模式是在初始化数据库上下文时在启动时设置的,因此我们无法更改模式。

我的问题分为两部分:

  1. 每个用户有一个模式是一个好方法吗
  2. 如何使用实体框架处理这种情况

我们在Asp.Mvc上使用C#和.Net 4.0以及Sql Server 2008 R2和EF4.3。

每个用户一个SQL架构

对我来说,为每个用户使用不同的模式似乎很愚蠢,也很麻烦。尤其是如果你真的要接近2万用户的话。

我非常确信,在SQL Server和ASP.NET MVC之间,您可以实现一个安全的解决方案,而无需执行此操作。

只有我的2美分:)

我认为实体框架运行时模型适配器应该能够帮助您解决有关更改模式的问题。

一组实体框架连接和模型适配器,允许在运行时对ObjectContext模型进行任意调整。

此项目允许开发人员调整实体框架架构在部署和开发环境不同的运行时。

SQL Server 2005中引入的架构提供了一种将数据库用户与数据库对象所有者分离的方便方法。

现在,我认为为每个用户创建一个模式可能太多了,因为用户可能有不同的模式,但拥有相同对象的所有者。

我认为可能有几个不同的模式(划分责任区域或逻辑分组,例如(我们表的数据和暂存模式))就足够了,可以有一个更细粒度的对象所有权管理

上的更多信息

http://msdn.microsoft.com/en-us/library/dd283095%28SQL.100%29.aspx

关于使用EF的不同模式,请参阅

SQL Server";"用户模式分离";实体框架发布