Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 detach/attach одноимённых MDF-файлов с разным содержанием  [new]
VGMak
Member

Откуда:
Сообщений: 11
Добрый день всем.

Установлен default instance of SQL Server 2008 Express.
БД приаттачена по имени 'DBName1'.
(Флаг is_cleanly_shutdown = True;
recovery_model_desc = SIMPLE).
MDF- и LDF-файлы находятся в директории Dir1.

Приложение при запуске выполняет "sp_detach_db 'DBName1', 'true'".
После этого выполняется "sp_attach_db 'DBName1', 'Path2'",
где Path2 - это путь к другому экземпляру MDF-файла из
другой директории Dir2 (LDF-файл не указывается,
т.к. он отсутствует, - в результате будет создан новый).

БД успешно приаттачивается, но её флаг
is_cleanly_shutdown становится False.

Нормально ли это ?
Не приведёт ли это к неприятностям при дальнейших
переключениях с одного MDF-файла на другой ?

Спасибо.
14 мар 13, 19:19    [14049445]     Ответить | Цитировать Сообщить модератору
 Re: detach/attach одноимённых MDF-файлов с разным содержанием  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Я извиняюсь, но это стандартная "защита от дурака" в MS SQL
1 = база данных закрыта верно; восстановление при запуске не требуется

0 = база данных закрыта неверно; требуется восстановление при запуске

Так всё и должно быть ибо не к чему такие извращения.
15 мар 13, 10:32    [14051226]     Ответить | Цитировать Сообщить модератору
 Re: detach/attach одноимённых MDF-файлов с разным содержанием  [new]
VGMak
Member

Откуда:
Сообщений: 11
stavgreengo,

С целью поддержания различного контента двух баз данных
рабочая директория (Dir1) приложения вручную скопирована в другую
директорию (Dir2) этого же компьютера.

Т.е. имеются две копии одного приложения
и два одноимённых MDF-файла в разных директориях
(имя подключаемой БД всегда одно и то же).

При запуске приложения из Dir1 должна подключаться БД из Dir1;
при запуске из Dir2 - БД из Dir2
(всегда работает какая-то одна копия приложения).

Как "без извращений" организовать
такой режим detach/attach ?

Спасибо.
15 мар 13, 16:30    [14053843]     Ответить | Цитировать Сообщить модератору
 Re: detach/attach одноимённых MDF-файлов с разным содержанием  [new]
Гость333
Member

Откуда:
Сообщений: 3683
VGMak
имя подключаемой БД всегда одно и то же

Подключайтесь к двум разным БД, да и всё. Или это имя у вас хардкодом прописано внутри exe-шника?
15 мар 13, 16:35    [14053878]     Ответить | Цитировать Сообщить модератору
 Re: detach/attach одноимённых MDF-файлов с разным содержанием  [new]
VGMak
Member

Откуда:
Сообщений: 11
Гость333,

После копирования приложения в новую директорию
оно должно работать с БД из этой директории без
дополнительных настроек.
16 мар 13, 22:47    [14057935]     Ответить | Цитировать Сообщить модератору
 Re: detach/attach одноимённых MDF-файлов с разным содержанием  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
VGMak
После копирования приложения в новую директорию
оно должно работать с БД из этой директории без
дополнительных настроек.
Ну, если у вас приложение кому-то "должно", то с него и спрос. Берете его и допиливаете:

Найти в своем каталоге файлы БД, как минимум mdf / ldf.
Если они еще не приаттачены, приаттачить под нужным именем. Если под этим именем на сервере уже есть база, деаттачить ее, гыгы.

Права, правда, некислые потребуются, но не думаю, что вас это остановит.

А сиквел никому ничего не должен, не его это дело - следить за физическим местоположением клиентских программ.
18 мар 13, 03:16    [14060790]     Ответить | Цитировать Сообщить модератору
 Re: detach/attach одноимённых MDF-файлов с разным содержанием  [new]
Гость333
Member

Откуда:
Сообщений: 3683
VGMak
LDF-файл не указывается, т.к. он отсутствует

А по какой причине этот файл отсутствует? Надеюсь, это не приложение его удаляет для экономии места? :-)
18 мар 13, 10:38    [14061275]     Ответить | Цитировать Сообщить модератору
 Re: detach/attach одноимённых MDF-файлов с разным содержанием  [new]
VGMak
Member

Откуда:
Сообщений: 11
Ennor Tiegael,

Всё понял. Спасибо. Буду допиливать.
18 мар 13, 11:36    [14061515]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить