ID: Q123985
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.
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.
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