Локальная разработка на SQL Server 2005, затем развертывание на общем хостинге - PullRequest
1 голос
/ 26 мая 2009

Каков наилучший способ локальной разработки на компьютере с SQL Server 2005, когда вы сглаживаете дизайн базы данных и приложения, а затем внедряете на общем хосте?

В мире MySQL / phpMyAdmin у вас есть возможность экспортировать таблицу как оператор DDL с данными, представленными в виде набора вставок после DDL. Используя это, вы можете удалить таблицу, воссоздать ее и загрузить все данные из окна запроса.

Есть ли что-нибудь близкое к этому в мире Microsoft? Существуют ли какие-либо инструменты с открытым исходным кодом, чтобы помочь с миграцией данных?

Ответы [ 5 ]

2 голосов
/ 26 мая 2009

SQL Server Management Studio Express (бесплатно) включает параметр «Генерировать сценарии», на который ссылается TheTXI.

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

Предостережение - ни один из них не является надежным на 100%. Мне иногда приходилось возиться со сценариями, чтобы заставить их работать, особенно в отношении порядка зависимых объектов. Это боль, но все же лучше, чем начинать с нуля.

Как уже упоминал RedBeard, вы должны отслеживать ваши DDL-скрипты, в частности, "diff" -скрипты, которые обновят вас с одной ревизии базы данных до следующей. В этом случае эти инструменты не будут полезны во время обычного цикла разработки. Однако, если вы не управляли своими сценариями таким образом, эти инструменты могут помочь вам начать работу, а также хороши для создания новых экземпляров, миграции экземпляров, сравнения снимков и множества других вещей.

1 голос
/ 26 мая 2009

Пара вариантов:

Следите за сценариями DDL вашей базы данных

У вас есть набор сценариев, которые можно выполнить для создания или обновления вашей базы данных. На самом деле вы можете извлечь операторы DDL из самой базы данных SQL Server. Посмотрите в системных представлениях INFORMATION_SCHEMA.

Пример. Чтобы получить информацию о хранимых процедурах и их определениях, посмотрите на поле ROUTINE_DEFINITION (имейте в виду, что вы найдете некоторые другие процедуры, которые вы не определили, но встроены в сервер SQL):

SELECT SPECIFIC_SCHEMA,SPECIFIC_CATALOG, SPECIFIC_NAME, ROUTINE_DEFINITION 
FROM INFORMATION_SCHEMA.ROUTINES

Использование Visual Studio Database Team Edition (поставляется с Developer Team Edition)

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

Резервное копирование и восстановление вашей локальной базы данных

Сделайте резервную копию вашей локальной базы данных, загрузите ее на свой хост, восстановите базу данных там.

Копирование / перемещение файлов MDF / LDF

Подобно резервному копированию / восстановлению, вам необходимо отсоединить базу данных, скопировать или переместить файлы на веб-хост, а затем снова подключить туда.

Использование механизма SQL Server для вложения файлов MDF / LDF в папку App_Data ASP.NET

Должно быть несколько примеров того, как это делается. Он обрабатывает базу данных как файл, но для этого требуется, чтобы на веб-хосте был установлен механизм SQL Server.

В качестве примера взят из шаблона ASP.NET MVC (web.config):

<connectionStrings>
  <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings> 
1 голос
/ 26 мая 2009

Создайте сценарии для всей вашей схемы базы данных (таблицы, хранимые процедуры, представления и т. Д.), А также выполните экспорт ваших данных (при необходимости), а затем запустите эти сценарии и импортируйте данные на общий хост. В зависимости от этого хоста вы можете получить доступ через Management Studio, и это будет еще более простой процесс.

0 голосов
/ 26 мая 2009

Вы также можете выбрать компанию с общим хостингом, которая предоставляет такой инструмент, как myLittleBackup (www.mylittlebackup.com), чтобы вы могли легко установить / восстановить вашу базу данных на общем сервере.

0 голосов
/ 26 мая 2009

Решение TheTXI хорошее. Резервное копирование и восстановление также работает, и иногда (в зависимости от блокировки MS SQL провайдера / хоста) единственным вариантом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...