Используйте базу данных SQL Server 2008 на общем ресурсе NAS

Я работаю над проектом в Visual Studio и хочу создать локальный файл базы данных (.mdf) в каталоге проекта, чтобы его можно было вернуть в SubVersion и управлять конфигурацией. К сожалению, попытка создать/присоединить базу данных к сетевому ресурсу приводит к ошибке.

Все ресурсы, которые я нашел для включения функций NAS, основаны на SQL Server 2000 и не работают для 2005/2008.

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

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

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


person David Pfeffer    schedule 10.11.2009    source источник
comment
Чтобы уточнить: ваша рабочая копия SVN находится на общем ресурсе NAS?   -  person Roger Lipscombe    schedule 10.11.2009
comment
Да, извините, я отредактирую, чтобы было понятнее.   -  person David Pfeffer    schedule 10.11.2009
comment
Я был бы очень удивлен, если бы управление версиями файла базы данных было хорошей идеей. Удивлен на самом деле. Управление средствами для создания/обслуживания/обновления да, но фактический файл базы данных? Не люблю этот термин, но это пахнет...   -  person Murph    schedule 10.11.2009


Ответы (3)


Все (включая Microsoft) могут, должны и скажут вам, что это не обязательно хорошая идея. Как бы то ни было, MS предоставила способ сделать это в SQL 2005 (и, возможно, раньше и, возможно, позже): флаг трассировки 1807. См. статью MS KB 304261, чтобы узнать подробности. (Я не знаю, действительно ли это для 2008 года.)

person Philip Kelley    schedule 10.11.2009
comment
Мне не удалось заставить флаг трассировки 1807 работать ни с SQL 2005, ни с 2008. Я действительно просмотрел это решение, прежде чем публиковать. Можете ли вы предоставить более подробную информацию о том, как заставить это работать? - person David Pfeffer; 10.11.2009
comment
Не совсем, извините. Я читал об этом один раз, но никогда не использовал его. - person Philip Kelley; 10.11.2009

Джефф Этвуд написал статью на эту тему.

Посмотрите его запись в блоге "Получить версию вашей базы данных ниже Контроль" со ссылками на тему и эту запись в блоге . Также посмотрите комментарии

Вот несколько инструментов для версионирования баз данных.

person Summer-Time    schedule 17.11.2009

Я почти уверен, что вы не можете сделать это с местным mdf. Вам нужно запустить экземпляр SQL Server (даже если он экспресс). Когда вы устанавливаете экземпляр, вы указываете пакету установщика, где хранить его данные и файлы журналов. На этом этапе скажите SQL хранить свои данные и журналы на NAS.

person Jarrett Meyer    schedule 10.11.2009
comment
Это абсолютно неверно. Visual Studio и большинство других средств разработки поддерживают присоединение mdf-файлов SQL Server в любом месте файловой системы. Вы даже можете прикрепить их с помощью оператора SQL. - person David Pfeffer; 10.11.2009