Скрипт для поиска абсолютного пути / расположения базы данных служб аналитики?

Всякий раз, когда я восстанавливаю базу данных AS, файлы БД создаются в новой папке с именем DBName_[1-n], где число увеличивается на 1 после каждого восстановления. В настоящее время я ищу сценарий для динамического копирования файлов [или этого ASDBName_[n]] на другой сервер.

Есть ли способ найти путь к файлу AS Database через DMVs/ AMO или любым другим способом?

С уважением, Саси.

1 ответ

Решение

Нумерация используется AS для обработки транзакций: каждая операция записи создает новую копию с новым номером, в то время как старая версия все еще может использоваться для доступа для чтения. Если, наконец, операция записи - будь то восстановление, обработка или структурное изменение - завершается успешно, AS переключает всех пользователей на новую версию, а затем может удалить старую версию в фоновом режиме. Если что-то пойдет не так во время операции записи, AS может просто удалить новую версию, не затрагивая никого, использующего предыдущую версию. Это может происходить на уровне базы данных, а также на уровне подобъектов (если вы, например, обрабатываете только измерение или добавляете меру в группу мер).

Это также означает, что для того, чтобы быть уверенным в том, что вы копируете базу данных, вы должны отсоединить ее, что гарантирует, что она находится в согласованном состоянии, и не остается половины написанного остатка. Затем вы можете скопировать его на новый сервер и прикрепить к нему. И, пока база данных отключена, должна быть только одна версия, так что вы можете просто взять одну и единственную папку с именем "DBName..db".

Я не думаю, что есть документированная возможность найти точное имя. По крайней мере, Microsoft не документирует один на http://technet.microsoft.com/en-us/library/cc280670.aspx. Они просто заявляют: "Используйте любой механизм операционной системы или ваш стандартный метод для перемещения файлов, чтобы переместить папку базы данных в новое место".

Другие вопросы по тегам