Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MS SQL Express 2008 ошибка 3102  [new]
foma24
Member

Откуда:
Сообщений: 34
Добрый день. Подскажите с такой проблемой. Пытаюсь несколько автоматизировать восстановление БД. Само восстановление осуществляется из файла, в котором находится команда:

RESTORE DATABASE [client] FROM  DISK = N'D:\reservBK\res' WITH  FILE = 1,  MOVE N'client' TO N'D:\DB\client.mdf',  MOVE N'client_log' TO N'D:\DB\client.ldf',  NOUNLOAD,  STATS = 10
GO


файл запускается батником:

sqlcmd -S \sqlexpress -U dba -P sql -i D:\reservBK\rescue.sql

при этом появляется ошибка:

D:\reservBK>sqlcmd -S \sqlexpress -U dba -P sql -i D:\reservBK\rescue.sql
Сообщение 3102, уровень 16, состояние 1, сервер BUHGALT3\SQLEXPRESS, строка 1
При помощи операции RESTORE не удалось выполнить обработку базы данных "client",
так как она используется в этом сеансе. Рекомендуется для выполнения этой опера
ции использовать базу данных master.
Сообщение 3013, уровень 16, состояние 1, сервер BUHGALT3\SQLEXPRESS, строка 1
RESTORE DATABASE прервано с ошибкой.

Если же восстановление проводить через SQL Server Management Studio (команда в файле получена с него), то база восстанавливается, т.е. ошибка в самом батнике, вот только не пойму в чем
20 фев 13, 15:59    [13955706]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express 2008 ошибка 3102  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
use master
go
RESTORE DATABASE [client] FROM  DISK = N'D:\reservBK\res' WITH  FILE = 1,  MOVE N'client' TO N'D:\DB\client.mdf',  MOVE N'client_log' TO N'D:\DB\client.ldf',  NOUNLOAD,  STATS = 10
GO
20 фев 13, 16:03    [13955730]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express 2008 ошибка 3102  [new]
foma24
Member

Откуда:
Сообщений: 34
а при такой команде база восстановится в client или master ? для чего используется master ?
20 фев 13, 16:13    [13955819]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express 2008 ошибка 3102  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
foma24
а при такой команде база восстановится в client или master ?
База для рестора указывается в коменде restore database.
foma24
для чего используется master ?
Потому что об этом даже в сообщении об вашей ошибке написано.
20 фев 13, 16:17    [13955858]     Ответить | Цитировать Сообщить модератору
 Re: MS SQL Express 2008 ошибка 3102  [new]
Crimean
Member

Откуда:
Сообщений: 13147
или пользователю "dba" смените дефолтную базу с "client" на "master" или в команде добавьте "-d master"
20 фев 13, 17:04    [13956281]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить