Используйте smo для переименования файлов данных

Как я могу использовать SMO для переименования физических файлов .mdf .ndf .ldf. Эта статья была полезной, но мне нужно использовать объекты C# SMO.

Используя объект сервера SMO, я могу получить базу данных, а затем получить доступ к объектам DataFile. По этой ссылке. У них есть Rename, однако после переименования ничего не меняется.


person maxfridbe    schedule 08.01.2009    source источник


Ответы (1)


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

Объект Server в SMO имеет методы Detach(..) и Attach(..), которые вы можете использовать. Затем просто используйте File.Move(..) для переименования файла.

person BFree    schedule 08.01.2009
comment
Вы можете столкнуться с проблемами прав доступа к файлам, если попытаетесь использовать File.Move, потому что вы обходите SQL Server, который по умолчанию является единственным процессом, имеющим доступ к своему каталогу данных. - person Jack Ukleja; 26.10.2010