Microsoft KB Archive/905616

= You receive error messages when you try to back up a SQL Server 2000 database to a tape drive after you format and use the tape drive for backups in Windows Server 2003 =

Article ID: 905616

Article Last Modified on 11/2/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Personal Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Desktop Engine (Windows)
 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition 64-bit

-





SYMPTOMS
Consider the following scenario. You format a tape drive in Microsoft Windows Server 2003. You use this tape drive to back up Windows Server 2003 by using the Ntbackup.exe program. Then you try to back up a Microsoft SQL Server 2000 database to the same tape drive. In this scenario, you may receive an error message that is similar to the following in SQL Server 2000:

Server: Msg 3203, Level 16, State 1, Line 1

Read on '\\.\TAPE0' failed, status = 1106. See the SQL Server error log for more details.

Server: Msg 3242, Level 16, State 1, Line 1

The file on device '%ls' is not a valid Microsoft Tape Format backup set.

Server: Msg 3013, Level 16, State 1, Line 1

BACKUP DATABASE is terminating abnormally.

Additionally, an error message that is similar to the following is written to the SQL Server 2000 error log:

spid51 BackupMedium::ReportIoError: read failure on backup device '\\.\TAPE0'. Operating system error 1106(error not found).

spid51 Internal I/O request 0x19C9DC58: Op: Read, pBuffer: 0x03A10000, Size: 65536, Position: 2162688, UMS: Internal: 0xC0000173, InternalHigh: 0x10000, Offset: 0x210000, OffsetHigh: 0x0, m_buf: 0x03A10000, m_len: 65536, m_actualBytes: 65536, m_errcode: 1106, BackupFile: \\.\TAPE0

backup BACKUP failed to complete the command backup database pubs to TAPE = '\\.\TAPE0' WITH NOUNLOAD

If SQL Server 2000 cannot resolve the operating system error 1106, type the following command at a command prompt:

net helpmsg 1106

You receive the following error message at the command prompt:

When accessing a new tape of a multivolume partition, the current block size is incorrect.



CAUSE
In Windows Server 2003, Windows backup supports a block size that is bigger than 64 KB to format a tape. The block size depends on the particular tape drive that you use.

SQL Server 2000 supports block sizes up to 64 KB. If Windows backup formatted a tape by using a bigger block size than 64 KB, you receive the error messages that are mentioned in the &quot;Symptoms&quot; section. Because Windows Server 2003 was released after SQL Server 2000, the &quot;Backup Formats&quot; topic in SQL Server 2000 Books Online does not mention this information.



WORKAROUND
To work around this behavior, use one of the following methods:

Format the tape by using SQL Server 2000
Use SQL Server 2000 to format any tape that you want to share between SQL Server 2000 and Windows Server 2003. To do this, follow these steps:  Insert a new tape in your tape drive. In SQL Query Analyzer, back up a database by running the following command:

BACKUP DATABASE  TO TAPE =   WITH FORMAT, BLOCKSIZE=65536, NOUNLOAD

Notes  This command formats the tape with a block size of 64 KB. Therefore, the tape can be used by SQL Server 2000 and Windows Server 2003.  represents the database name. represents the tape drive. 

First back up the database to disk by using SQL Server 2000
If you have sufficient disk space, follow these steps:
 * 1) Use SQL Server 2000 to back up a database to a local disk.
 * 2) Use Windows backup in Windows Server 2003 to back up the SQL Server backup file.

Use a third-party backup solution
Most third-party backup solutions use the Virtual Device Interface (VDI) in SQL Server 2000 to transfer a database from SQL Server to a tape. Typically, these solutions format the tape. Therefore, you may not experience this problem with these solutions.

<div class="status_section">

STATUS
This behavior is by design.

<div class="references_section">