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

Откуда:
Сообщений: 9
Коллеги подскажите с запросом. Восстанавливаю БД из бэкапа.
На запросы пишутся ошибки
RESTORE DATABASE test
from disk = 'C:\backup\000001A8.bak'

Msg 3102, Level 16, State 1, Line 1
RESTORE cannot process database 'test' because it is in use by this session. It is recommended that the master database be used when performing this operation.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.


RESTORE DATABASE test
from disk = 'C:\backup\000001A8.bak'

continue_after_error
Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'continue_after_error'.


Подскажите где не правильно, сам впервые столкунся с t-sql, поэтому сильно не ругайте если что то не так делаю :)
13 ноя 11, 19:01    [11589329]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
gpyr

Msg 3102, Level 16, State 1, Line 1
RESTORE cannot process database 'test' because it is in use by this session. It is recommended that the master database be used when performing this operation.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

У вас база юзается. возможно этим же коннектом.
13 ноя 11, 19:06    [11589357]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gpyr
Member

Откуда:
Сообщений: 9
gds, а как закрыть все подключения?
13 ноя 11, 19:10    [11589378]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
gpyr
gds, а как закрыть все подключения?

создайте процу в бд master или msdb
-- Kill all session in selected database
if object_id(N'sp_kill_allsession',N'P') is not null
	drop procedure dbo.sp_kill_allsession;
go

create procedure dbo.sp_kill_allsession (@dbname sysname)
as
declare 
	@spid smallint,
	@sql_run nvarchar(12)
declare c1 cursor for
	select p.spid from sys.sysprocesses p
		where	p.dbid = db_id(@dbname)
begin
 if DB_ID(@dbname) = DB_ID()
	raiserror ('Can''t run in this database context',16,1)
open c1

FETCH NEXT FROM c1 into @spid
WHILE @@FETCH_STATUS = 0
BEGIN
  select @sql_run = N'kill ' + CAST(@spid as nvarchar)
  exec sp_executesql @sql_run
  FETCH NEXT FROM c1 into @spid
END

close c1
DEALLOCATE c1
end
GO



и дергайте её с указанием базы, например
use [master]
GO
exec dbo.sp_kill_allsession @dbname='test'
GO
RESTORE DATABASE test
from disk = 'C:\backup\000001A8.bak'
GO
13 ноя 11, 19:15    [11589394]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
gds
gpyr
gds, а как закрыть все подключения?

создайте процу в бд master или msdb

зачем так сложно!?
проще:
alter database Test set single_user with rolback immediate
13 ноя 11, 19:33    [11589452]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gpyr
Member

Откуда:
Сообщений: 9
gds, ошибка


Msg 201, Level 16, State 4, Procedure sp_kill_allsession, Line 0
Procedure or function 'sp_kill_allsession' expects parameter '@dbname', which was not supplied.
Msg 3154, Level 16, State 4, Line 1
The backup set holds a backup of a database other than the existing 'test' database.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
13 ноя 11, 19:40    [11589474]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
gpyr
gds, ошибка


Msg 201, Level 16, State 4, Procedure sp_kill_allsession, Line 0
Procedure or function 'sp_kill_allsession' expects parameter '@dbname', which was not supplied.
Msg 3154, Level 16, State 4, Line 1
The backup set holds a backup of a database other than the existing 'test' database.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

А так?
use [master]
GO
exec dbo.sp_kill_allsession 'test'
GO
RESTORE DATABASE test
from disk = 'C:\backup\000001A8.bak'
GO
13 ноя 11, 19:43    [11589491]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gpyr
Member

Откуда:
Сообщений: 9
Knyazev Alexey, ошибка

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'rolback'.
13 ноя 11, 19:43    [11589493]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gpyr
Member

Откуда:
Сообщений: 9
gds,

Msg 3154, Level 16, State 4, Line 1
The backup set holds a backup of a database other than the existing 'test' database.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
13 ноя 11, 19:45    [11589503]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Knyazev Alexey
gds
пропущено...

создайте процу в бд master или msdb

зачем так сложно!?
проще:
alter database Test set single_user with rollback immediate

Действительно, проще. Просто почем у то думал что после восстановления она останется в Single_user, но нет.
Knyazev Alexey, спасибо учту в будущих скриптах :)
13 ноя 11, 19:48    [11589517]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
gpyr
Knyazev Alexey, ошибка

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'rolback'.

rollback с двумя l
13 ноя 11, 19:49    [11589520]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
gpyr
gds,

Msg 3154, Level 16, State 4, Line 1
The backup set holds a backup of a database other than the existing 'test' database.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

Это ошибка при операции restore, процедура отработала нормально. Выполните запуск процедуры отдельно и убедитесь, что к бд никто не подключен. При условии создания процедуры в master
use [master]
GO
exec dbo.sp_kill_allsession 'test'
GO
select p.* from sys.sysprocesses p
		where	p.dbid = db_id('test')
13 ноя 11, 19:53    [11589545]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gpyr
Member

Откуда:
Сообщений: 9
gds,

Msg 3154, Level 16, State 4, Line 1
The backup set holds a backup of a database other than the existing 'test' database.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
13 ноя 11, 20:30    [11589682]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gpyr
Member

Откуда:
Сообщений: 9
gpyr, сорри не увидел последнее сообщение.. щас проверю.
13 ноя 11, 20:32    [11589691]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gpyr
Member

Откуда:
Сообщений: 9
gds, всёравно ошибка повторяется
13 ноя 11, 20:45    [11589740]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
gpyr
gds, всёравно ошибка повторяется

Еще раз повторяю, ошибка у вас связана с тем, что у вас занята БД (используется каким то коннектом).
что бы проверить каким коннектом запустите
select p.* from sys.sysprocesses p
		where	p.dbid = db_id('test')
