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

Как использовать git в качестве поставщика управления версиями для SQL Server Management Studio

Можно ли использовать GIT в качестве исходного элемента управления для студий управления sql?

4b9b3361

Ответ 2

Ive узнал, что у ApexSQL есть инструмент, который изначально поддерживает Git как систему управления версиями. Он поставляется как надстройка SSMS и предлагает мастер, который вы можете использовать для сопоставления объектов базы данных с системами управления версиями. Для этого:

  • Загрузите и установите ApexSQL Source Control
  • Запустите SSMS и в проводнике объектов выберите базу данных, которую хотите связать с исходным элементом управления.
  • Щелкните правой кнопкой мыши базу данных и сформируйте контекстное меню, выберите базу данных Link для источника, из подменю ApexSQL Source Control
  • Выберите систему управления версиями (в вашем случае это Git) и выберите одну из двух моделей разработки баз данных - общую или выделенную. Общая модель рекомендуется при связывании базы данных, на которой несколько разработчиков будут работать одновременно Модель разработки базы данных - выберите между общим или выделенным
  • Фильтровать объекты, которые вы не хотите отслеживать с помощью источника управления: по схеме, типу или имени по схеме, типу или имени
  • Предоставить соответствующую регистрационную информацию и строку репозитория. Для Git это: <protocol>://<hostname>:<portnumber>/<Git server name>/<repository> (см. пример ниже): Войдите в  Git систему управления версиями

Более подробные пошаговые инструкции можно найти в этой статье: http://knowledgebase.apexsql.com/link-database-source-control-system-2/

Ответ 3

Вы можете добавить Git Bash в качестве внешнего инструмента (Инструменты | Внешние инструменты...):

Ответ 4

Попробуйте sql-source-control, свободный CLI с открытым исходным кодом, используемый для получения SQL в системах управления версиями, таких как Git.

https://www.npmjs.com/package/sql-source-control

Ответ 5

Пока нет, но если вы перейдете к http://redgate.uservoice.com/forums/39019-sql-source-control/suggestions/537681-add-git-support и проголосуете за redgate, чтобы добавить поддержку для git, он может быть добавлен в следующий версия. Да, я знаю это коммерческий продукт, но некоторые продукты достаточно хороши для оплаты!

Ответ 6

Red Source SQL Source Control был обновлен, чтобы включить поддержку Git и Mercurial (а также Perforce и TFS). Следует помнить, что их интеграция с DVCS не является 100% -ной функцией, полностью связанной с их продуктом SVN, поскольку основные функции, такие как просмотр истории объекта, не поддерживаются в SSMS. Это может быть нарушитель транзакций, если другие инструменты Red Gate, такие как SQL Compare, являются частью вашего рабочего процесса.

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

Ответ 7

Поскольку SSMS - это (более или менее) пользовательская версия Visual Studio, вы можете использовать решение, предназначенное для VS:

Использование Git с Visual Studio

В качестве альтернативы можно управлять исходным кодом DB в Visual Studio с самого начала, а не в SSMS. Таким образом (по крайней мере, в VS2010) у вас есть проекты баз данных, интегрированное развертывание и модульное тестирование и т.д. Или продолжайте использовать SSMS и проверяйте свой код с внешнего инструмента, когда будете готовы (не так удобно, конечно).

Но это зависит от того, что вы делаете: SSMS - это инструмент DBA, VS - инструмент разработчика. В любом случае, вы должны использовать какую-то форму управления версиями, но из вопроса не ясно, какие файлы вам нужны для версии.

Ответ 8

Microsoft выпустила SQL Operations Studio. Это бесплатный инструмент, который работает в Windows, macOS и Linux для управления SQL Server, Azure SQL Database и Azure SQL Data Warehouse; где бы они ни работали. Он поставляется с родной GIT поддержкой.

Ответ 9

VersionSQL - это надстройка контроля над SSMS, которую я разработал, чтобы быть легким и простым в использовании. На панели "Проводник объектов" щелкните правой кнопкой мыши по базе данных или объекту и нажмите "Зафиксировать". VersionSQL будет script до Git/SVN в упорядоченной структуре папок.

Проверьте это на https://www.versionsql.com

Ответ 10

На этот вопрос был задан ряд ответов, которые вы можете посмотреть, но в двух словах.

Характер контроля версий заключается в том, чтобы сохранить исходный файл, а затем дельта, разницу между исходным файлом и последующими изменениями (хорошо, я сделал это немного проще, чем это возможно), а затем для управления версией номер и предоставить инструменты для извлечения какой-либо конкретной ревизии, в которой вы нуждаетесь. Это также позволяет сравнить предыдущие версии и откат (и т.д.).

RDBMS составлена ​​из схемы, а данные и данные изменяются и могут часто меняться в случае данных, поэтому даже если вы сделали VCS, что бы вы сравнили с восстановлением и как это могло бы помочь? Предполагая, что у вас есть живая система, тогда возврат к более ранней версии будет потерять все данные, хранящиеся в промежутке времени, и хотя я никогда не пробовал, я подозреваю, что может уничтожить общую целостность РСУБД.

Лучшим решением является использование приложения резервного копирования, созданного для этой СУБД, MySQLdump говорит в случае MySQL, который делает моментальный снимок данных и структуры данных и сохраняет их в безопасном месте.

Дампы можно планировать регулярно, и вы можете делать такие вещи, как базы данных master/slave (или другие стратегии), чтобы вы могли создавать резервные базы данных в реальном времени на лету, не влияя на производительность