У меня есть база данных sql 2008 с файловым потоком. К сожалению, все, что у меня есть, это файлы .mdf и .ldf. У меня больше нет доступа к файлу файлового потока .hdr или чему-либо, что было в этом каталоге.
Обычно вы можете просто повторно подключить базу данных к новому серверу; но сервер sql отказывается это делать.
Я получаю сообщение об ошибке
Невозможно открыть физический файл «c: \». Ошибка операционной системы 2: «2 (Система не может найти указанный файл.)».
Эта ошибка появляется, когда я пытаюсь использовать команду DDL для CREATE DATABASE FOR ATTACH.
Что за хитрость?
Спасибо
Краткий ответ: база данных завинчена, ЕСЛИ вам не хватает данных о файловом потоке. Я пробовал практически все под солнцем, и вы не можете подключить базу данных, которая имеет зависимость от файлового потока, БЕЗ исходного файла filestream.hdr.
Вы можете довести его до того, что он находится в режиме восстановления, но это не позволит вам добраться до столов. Все, о чем мы заботились, это структура.
К счастью, у нас была резервная копия. Он находился на диске, который был отключен после переустановки сервера. Сетевого парня отшлёпали по этому поводу.
Вооружившись файлом .hdr и всем остальным в этом каталоге, мы смогли подключить базу данных обратно к серверу без каких-либо проблем.
Дело в том, что если вы используете FILESTREAM, вы должны получить данные потока в дополнение ко всем обычным файлам данных, иначе вы не сможете повторно подключиться.
В SQL 2K5 такое случалось.
Я создаю новую базу данных, назовите ее как хотите. отключите его, перейдите в настройки и прикрепите файлы .mdf и .ldf в качестве замены соответственно. У меня это сработало несколько раз, но не уверен в SQL 2k8.
Удачи