Восстановление БД

Доброго времени суток, уважаемые разработчики.
Вопрос следующий.
Переустановил систему, остались только два файла БД (сама база и log-файл), bak-файла нет.
Как восстановить из нее данные или же как узнать версию БД, чтоб попросить у вас нужную версию ПО?

Заранее спасибо!

Если достаточно узнать версию системы из базы данных, то выполните следующие действия:

  1. Остановите Сервер ЛЭРС УЧЕТ

  2. Удалите имеющуюся пустую базу данных LERS. Для этого выполните команду osql -S (local)LERS -E -d master -Q “DROP DATABASE [LERS]”

  3. Скопируйте базу данных в каталог, к которому у SQL-сервера будет доступ (по умолчанию это “C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData”)

  4. Создайте текстовый файл C:Temp
    estore.txt с командой для подключения базы данных. Содержимое файла:

USE [master]


CREATE DATABASE LERS ON 
( FILENAME = N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataLERS.mdf' ),
( FILENAME = N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataLERS_Log.ldf' );
 FOR ATTACH
GO

где LERS.mdf и LERS_Log.ldf - имена файлов с базой и log-ом.

  1. Подключите базу данных к серверу, выполнив команду osql -S (local)LERS -E -i c: emp
    estore.txt
    . При успешном выполнении, ответ сервера не содержит ошибки и выглядит следующим образом:

1> 2> 1> 2> 3> 4> 5> 6> 1>

  1. Выполните команду для отображения версии системы из таблицы Version: osql -S (local)LERS -E -d LERS -Q “SELECT Version_Num FROM dbo.Version”. В ответ сервер вернет версию системы:

Version_Num

2.78.75.22501

(обработана 1 строка)

Есть способ “приживить” базу данных от старой версии к последней версии ЛЭРС УЧЕТ. Для этого понадобится установочный пакет и пакет для ручного обновления.

Чтобы вашу подключенную базу данных можно было использовать с последней версией ЛЭРС УЧЕТ, выполните следующие действия:

  1. Выполните резервное копирование, чтобы получить .bak-файл. Для этого используйте команду
osql -S (local)LERS -E -d LERS -Q "BACKUP DATABASE [LERS] TO DISK = N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupLERS.bak' WITH NOFORMAT, INIT, NAME = N'LERS Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
  1. Запустите утилиту для восстановления базы данных и восстановите ее из .bak-файла. Утилита восстановит базу данных и предоставит доступ к ней серверу ЛЭРС УЧЕТ. По завершении восстановления программа утилита предложит запустить сервер ЛЭРС УЧЕТ - этого делать не надо, т.к. версия восстановленной базы данных будет меньше, чем версия сервера, поэтому сервер не сможет с ней работать (при запуске он запротоколирует соответствующее сообщение в журнала работы и после чего остановится).

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

При выполнении любой из команд выходит вот такое вот сообщение.

C:UsersШлюз>osql -S (local)LERS -E -d master -Q “DROP DATABASE [LERS]”
[SQL Native Client]Поставщик именованных каналов: Не удалось открыть
соединение с SQL Server [2].
[SQL Native Client]Время ожидания входа в систему истекло
[SQL Native Client]При подключении к серверу возникла ошибка. При подключении
к серверу SQL Server 2005 данная ошибка может возникать из-за того, что
параметры по умолчанию сервера SQL Server не разрешают устанавливать удаленные
соединения.

Причина ошибки - отсутствует подключение к SQL-серверу.
Проверьте, запущена ли на компьютере системная служба “SQL Server (LERS)” (команды необходимо выполнять на компьютере с установленным SQL-сервером).

Если служба запущена, но ошибка сохраняется - необходимо убедиться, что SQL-серверу разрешено использовать протокол TCP/IP. Меню “Пуск” → Все программы → Microsoft SQL Server 2005 → Средства настройки → Диспетчер конфигурации SQL Server:

  1. SQL Server 2005 Network Configuration → Protocols for LERS → TCP/IP → Enabled
  2. SQL Network Client Configuration → Client Protocols → TCP/IP → Enabled