Как я могу обновить свою схему базы данных SQL Server?

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

13
задан Ronnie Overby 23 July 2009 в 12:16
поделиться

9 ответов

Мастер создания сценариев сделал именно то, что мне нужно.

0
ответ дан 1 December 2019 в 21:38
поделиться

Поддерживайте список всех сценариев изменений, которые вы применяете к своей базе данных разработчика, и применяйте их к производственной базе данных при развертывании.

В качестве альтернативы используйте сторонний инструмент, который может сравнить эти два. схемы и предоставить сценарий изменений, который затем можно будет запустить.

12
ответ дан 1 December 2019 в 21:38
поделиться

Я пытаюсь использовать такие инструменты, как RedGate SQL Compare , которые покажут вам «различия» между двумя версиями и фактически запишут компоненты, которые отличаются. Вы также можете сделать привычкой создавать сценарии для всех редакций вашей базы данных, чтобы иметь контрольный журнал внесенных вами изменений и применять их программным образом, когда вы будете готовы к развертыванию.

8
ответ дан 1 December 2019 в 21:38
поделиться

Лучше всего реализовать свои изменения в виде набора сценариев сравнения. Таким образом, вместо того, чтобы отбрасывать таблицу и воссоздавать ее, ваш сценарий выглядит как ALTER TABLE.

Существуют также инструменты, которые помогут вам в этом. Если вы сохраните копию исходной и новой базы данных, вы можете запустить инструмент для двух, который сгенерирует SQL, который переведет вас от одной версии к другой.

2
ответ дан 1 December 2019 в 21:38
поделиться

Лично мне нравится обновлять полные сценарии создания, а также поддерживать сценарий обновления всякий раз, когда я меняю схему для определенного выпуска. Я использовал Red Gate SQL Compare, и это очень хороший инструмент, но я предпочитаю поддерживать скрипты в рабочем состоянии.

1
ответ дан 1 December 2019 в 21:38
поделиться

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

1
ответ дан 1 December 2019 в 21:38
поделиться

Migrator Dot Net is отличный инструмент для управления версиями вашей базы данных. Трудно вернуться к ручному отслеживанию скриптов и сравнению баз данных после того, как вы использовали миграции.

0
ответ дан 1 December 2019 в 21:38
поделиться

Visual Studio Database Edition неплохо справляется с этим . Он хранит всю вашу схему в исходных сценариях под контролем исходного кода вместе с остальной частью вашего кода. Он может анализировать вашу схему на предмет зависимостей, когда вы вносите изменения. Он может выполнять анализ передового опыта. И он может генерировать файл .dbschema, который может использоваться инструментом развертывания для обновления вашей базы данных до текущей схемы.

Фактически вы можете автоматизировать это с помощью непрерывной интеграции и создания дропов прямо в тестовую среду, промежуточную среду и даже производственную среду. . Это означает, что когда вы заходите в тестовую ветку, машина сборки построит продукт, запустите тесты проверки сборки и разверните ее на своем сервере разработки. Когда вы выполняете обратную интеграцию из тестовой ветки в основную ветвь, машина сборки собирает продукт, запускает BVT и развертывает на вашем промежуточном сервере тестирования / приемки. А когда вы интегрируетесь в ветку выпуска, машина сборки будет собирать, тестировать и, наконец, развертывать в производственной среде. Это правда, не многие организации готовы зайти так далеко и позволить процессу непрерывной сборки автоматически развертываться на действующих производственных серверах, и я считаю, что это своего рода радикальное мышление. Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию.

запускает BVT и развертывает на вашем промежуточном тестовом / приемочном сервере. И когда вы интегрируетесь в ветку выпуска, машина сборки будет собирать, тестировать и, наконец, развертывать в производственной среде. Это правда, не многие организации готовы зайти так далеко и позволить процессу непрерывной сборки автоматически развертываться на действующих производственных серверах, и я считаю, что это своего рода радикальное мышление. Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию.

запускает BVT и развертывает его на вашем промежуточном тестовом / приемочном сервере. И когда вы интегрируетесь в ветку выпуска, машина сборки будет собирать, тестировать и, наконец, развертывать в производственной среде. Это правда, не многие организации готовы зайти так далеко и позволить процессу непрерывной сборки автоматически развертываться на действующих производственных серверах, и я считаю, что это своего рода радикальное мышление. Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию.

Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию.

Но я говорю, что вы должны больше доверять своим автоматизированным BVT и автоматизированным процессам, чем любому ручному тестированию и развертыванию.

0
ответ дан 1 December 2019 в 21:38
поделиться

Попробуйте DBSourceTools.
http://dbsourcetools.codeplex.com
Он с открытым исходным кодом, и будет скриптом всей базы данных
- таблицы, представления, процедуры и данные на диск, а затем позволит вам воссоздать эту базу данных через цель развертывания.
Он специально разработан для того, чтобы помочь разработчикам получить контроль над своими базами данных.

1
ответ дан 1 December 2019 в 21:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: