У меня есть проект SSDT, настроенный в VS, который использует функции SQL Server Enterprise Edition
(например, сжатие данных).Как я могу протестировать проект SSDT, который использует серверные функции SQL Server для localdb?
Я хотел бы иметь возможность развернуть этот проект до localdb
, чтобы иметь возможность запускать отдельные тесты с локальной базой данных, прежде чем развертывать их в базе данных CI. Однако localdb
является экземпляром SQL Server Express Edition
, который не поддерживает сжатие данных.
Я получаю ошибку при попытке развернуть это:
SQL72014 .Net провайдер SqlClient данных: Невозможно включить сжатие для объекта «FooTable». Только SQL Server Enterprise Edition поддерживает сжатие .
Потенциальное решение # 1: Сдвиг все SQL сжатия данных в Post Deploy Script
, которая не запускается при развертывании на localdb
. Это не идеально, поскольку опция будет скрыта в управлении источником и не будет отображаться при сравнении схемы и т. Д.
Потенциальное решение # 2: Замените проблему SQL с помощью SQLCMD Variable
, например. $(WithPageCompression)
, который будет иметь пустое значение при развертывании до localdb
и значение WITH (DATA_COMPRESSION = PAGE)
при развертывании в реальной базе данных. Это является улучшением вышеизложенного, но будет становиться все более громоздким, поскольку в пределах WITH
установлено больше опций.
Потенциальное решение №3: Установите локальный экземпляр SQL Server на каждую машину для разработчиков. Похоже, что Developer Edition выполнит эту работу (и теперь свободен). Это похоже на то, что это может быть лучшим решением и принесет другие преимущества, но накладные расходы на установку, настройку и поддержание этого в инфраструктуре организации делают это болью.
Какие еще варианты у меня есть?
Благодаря
[localdb в SQL Server 2016 SP1 теперь поддерживает большую часть этого материала.] (Https://blogs.msdn.microsoft.com/sqlreleaseservices/sql-server-2016-service-pack-1-sp1-released/) –
Ага.Означает ли это, что если я обновляю версию SSDT в Visual Studio, он обновит локальный пакет с 2014 по 2016 год? Или мне придется ждать Visual Studio 2017? – Taran
Я не знаю, почему я не ответил. я не уверен, что вам нужно будет дождаться следующей версии SSDT (не визуальной студии) или просто установить SQL Server 2016 SP1 localdb автономно и все будет работать. –