Схема сравнить с инструментами данных MS в VS2008
-
03-10-2019 - |
Вопрос
При выполнении схемы сравните права DB_Owner на целевой базе данных приводит к следующей ошибке:
У пользователя нет разрешения на выполнение этого действия.
Использование Profiler Server Server I выяснил, что эта ошибка возникает выполнение запроса, нацеленного на главный вид DB: [sys]. [SYS].
В то время как специально игнорируя все типы объектов, но Столы Предполагается бы, что SQL сравнивается не требует доступа к ключам шифрования БД. Также обратите внимание:
http://social.msdn.microsoft.com/forums/en-us/vstsdb/thrad/c11a5f8a-b9cc-454f-ba77-e1c69141d64b/
Одним из решений было бы предоставление состояния сервера View в пользователь DB, но в моем случае я не размещаю службы баз данных и не получите права на состояние сервера.
Также попробовал исключить элемент базы данных данных в файле Commar.
<PropertyElementName>
<Name>Microsoft.Data.Schema.Sql.SchemaModel.SqlServer.ISql100DatabaseEncryptionKey</Name>
<Value>ExcludedType</Value>
</PropertyElementName>
У кого-нибудь обходной путь?
Мы используем средства MS Data Compare для публикации из проекта базы данных в среду DTAP.
Решение
Единственный успешный обходной путь, который я нашел, - это развернуть схему в локальную базу данных разработки, а затем схемы сравнивают с использованием этой локальной базы данных в качестве источника вместо проекта базы данных.
Ошибка все еще подходит в этой ситуации, но Write Updates
Кнопка больше не отключена и обновления схемы, как и ожидалось.
Другие советы
Почему вы не можете попробовать другие (внешние) инструменты сравнения схемы? Проверьте SQL Red Gate SQL.
Это должно быть использовать инструменты MS Data в VS 2008? Я думаю, что вы должны попробовать внешние инструменты, такие как это:
Это очень хорошие инструменты для сравнения схемы вашей БД. Также вы можете генерировать скрипт, чтобы синхронизировать схему.