Error When backing UP database via SQL Server 2005

  • Hi All

    I am trying to backup the Sharepoint Farm via the SQL Server 2005. I am getting the following error in the log file. Please help on this problem. I am really not sure what the issue is. The share is accessible and the permissions are fine as well. Thanks.

    [17/05/2012 3:34:28 PM]: Progress: [WSS_Content] 5 percent complete.

    [17/05/2012 3:34:47 PM]: Error: Object WSS_Content failed in event OnBackup. For more information, see the error log located in the backup directory.

    SqlException: Write on "\\aushare1\backup2\spbr0004\0000000E.bak" failed: 64(error not found)

    A nonrecoverable I/O error occurred on file "\\aushare1\backup2\spbr0004\0000000E.bak:" 64(error not found).

    BACKUP DATABASE is terminating abnormally.

    [17/05/2012 3:34:47 PM]: Debug: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

    at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()

    at System.Data.SqlClient.SqlDataReader.get_MetaData()

    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)

    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

    at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

    at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)

    at Microsoft.SharePoint.Administration.Backup.SPSqlBackupRestoreHelper.RunCommand(SPBackupRestoreInformation args, Boolean& restart, SPSqlBackupRestoreConnection connection)

    at Microsoft.SharePoint.Administration.Backup.SPSqlBackupRestoreHelper.Run(SPBackupRestoreInformation args)

    at Microsoft.SharePoint.Administration.Backup.SPSqlBackupHelper.Run(SPBackupRestoreInformation args)

    at Microsoft.SharePoint.Administration.SPDatabase.OnBackup(Object sender, SPBackupInformation info)

  • For more information, see the error log located in the backup directory.

    can you post the error log that it created in the backup directory

    MVDBA

  • See that error number 64? If you go to a command prompt and type net helpmsg 64, you'll get a description of what the error means. In this case, it means The specified network name is no longer available. Sounds like there was a problem with the network or the destination server while the backup was taking place.

    John

  • I know you said the permissions are correct, but when backing up the server, the process doesn't your logins permissions. Instead it uses the permissions of the SQL Server service. Are those permissions correct too?

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • @mike-2: I have posted the above error from the SQL Error Log itself located in the backup directory.

    @Grant: I am pretty sure the permissions are correct for the Service Account as well.

    @john-2: I think this is the case. I tried to take a backup locally on the D Drive itself and that worked like a charm. Is there a way around this. Because I am sure the network connection didnt drop. That path has always been available from the Sharepoint Server. I think even it encounters slight latency it fails. Not sure how we can take a backup then onto a remote location.

    Also when performing this backup on the Sharepoint Farm, does the backup include the transaction log files as well or just the databases and other sys files?

  • forever20xx (5/17/2012)


    I tried to take a backup locally on the D Drive itself and that worked like a charm. Is there a way around this. Because I am sure the network connection didnt drop. That path has always been available from the Sharepoint Server. I think even it encounters slight latency it fails. Not sure how we can take a backup then onto a remote location.

    This is a risk you take when backing up over the network. You can either back up locally first and then copy, or, if you're doing it with a SQL Server Agent job, put a retry on it so that it runs again if it fails.

    Also when performing this backup on the Sharepoint Farm, does the backup include the transaction log files as well or just the databases and other sys files?[/quote]

    I don't know. Are you doing the backup through the Sharepoint application, or through SQL Server? Does it allow you to configure frequency of transaction log backups, and so on?

    John

  • Why not try backing up manually using TSQL and see what error it throws ?

    Santhu

  • We used to get the Network name is no longer available all the time but our backups had completed successfully. This is due to a timeout condition that is exceeded when talking to the network location. You can add a registry entry to extend this timeout period. We did this for all of our servers that were having this issue and it has since stopped.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters

    You have to add a new DWORD called SessTimeout and then add a value. I would start small but over 30 seconds as I believe that is the default.

  • I have tried 2 options to backup the databases:

    Firstly, via SQL Central Administration -> Operations -> backup & Restore -> Sharepoint Farm Backup -> Full Backup

    Secondly, via the SQL Management Studio -> Right Click database -> Tasks -> Backup -> Full backup. The below is the query being executed in this case:

    BACKUP DATABASE [WSS_Content] TO DISK = N'D:\SHBp\spbr0000\00000011.bak' WITH NOFORMAT, NOINIT, NAME = N'WSS_Content-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

    Both the above do the same thing (I think). But what I am not sure is since I am doing a Full Backup, are logfiles also included or would I need to take a seperate backup of Log files.

    Also, if Suppose I take a Full backup on 1st May and then Daily Differential Backup (on the Full backup file) using any of the above methods, would it append the changes to the Full backup file taken on 1st May. I mean if at all anything happens to the DB on 15th may, then I can restore all entire database up untill 14th may using that 1 File. Is that correct?

  • forever20xx (5/20/2012)


    I have tried 2 options to backup the databases:

    Firstly, via SQL Central Administration -> Operations -> backup & Restore -> Sharepoint Farm Backup -> Full Backup

    Secondly, via the SQL Management Studio -> Right Click database -> Tasks -> Backup -> Full backup. The below is the query being executed in this case:

    BACKUP DATABASE [WSS_Content] TO DISK = N'D:\SHBp\spbr0000\00000011.bak' WITH NOFORMAT, NOINIT, NAME = N'WSS_Content-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

    You can check in the error log to find out whether the backup completed. You should also include a verify in your backup (RESTORE VERIFYONLY). That on its own will not guarantee that the backup is good, so it is recommended to carry out test restores regularly.

    Both the above do the same thing (I think). But what I am not sure is since I am doing a Full Backup, are logfiles also included or would I need to take a seperate backup of Log files.

    Yes and yes. Everything is backed up in a full backup. However, if your database is in Full recovery mode, then you still need to backup up your log regularly. The frequency will depend on the size of your disk relative to how much log activity you have, and the amount of data you can afford to lose in the event of a disaster.

    Also, if Suppose I take a Full backup on 1st May and then Daily Differential Backup (on the Full backup file) using any of the above methods, would it append the changes to the Full backup file taken on 1st May. I mean if at all anything happens to the DB on 15th may, then I can restore all entire database up untill 14th may using that 1 File. Is that correct?

    Yes, you could restore to the point that the differential backup was taken on 14th. And with your regular log backups, if you make them, you can restore to any point in time prior to the last log backup.

    John

  • Hey John

    Great. Thanks for your replies. They have been really informational and helpful. I have now done the following:

    I have created a bat file and included the sqlcmd commands to run differential backups of all the 4 databases and also the log backups seperately.

    Further, I have created a Task in the Task Scheduler to run the bacth file daily at 8am. today was the first day and it ran successfully so far.

    Hopefully this would accomplish the required backup process and also I would have the Files if a Restore is needed in the future.

    Regards

    Vish.

Viewing 11 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic. Login to reply