View Single Post

   
  #5 (permalink)  
Old 02-28-2008, 08:09 PM
FoxRunner
 
Posts: n/a
Default Re: Restore database via automated order

"Simon Hayes" <sql@hayes.ch> wrote in message news:<3fd61c16_2@news.bluewin.ch>...
> "FoxRunner" <claus.rauchschindel@dds.de> wrote in message
> news:b7c717fb.0312090728.1b374ba1@posting.google.c om...
> > Hi folks,
> >
> > I got a script which restores a database. It works fine
> > if it is running in my Query Analyzer.
> >
> > It fails when I put this script in an automated schedule using the
> > SQL agent.
> >
> > This is my script
> >
> > RESTORE DATABASE [RestoreTest]
> > FROM DISK = N'E:\sqlbak\RestoreTest.BAK'
> > WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY
> >
> > and this is the error message from the scheduler (Sorry its in German)
> >
> > Executing as User dbo. Exclusiv access to database not possible
> > because
> > it is in use (which is not).. Rest may be clear ;-))
> >
> > Ausführt als Benutzer: dbo. Exklusiver Zugriff auf die Datenbank ist
> > nicht möglich, da die Datenbank gerade verwendet wird. [SQLSTATE
> > 42000] (Fehler 3101) RESTORE DATABASE wird fehlerbedingt beendet.
> > [SQLSTATE 42000] (Fehler 3013). Fehler bei Schritt
> >
> > Do you have any suggestion to me ?

>
> Some process is accessing the database at the time you want to restore it.
> This may be the job itself, if you set the database context for the restore
> step to RestoreTest, instead of master.
>
> Even if that is the issue, a better solution is to disconnect any open
> connections. You can add a new first job step to do ALTER DATABASE
> RestoreTest SET OFFLINE WITH ROLLBACK IMMEDIATE. Then, after restoring it,
> use ALTER DATABASE RestoreTest SET ONLINE to make the database available
> again. Make sure these steps use master as the database context. This
> assumes, of course, that it is acceptable in your environment to disconnect
> any client applications without warning.
>
> Simon



Simon,

Thats it. Your suggestion to change the context from Restore-Test to
Master was succesfull.

Embedding the ROLLBACK IMMEDIATE does not have any influence to the
result.
I let in because I think it is a better way of programming.

Thank Mate and best regards to Switzerland
Reply With Quote