Разделение SQL Server и управление конфигурацией

#sql-server #visual-studio-2012 #tfs

#sql-сервер #visual-studio-2012 #tfs

Вопрос:

Я работаю в команде разработчиков, и в настоящее время мы управляем нашей схемой базы данных SQL Server (таблицы, хранимые процедуры, пользовательские типы и т.д.) Через TFS и Visual Studio с использованием проекта базы данных. Мы синхронизируем наши локальные копии базы данных для разработки с помощью инструментов сравнения схем в Visual Studio.

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

Мой вопрос в том, есть ли у кого-нибудь предложения или опыт по управлению схемой базы данных в TFS таким образом, чтобы каждому разработчику не приходилось настраивать более 500 файловых групп / файлов на каждой машине разработки?

Причина, по которой я хочу избежать этого, заключается в том, что

  1. На наших компьютерах для разработки у нас будет загружен лишь небольшой объем данных в зависимости от занимаемого места на диске.
  2. Мы планируем запустить на нашем рабочем сервере задание по обслуживанию для перемещения данных с разделов SSD на разделы жесткого диска в зависимости от возраста. Это означает, что наша производственная функция разделения в любом случае не будет соответствовать нашим машинам разработки очень долго.

Ответ №1:

Во-первых, в вашей ситуации вы можете попробовать использовать server workspace. Когда вам нужно изменить файлы или проекты, вам просто нужно их просмотреть.

При использовании серверной рабочей области Visual Studio сохраняет только одну копию каждого файла. Это может значительно сократить использование дискового пространства и повысить производительность при наличии большого количества элементов. Мы рекомендуем использовать рабочее пространство сервера, если:

  • Ваше рабочее пространство содержит более 100 000 элементов.
  • Для работы с рабочей областью требуется использовать Visual Studio 2010 или более ранние версии.
  • Необходимо использовать опцию Включить получение последней версии при извлечении.

Я не уверен, как вы справились с проектом базы данных. О том, как поместить существующую базу данных под систему управления версиями, которая состоит из следующих шагов:

  1. Вы создаете проект базы данных.
  2. Вы подключаетесь к существующей базе данных.
  3. Вы импортируете схему базы данных из существующей базы данных в проект базы данных.
  4. Вы просматриваете результаты, которые отображаются в проекте базы данных.
  5. Проект базы данных и его содержимое помещены под контроль версий.

Вы также можете использовать проект базы данных SSDT для своего хранилища данных. Ниже приведен пример того, как вы могли бы структурировать свой проект базы данных (для краткости я показываю только несколько таблиц и представлений на снимках экрана). Вам не обязательно структурировать его таким образом, но в этом проекте он отсортирован сначала по схеме, затем по типу объекта (таблица, представление и т.д.), Затем по объекту (имя таблицы и ее DDL и т.д.).

введите описание изображения здесь

Более подробную информацию см. в этом блоге:Почему вы должны использовать проект базы данных SSDT для вашего хранилища данных

Комментарии:

1. У меня уже есть настройка проекта SSDT в Visual Studio для моей базы данных. Я пытаюсь избежать проверки 500 дополнительных групп файлов, потому что я бы предпочел, чтобы другие разработчики не требовали их наличия. Думаю, я мог бы настроить функцию разделения так, чтобы она указывала на единственную файловую группу для разработки, проверять это и всегда понимать, что производство будет отличаться.

2. Используете ли вы server workspace? Если это так, возможно, вам придется проверить 500 файловых групп на сервере TFS. Однако для разработчиков им не нужно настраивать более 500 файловых групп / файлов на каждой машине разработки. Им просто нужно просмотреть нужные им файлы и изменить их, а затем вернуть обратно.

3. Нет, я не использую рабочее пространство сервера, но, полагаю, мой вопрос был неясен. Меня больше всего беспокоит то, что рабочим станциям разработчиков действительно нужен только один раздел из-за нехватки места на диске. Разделы на рабочем сервере никогда не будут совпадать, потому что мы собираемся часто изменять функцию разделения, чтобы получать наши последние данные на твердотельных дисках.

4. Я думаю, мне просто нужно одним из способов проверить это в управлении конфигурацией, а затем вручную управлять различиями между управлением конфигурацией и моим рабочим сервером для функции разделения, файлов и файловых групп.