Ошибка:Failed to restart the current database
У меня есть процедура:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[RestoreDataBase]
@nameFile nvarchar(100)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @str nvarchar(500)
SET @str = 'RESTORE DATABASE [VITALOG_MESSAGES] FROM DISK = N''C:BackUpMyDB'+@nameFile+'.bak'' WITH REPLACE'
EXEC VITALOG_MESSAGES.dbo.Sp_KillAllProcessInDB 'MyDB'
IF @@ERROR = 0
BEGIN
ALTER DATABASE [MyDB] SET OFFLINE WITH ROLLBACK IMMEDIATE
EXEC (@str)
ALTER DATABASE [MyDB] SET ONLINE
IF @@ERROR = 0
RETURN (0)
ELSE
RETURN (1)
END
ELSE
RETURN (1)
END
после выполнения получаю следующе сообщение:
>>>>>>
<FONT color=red><B>Failed to restart the current database. The current database is switched to master</B>.
Processed 14312 pages for database 'MyDB', file 'MyDB' on file 1.
Processed 3 pages for database 'MyDB', file 'MyDB_log' on file 1.
RESTORE DATABASE successfully processed 14315 pages in 8.908 seconds (13.163 MB/sec).
(1 row(s) affected)
>>>>>>>
дает ошибку на
ALTER DATABASE [MyDB] SET OFFLINE WITH ROLLBACK IMMEDIATE
в процедуре не могу использовать USE MASTER
Как можно решить эту проблему??????
|