Ошибки схемы с .NET SqlMembershipProvider - PullRequest
0 голосов
/ 24 марта 2011
  • Visual Studio 2010 Ultimate
  • MS SQL Server 2008
  • По умолчанию .NET SqlMembershipProvider (aspnet_Users, aspnet_Memmbership и т. Д ...)

Я настроил проект базы данных, чтобы синхронизировать базу данных между средами и поддерживать ее версию. В базе данных есть несколько простых таблиц, которые я создал, а затем установка по умолчанию поставщика SqlMembership, которую можно получить при запуске инструмента aspnet_regsql.exe. Я выполнил сравнение схемы из базы данных с проектом базы данных, и VS сгенерировал все сценарии. Отлично.

Однако я получаю кучу ошибок, которые нарушают сборку некоторых объектов, созданных инструментом aspnet_regsql.

Schema: [aspnet_WebEvent_FullAccess] has an unresolved reference to object [aspnet_WebEvent_FullAccess].
Schema: [aspnet_Membership_BasicAccess] has an unresolved reference to object [aspnet_Membership_BasicAccess].
Schema: [aspnet_Membership_FullAccess] has an unresolved reference to object [aspnet_Membership_FullAccess].
Schema: [aspnet_Membership_ReportingAccess] has an unresolved reference to object [aspnet_Membership_ReportingAccess].
Schema: [aspnet_Personalization_BasicAccess] has an unresolved reference to object [aspnet_Personalization_BasicAccess].
Schema: [aspnet_Personalization_FullAccess] has an unresolved reference to object [aspnet_Personalization_FullAccess].
Schema: [aspnet_Personalization_ReportingAccess] has an unresolved reference to object [aspnet_Personalization_ReportingAccess].
Schema: [aspnet_Profile_BasicAccess] has an unresolved reference to object [aspnet_Profile_BasicAccess].
Schema: [aspnet_Profile_FullAccess] has an unresolved reference to object [aspnet_Profile_FullAccess].
Schema: [aspnet_Profile_ReportingAccess] has an unresolved reference to object [aspnet_Profile_ReportingAccess].
Schema: [aspnet_Roles_BasicAccess] has an unresolved reference to object [aspnet_Roles_BasicAccess].
Schema: [aspnet_Roles_FullAccess] has an unresolved reference to object [aspnet_Roles_FullAccess].
Schema: [aspnet_Roles_ReportingAccess] has an unresolved reference to object [aspnet_Roles_ReportingAccess].

Все они кажутся мне довольно круглыми. Как мне избавиться от этих ошибок? Если я не могу избавиться от них, могу ли я исключить их из моего сравнения схем все вместе? Как?

Заранее спасибо!

1 Ответ

1 голос
/ 08 июня 2011

Я предполагаю, что элементы слева - это схемы, а справа - совпадающие роли базы данных с совпадающими именами, поэтому, хотя это выглядит круглым, на самом деле это разные объекты.

Если вы посмотрите в своей базе данных-> Безопасность-> Роли и затем Схемы, вы увидите оба набора?

Есть ли у вас роли базы данных и схемы в проекте базы данных? Может быть, вы синхронизировали схемы с базой данных, но не роли? Вам не понадобится ни то, ни другое.

В настройках .sqldeployment есть опция IgnorePermissions, если вы не хотите развертывать изменения разрешений в БД. Это может быть полезно, если у вас нет разрешений, синхронизированных в вашем проекте базы данных, но вы хотите удалить все остальное в целевой БД, которой нет в модели (GenerateDropsIfNotInProject в .sqldeployment)

Надеюсь, это поможет

...