"The supplied user buffer is not valid..." error

siloreedsiloreed Posts: 2
edited April 4, 2011 12:12PM in SQL Backup Previous Versions
During a transaction log restore we've recently begun to see this message in the SQL ERRORLOG:

During restore restart, an I/O error occurred on checkpoint file 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\RestoreCheckpointDB6.CKP' (operating system error 1784(The supplied user buffer is not valid for the requested operation.)). The statement is proceeding but cannot be restarted. Ensure that a valid storage location exists for the checkpoint file.

When the problem occurs Process Monitor records this event:

Date & Time: 3/15/2011 4:30:14 PM
Event Class: File System
Operation: WriteFile
Result: 0xC00000E8
Path: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\RestoreCheckpointDB6.CKP
TID: 3320
Duration: 0.0090821
Offset: 4,670
Length: 509,000
Priority: Normal

This problem only started recently, perhaps after the latest Microsoft Updates were installed. I haven't yet installed Service Pack 2 for SQL 2008. The server is Windows 2008 SP2 running on an Amazon EC2 instance. The SQL Backup version is 5.4.0.55.

Comments

  • Eddie DEddie D Posts: 1,800 Rose Gold 5
    Hi, Thank you for your post into the forum.

    When performing a restore SQL Server creates and writes to a checkpoint file.

    If during the restore process, SQL Server cannot write to the checkpoint file location it generates the error message you reported in your post.

    I would ensure that path to the '.ckp' exists and there is sufficient free disk space for the files to be created and grow.

    Also check the permissions of the checkpoint file path and ensure that the account for the SQL Server service has necessary security permissions.

    Many Thanks
    Eddie
    Eddie Davis
    Senior Product Support Engineer
    Redgate Software Ltd
    Email: support@red-gate.com
  • We are having the same problem.

    The SQL Server service account has full permissions on the checkpoint file path. There is 8GB free disk space on that drive. It's a dedicated database server.

    What else might cause this problem?
  • Eddie DEddie D Posts: 1,800 Rose Gold 5
    Hi Nuevo

    I am not sure that I can add any further information that will help you.

    The reported issue is a SQL Server / Windows I/O error.
    Operating system error 1784 ERROR_INVALID_USER_BUFFER or ERROR_NOT_ENOUGH_MEMORY. Each device driver maintains a fixed-size list (in a nonpaged pool) of outstanding I/O requests. If the list is full, the system can't queue the request and the error is generated. This msdn article on the Windows Asynchronous Device I/O may help.

    Apart from Security permissions of the SQL Server account, the problem may be caused by one of the following:
      Workload of the server at the time of the restore? Check the system's I/O processes? Possible problem with device driver?

    Many Thanks
    Eddie
    Eddie Davis
    Senior Product Support Engineer
    Redgate Software Ltd
    Email: support@red-gate.com
Sign In or Register to comment.