Одна схема SQL на пользователя - PullRequest
2 голосов
/ 29 марта 2012

Администратор базы данных в нашем проекте решил, что у каждого пользователя должна быть 1 схема SQL-сервера на пользователя.Это означает, что если в системе есть 20 тыс. Пользователей, то сервер Sql будет иметь 20 тыс. Схем.Причина в безопасности.

Пока проблем нет, но поскольку мы используем Entity Framework и схема устанавливается при запуске при инициализации контекста базы данных, мы не можем изменить схему.

Мой вопрос разделен на две части:

  1. Это хороший способ получить 1 схему на пользователя?
  2. Как мне справиться с этой ситуацией в Entity Framework?

Мы используем C # с .Net 4.0 на Asp.Mvc с Sql Server 2008 R2 и EF4.3.

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Мне кажется глупым, и много хлопот, использовать разные схемы для каждого пользователя. Особенно, если вы действительно ориентируетесь на пользователей в 20 000 человек.

Я почти уверен, что между SQL Server и ASP.NET MVC вы могли бы реализовать безопасное решение, не делая этого.

Только мои 2 цента:)

Я думаю, что Адаптер модели среды выполнения Entity Framework сможет помочь вам решить проблему с изменением схемы.

Набор адаптеров соединения и модели Entity Framework, позволяющих произвольная настройка модели ObjectContext во время выполнения.

Этот проект позволяет разработчику настроить схему Entity Framework во время выполнения, когда среды развертывания и разработки отличаются.

1 голос
/ 29 марта 2012

Схемы, представленные в SQL Server 2005, предлагают удобный способ отделить пользователей базы данных от владельцев объектов базы данных.

Теперь я думаю, что создание одной схемы для каждого пользователя может быть слишком большим, как вы могли бы иметь пользователейкоторые имеют разные схемы, но имеют владельцев одного и того же объекта.

Я думаю, этого может быть достаточно, чтобы иметь несколько различных схем (разделите области ответственности или логические группировки, например (схемы данных и этапов для наших таблиц))чтобы иметь более детальное управление владением объектом

больше информации на

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

относительно использования различных схем с EF, см.

SQLПроблемы сервера "Разделение пользовательской схемы" и Entity Framework

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...