У меня оба варианта отрабатывают на ура.
use [master]
GO
exec dbo.sp_kill_allsession 'ssdba'
GO
RESTORE DATABASE [ssdba] 
FROM  DISK = N'D:\MSSQL\Backup\ssdba.bak' 
WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 10,  
MOVE N'ssdba' TO N'C:\Database\SQLServer\OLPT\ssdba.mdf',  
MOVE N'ssdba_log' TO N'C:\Database\SQLServer\OLPT\ssdba.ldf'
GO

11 percent processed.
22 percent processed.
31 percent processed.
42 percent processed.
51 percent processed.
62 percent processed.
71 percent processed.
82 percent processed.
91 percent processed.
100 percent processed.
Processed 280 pages for database 'ssdba', file 'ssdba' on file 1.
Processed 1 pages for database 'ssdba', file 'ssdba_log' on file 1.
RESTORE DATABASE successfully processed 281 pages in 0.164 seconds (13.386 MB/sec).
use [master]
GO
alter database ssdba set single_user with rollback immediate
GO
RESTORE DATABASE [ssdba] 
FROM  DISK = N'D:\MSSQL\Backup\ssdba.bak' 
WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 10,  
MOVE N'ssdba' TO N'C:\Database\SQLServer\OLPT\ssdba.mdf',  
MOVE N'ssdba_log' TO N'C:\Database\SQLServer\OLPT\ssdba.ldf'
GO


11 percent processed.
22 percent processed.
31 percent processed.
42 percent processed.
51 percent processed.
62 percent processed.
71 percent processed.
82 percent processed.
91 percent processed.
100 percent processed.
Processed 280 pages for database 'ssdba', file 'ssdba' on file 1.
Processed 1 pages for database 'ssdba', file 'ssdba_log' on file 1.
RESTORE DATABASE successfully processed 281 pages in 0.167 seconds (13.145 MB/sec).
13 ноя 11, 21:12    [11589861]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gpyr
Member

Откуда:
Сообщений: 9
gds,

Msg 5133, Level 16, State 1, Line 1
Directory lookup for the file "D:\DB\SharePoint10\SharePoint_Config.mdf" failed with the operating system error 21(The device is not ready.).
Msg 3156, Level 16, State 3, Line 1
File 'SharePoint_Config' cannot be restored to 'D:\DB\SharePoint10\SharePoint_Config.mdf'. Use WITH MOVE to identify a valid location for the file.
Msg 5133, Level 16, State 1, Line 1
Directory lookup for the file "D:\DB\SharePoint10\SharePoint_Config.ldf" failed with the operating system error 21(The device is not ready.).
Msg 3156, Level 16, State 3, Line 1
File 'SharePoint_Config_log' cannot be restored to 'D:\DB\SharePoint10\SharePoint_Config.ldf'. Use WITH MOVE to identify a valid location for the file.
Msg 3119, Level 16, State 1, Line 1
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
13 ноя 11, 21:36    [11589970]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8878
gpyr
gds,

Msg 5133, Level 16, State 1, Line 1
Directory lookup for the file "D:\DB\SharePoint10\SharePoint_Config.mdf" failed with the operating system error 21(The device is not ready.).
Msg 3156, Level 16, State 3, Line 1
File 'SharePoint_Config' cannot be restored to 'D:\DB\SharePoint10\SharePoint_Config.mdf'. Use WITH MOVE to identify a valid location for the file.Msg 5133, Level 16, State 1, Line 1
Directory lookup for the file "D:\DB\SharePoint10\SharePoint_Config.ldf" failed with the operating system error 21(The device is not ready.).
Msg 3156, Level 16, State 3, Line 1
File 'SharePoint_Config_log' cannot be restored to 'D:\DB\SharePoint10\SharePoint_Config.ldf'. Use WITH MOVE to identify a valid location for the file.
Msg 3119, Level 16, State 1, Line 1
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.


Ну типа ... Use WITH MOVE to identify a valid location for the file
14 ноя 11, 06:05    [11590913]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
SIMPLicity_
gpyr
gds,

Msg 5133, Level 16, State 1, Line 1
Directory lookup for the file "D:\DB\SharePoint10\SharePoint_Config.mdf" failed with the operating system error 21(The device is not ready.).
Msg 3156, Level 16, State 3, Line 1
File 'SharePoint_Config' cannot be restored to 'D:\DB\SharePoint10\SharePoint_Config.mdf'. Use WITH MOVE to identify a valid location for the file.Msg 5133, Level 16, State 1, Line 1
Directory lookup for the file "D:\DB\SharePoint10\SharePoint_Config.ldf" failed with the operating system error 21(The device is not ready.).
Msg 3156, Level 16, State 3, Line 1
File 'SharePoint_Config_log' cannot be restored to 'D:\DB\SharePoint10\SharePoint_Config.ldf'. Use WITH MOVE to identify a valid location for the file.
Msg 3119, Level 16, State 1, Line 1
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.


Ну типа ... Use WITH MOVE to identify a valid location for the file

Да ошибка операционной системы у него.
автор
operating system error 21(The device is not ready.).

Нет доступа к файлу. Тут либо прав не хватает. либо такого пути нет. Так вариант, но мало вероятно - диск капут. Холя может и файл залочен быть. много таких вот ошибок по всему простору инета.
14 ноя 11, 09:02    [11591040]     Ответить | Цитировать Сообщить модератору
 Re: restore database  [new]
komrad
Member

Откуда:
Сообщений: 5758
gpyr,

выполни
exec sp_helpdb test
go
restore filelistonly from disk='C:\backup\000001A8.bak'
go
14 ноя 11, 10:08    [11591237]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить