Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Event ID 50 is logged when you try to restore a large sparse file on a Windows Server 2003-based computer


View products that this article applies to.

Symptoms

When you try to restore a large sparse file on a Windows Server 2003-based computer, the following event is logged in the System log:
Event Type: Warning
Event Source: Ntfs
Event Category: None
Event ID: 50
Computer: <Computer name>
Description:
{Delayed Write Failed} Windows was unable to save all the data for the file. The 
data has been lost. This error may be caused by a failure of your computer hardware 
or network connection. Please try to save this file elsewhere.

For more information, see Help and Support Center at 
http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 00040004 00520002 00000000 80040032
0010: 00000000 c000009a 00000000 00000000
0020: 00000000 00000000 c000009a
You may also discover that the following event is logged:
Event ID : 26
Category : None
Source : Application Popup
Type : Information
Machine : <Computer name>
Message : Application popup: Windows - Delayed Write Failed : Windows was 
unable to save all the data for the file <file name> The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to 
save this file elsewhere.

↑ Back to the top


Cause

This issue is caused by an NTFS limitation when you store data in an NTFS attribute list. Specifically, the maximum size of an NTFS attribute list is 256 kilobytes (KB). If you encounter this issue when you try to restore SQL database files by using backup software, such as, the NTbackup tool or certain third-party solutions, your SQL database file may have been accidentally changed into a sparse file. For example, you may encounter this issue in the following scenario:
  1. You run one of the following commands:
    • use <database name>
      dbcc checkdb
      go
      
    • use <database name>
      dbcc checkalloc
      go
      
    Note The attribute of the database file is changed into a sparse file because of insufficient support for a sparse stream in the NTFS file system driver.
  2. You stop the SQL service.
  3. You save the database file by using backup software.
  4. You restore the database file from backup.

↑ Back to the top


Resolution

You can prevent the SQL database file from having a sparse attribute when you run the dbcc command by adding a tablock option, as in the following examples:
  • use <database file>
    dbcc checkdb with tablock
    go
    
  • use <database file>
    dbcc checkalloc with tablock
    go
    
If your SQL database file has already been converted into a sparse file, you can recover the database file by following these steps.

Note Make sure that your target volume has sufficient free space before you perform this operation.
  1. Stop the SQL service.
  2. Copy the SQL database file to another location.
  3. Copy the SQL database file back to the original location.
  4. Start the SQL service.

↑ Back to the top


More information

This issue is corrected in Windows 7.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
967351� A heavily fragmented file in an NTFS volume may not grow beyond a certain size

↑ Back to the top


Keywords: kbprb, kbsurveynew, kbexpertiseadvanced, kbtshoot, KB969880

↑ Back to the top

Article Info
Article ID : 969880
Revision : 2
Created on : 4/21/2009
Published on : 4/21/2009
Exists online : False
Views : 309