BUG: Dump to Tape with Init Ignored in Stored Procedure

ID: Q123985

The information in this article applies to: BUG# NT: 669 (4.2)

SYMPTOMS

When using the DUMP DATABASE command within a stored procedure, the option to initialize the tape will not be respected. In this scenario, all dumps made to tape will actually be appended to the tape.

WORKAROUND

It is possible to use the stored procedure xp_cmdshell and isql to perform the same task within a stored procedure. An example stored procedure is as follows:

   use master
   go
   if exists(select * from sysobjects
         where type = 'P' and name = 'dump_pubs')
   begin
      drop proc dump_pubs
   end
   go
   create proc dump_pubs as
   begin
      master..xp_cmdshell 'isql -Usa -P
         -Q"dump database pubs to tapedump with init,nounload" ',
         no_output
   end
   go

If the stored procedure is referenced from another database other than master 'master..' must be used. Otherwise the above store procedure will dump the database to the designated tape dump device, initialize the tape, and not eject the tape. The xp_cmdshell option 'no_output' prevents results of the option from being returned to the client.

STATUS

Microsoft has confirmed this to be a problem in SQL Server version 4.2. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Additional query words: Windows NT DUMP DATABASE TAPE

Keywords          : kbusage SSrvStProc kbbug4.20 SSrvWinNT 
Version           : 4.2
Platform          : WINDOWS

Last Reviewed: May 1, 1997