[DONE] Как восстановить БД MS SQL из бэкапа?

altair

Я пользуюсь каталогизатором музыки для компа, который хранит данные в MS SQL. После установки новой Винды у меня остался бэкап БД в виде файла mssqlbackup.bak
Просьба объяснить полному чайнику в этом вопросе, как восстановить эту базу данных из бэкапа?
Стоит Microsoft SQL Server 2005.

otvertka07

правой кнопкой нажать и выбрать Restore

altair

А откуда это делать?

otvertka07

из management studio

Vadim69

каталогизатором музыки для компа, который хранит данные в MS SQL
:jest:

altair

Вот что он мне выдал:
TITLE: Microsoft SQL Server Management Studio Express
------------------------------
Restore failed for Server 'BUZUK\SQLEXPRESS'. (Microsoft.SqlServer.Express.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server...
------------------------------
ADDITIONAL INFORMATION:
System.Data.SqlClient.SqlError: Операционная система вернула ошибку "5(Отказано в доступе.)" при попытке выполнить "RestoreContainer::ValidateTargetForCreation" в "C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\BUZUK.mdf". (Microsoft.SqlServer.Express.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server...
------------------------------
BUTTONS:
OK
------------------------------

altair

Если что, то он (Helium Music Manager) может их сохранять и в простом файле БД Access, чем я раньше и пользовался, но при количестве треков более 50 000 рекомендуется перейти на sql, ради повышения скорости работы. Если б знал, что там все так запутано, не стал бы изголяться.

Vadim69

не, ну просто я понимаю, если бы он sqlite использовал, или на крайний случай mysql, но испозьзовать здоровенную платную БД.. еще бы оракл использовали.

altair

SQL Server 2005 Express Edition бесплатная же, разве нет?

Vadim69

Мда, не знал. My bad.

otvertka07

пути проверь

altair

Вроде разобрался. Не в смысле понял, что происходил, а понял где нужно похимичить, чтоб заработало. :)
Спасибо за помощь.

klyv

имо, клиент-серверную БД ставить ради таких приложений - категорически неправильно.
использовали бы MSSQL Compact Edition, если так любят MS.

hoha32

Тогда бэкапы придётся восстанавливать из командной строки =)

Ivan8209

> имо, клиент-серверную БД ставить ради таких приложений -
> категорически неправильно.
Можно услышать что-нибудь подробнее "имо"?
---
"А что такое line rate? Заодно обоснуй это мнение."

klyv

ммм... а как же ctrl-c, ctrl-v?

hoha32

не совсем тебя понял, но в любом случае там придётся править конкрентые пути до баз

klyv

> имо, клиент-серверную БД ставить ради таких приложений -
> категорически неправильно.
Можно услышать что-нибудь подробнее "имо"?
конечно, можно. например, в этом документе.
вкратце, моё мнение:
1. EE сделана для обработки нескольких клиентов параллельно, CE - для одного. в данном приложении нужен только один.
это тащит за собой 2. EE весит, афаир, на 2 порядка больше, чем CE. То есть 100 метров ненужного функционала.
3. EE нельзя поставить от ограниченного пользователя, CE - можно. свой каталогизатор музыки может хотеться иметь где угодно.
4. Несмотря на заточку под одного пользователя, CE позволяет пользоваться базой по сети, шарить свою библиотеку музыки вместе с каталогом по самбе, например.
5. CE абсолютно бесплатна, EE - только для некоммерческого использования. (тут могу ошибаться)

klyv

на этот раз не понял я :)
в CE база - один файл, как в SQLite. бэкап - копия этого файла. восстановление из бэкапа - копирование файла на место.

hoha32

да, теперь понял
я с ЕЕ общаюсь (не от хорошей жизни). она, кстати, немного весит. думал, что СЕ это то же самое, просто другого года выпуска %)

klyv

ну судя по whitepaper, на которую я дал ссылку, CE - 1.7 мб качать, распаковывается в 1.8, а EE - 57 качать, распаковывается в 200. так что для каталогизатора, который сам будет весит ~10-20 метров, существенная разница :)

altair

А MySQL не лучше в плане требуемых ресурсов или еще каких-либо параметров, чем MS SQL?

Vadim69

щас холивар может начаться, но для данной задачи - точно лучше. жрет меньше, бегает, по крайней мере, не медленнее.

Marinavo_0507

но для данной задачи - точно лучше
и что, мелкая прожка должна носить дистрибутив mysql с собой и запускать свой экземпляр, или же заставлять юзера ставить его отдельно и создавать базу?

Vadim69

лучше, чем MSSQL - я только об этом говорил.
по мне так - там sqlite достаточно.
а так эта прожка, я так понимаю, сейчас просит ставить MSSQL.

Marinavo_0507

а так эта прожка, я так понимаю, сейчас просит ставить MSSQL
а я понял так, что там специальная версия, которая оптимизирована под одного клиента и под то, чтобы мелкие прожки носили её с собой
у MySQL такого, вроде бы, нет

Vadim69

в стартовом посте написано это:
Стоит Microsoft SQL Server 2005.

логично предположить, что поставлена она для данной прожки, поскольку топиктсартер не имеет о ней ни малейшего представления.

altair

Нет, HMM рекомендует работать либо с MS SQL, либо с MySQL в случае, если в БД более 20 000 треков. По умолчанию она работает с MS Access и не требует установки дополнительного софта.

Vadim69

вот, значит я прав был)
я бы mysql выбрал. если уж не может прожка с sqlite работать..

Marinavo_0507

ок, тогда ты походу прав

klyv

я бы mysql выбрал. если уж не может прожка с sqlite работать..
думаю, если прога может работать с MSSQL, то она может работать с MSSQL CE - аналогом sqlite. (это вариант "чтобы не ставить больших MS(y)SQL, но и не с mdb же работать")
Оставить комментарий
Имя или ник:
Комментарий: