Подтвердить что ты не робот

Любой, кто использует SQL Source Control из Red Gate

Мы изучали возможные решения для нашего элемента управления SQL Source. Я просто наткнулся на Red Source Gates Control и задался вопросом, осуществил ли кто-нибудь его? Я собираюсь загрузить пробную версию и сделать снимок, но просто хотел посмотреть, есть ли у других реальный опыт.

Как всегда очень важно понимать вход

- S

4b9b3361

Ответ 1

Я использую SQL Compare для генерации скриптов при переходе с dev → test → production, и это экономит массу времени.

Однако для управления версиями мы используем SVN и ScriptDB (http://scriptdb.codeplex.com/). В основном я использую исходный контроль SQL-скриптов для отслеживания изменений. Я думаю, что откатывание версии базы данных редко (если когда-либо) работает, поскольку данные могут измениться при изменении структуры.

Это отлично подходит для нескольких наших текущих проектов (самое большое - 200 таблиц и 2000 sprocs). Основная причина для этого, но стоит того, что не всем членам команды приходится покупать SQL Compare (я не добавляю зависимости к коммерческим проектам, если это действительно необходимо).

Ответ 2

Я обновил свое первоначальное сообщение ниже, чтобы отразить изменения в последних версиях SQL Source Control (3.0) и SQL Compare (10.1).

Поскольку этот вопрос был задан более года назад, мой ответ может быть не таким полезным для вас, но для других, которые в настоящее время могут оценивать SSC, я думал, что заброшу свои два цента. Мы только начали использовать SQL Source Control (SSC), и в целом я доволен им до сих пор. Однако у него есть некоторые особенности, особенно если вы работаете в среде с общей базой данных (в отличие от каждого разработчика, работающего локально) и, в частности, работая в старой среде, где объекты в одной и той же базе данных делятся беспорядочно между командами разработчиков.

Чтобы дать краткий обзор того, как мы используем продукт в нашей организации, мы работаем в общей среде, где все мы вносим изменения в одну и ту же базу данных разработки, поэтому мы привязали общую базу данных к репозиторию управления версиями. Каждый разработчик отвечает за внесение изменений в объекты в базе данных через SQL Server Management Studio (SSMS), и по завершении они могут внести свои изменения в исходный контроль. Когда мы готовы к развертыванию в стадии постановки, мастер сборки (me) объединяет ветвь разработки кода базы данных с основным (промежуточным) ветвью, а затем запускает SQL Compare, используя базовую версию репозитория базы данных в качестве источника и живого промежуточная база данных в качестве цели, а SQL Compare генерирует необходимые сценарии для развертывания изменений, внесенных в промежуточную среду. Аналогичным образом работает постановка на производство. Еще один важный момент заключается в том, что, учитывая тот факт, что мы используем одну и ту же базу данных с другими командами разработчиков, мы используем встроенную функцию SSC, которая позволяет создавать фильтры для объектов базы данных по имени, типу и т.д. Мы вручную настройте фильтры на наших конкретных командных объектах, исключая все другие объекты, чтобы мы не случайно не совершали другие изменения команды разработчиков, когда выполняем наши развертывания.

В общем, это довольно простой продукт для настройки и использования, и это действительно приятно, потому что вы всегда работаете с живыми объектами в SSMS, а не с отключенными script файлами, хранящимися в отдельном исходном репозитории, которые управляют риском выхода из синхронизации. Это также хорошо, потому что SQL Compare создает сценарии развертывания для вас, поэтому вам не нужно беспокоиться о том, чтобы вводить ошибки, как если бы вы сами создавали сценарии. И поскольку SQL Compare является очень зрелым и стабильным продуктом, вы можете чувствовать себя уверенно, что он собирается создавать для вас правильные сценарии.

С учетом сказанного, однако, вот некоторые из причуд, с которыми я столкнулся до сих пор:

  • SSC является довольно разговорчивым из коробки с точки зрения связи с сервером db, чтобы отслеживать элементы базы данных, которые не синхронизированы с репозиторием управления версиями. Он опроса каждые несколько миллисекунд, и если вы добавите в несколько разработчиков все, работающие против одной и той же базы данных, используя SSC, вы можете себе представить, что наш dba был не очень доволен. К счастью, вы можете легко уменьшить частоту опроса на что-то более приемлемое, хотя ценой жертвовать отзывчивыми визуальными уведомлениями о том, когда были изменены объекты.
  • Используя функцию фильтрации объектов, вы не можете легко сказать, глядя на объекты в SSMS, объекты которых включены в ваш фильтр. Поэтому вы не знаете наверняка, если объект находится под контролем источника, в отличие от Visual Studio, где значки используются для указания объектов, контролируемых с помощью источника.
  • Графический интерфейс фильтрации объектов очень неуклюж. В связи с тем, что мы работаем в среде устаревших баз данных, в настоящее время не существует четкого разделения между объектами, которыми владеет наша команда, и теми, которые принадлежат другим командам, поэтому, чтобы предотвратить случайную передачу/развертывание изменений других команд, мы создали схему фильтрации для явного включения каждого конкретного объекта, который у нас есть. Как вы можете себе представить, это становится довольно громоздким, и поскольку графический интерфейс для редактирования фильтров настроен для ввода одного объекта за раз, это может стать довольно болезненным, особенно если вы попытаетесь настроить свою среду в первый раз (я закончил написав приложение для этого). В будущем мы создаем новую схему для нашего приложения, чтобы лучше облегчить фильтрацию объектов (в любом случае, это была лучшая практика).
  • Используя общую модель базы данных, разработчикам разрешено фиксировать любые ожидающие изменения в базе данных, контролируемой источником, даже если изменения не являются их. SSC дает вам предупреждение, если вы попытаетесь проверить кучу изменений, что эти изменения могут не быть вашими, но не такими, как вы сами. Я на самом деле считаю, что это один из самых опасных "причуд" SSC.
  • SQL Compare can not в настоящее время использует фильтры объектов, созданные SSC, поэтому вам придется вручную создать соответствующий фильтр в SQL Compare, поэтому существует опасность, что они могут выйти из синхронизации. Я просто закончил вырезать и вставлять фильтры из основного файла фильтра SSC ​​в фильтр проекта SQL Compare, чтобы избежать работы с неудобным графическим интерфейсом для фильтрации объектов. Я считаю, что следующая версия SQL Compare позволит ему обмениваться фильтрами с SSC, поэтому по крайней мере эта проблема является лишь краткосрочной. (ПРИМЕЧАНИЕ. Эта проблема была решена в последней версии SQL Compare. SQL Compare теперь может использовать фильтры объектов, созданные SSC.)
  • Сравнение SQL также не может сравниться с репозиторием базы данных SSC при запуске напрямую. Он должен запускаться из SSMS. Я считаю, что следующая версия SQL Compare предоставит эту функциональность, так что опять-таки ее еще одна краткосрочная проблема. (ПРИМЕЧАНИЕ. Эта проблема была решена в последней версии SQL Compare.)
  • Иногда SQL Compare не может создать правильные сценарии, чтобы получить целевую базу данных из одного состояния в другое, обычно в случае, когда вы обновляете схему существующих таблиц, которые arent пусты, поэтому вам в настоящее время приходится писать ручные скрипты и самостоятельно управлять процессом. К счастью, это будет рассмотрено через "сценарии миграции" в следующей версии SSC, и, глядя на раннюю версию продукта, похоже, что реализация этой новой функции была хорошо продумана и спроектирована. (ПРИМЕЧАНИЕ. Функциональность сценариев миграции официально выпущена, но в настоящее время она не поддерживает ветвление. Если вы хотите использовать сценарии миграции, вам нужно будет выполнить SQL-сравнить с исходной ветвью кода разработки... той, где вы проверили свои изменения... который довольно неуклюжий и заставил меня изменить мой процесс сборки менее чем идеальным способом, чтобы обойти это ограничение. Надеемся, что это будет рассмотрено в следующей версии.)

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

Ответ 3

Мы провели обширную оценку продукта Red Gate и обнаружили несколько серьезных недостатков. Если вы хотите посмотреть, кто изменил объект, вы не можете сделать это без привилегий SysAdmin. Продукт должен следить за трассировкой на вашем сервере, которая требует этих прав. Я нахожусь в команде из 5 человек, и не зная, кто в ожидании изменений, это то, что не даст нам воспользоваться продуктом.

Ответ 4

Я только начал работать в новой компании, и они используют Redgate SQL Source Control для всех своих проектов, среди них большой и сложный. Хорошо справляется с работой в тандеме с TFS. С моей точки зрения, единственным недостатком является то, что интеграция с SQL Server Management Studio крайне нестабильна. Частые сбои SQL Server Management Studio происходят при установке инструментов.