This article's lead section contains information that is not included elsewhere in the article. If the information is appropriate for the lead of the article, this information should also be included in the body of the article.(August 2022) (Learn how and when to remove this message)
When a program is about to overwrite an existing file (for example, when the user saves the document they are working on), the program may first make a copy of the existing file, with .bak appended to the filename. This common .bak naming scheme makes it possible to retrieve the original contents of the file in case of a failed write that corrupts the file, which could be caused by an operating system crash, power outage, or disk space exhaustion.
Without the backup file, an unsuccessful write event may truncate a file, meaning it cuts off the file at a position, or leaves a blank file. In practice, this could cause a written document to become incomplete or get lost, a multimedia project file (e.g. from a video editor) to become unparseable, and user preferences being reset to default.
In a similar manner, a user may also manually make a copy of the file before the change and append .bak to the filename, or alternatively save revisions into separate files, to facilitate reverting to an earlier revision in case of an error.
Other naming schemes are also in widespread use: file~, file.orig, file.old, and appended time stamps.
Database Applications like FoxPro and SQL Server use .bak files to back up their databases and other applications, like XML shell, create .bak files in their autosave process.[1] They do not get automatically deleted, so they need to be manually deleted after the process using it is stopped.
^"AdventureWorks sample databases". learn.microsoft.com. May 9, 2024. Retrieved November 21, 2024. You can use the .bak file to restore your sample database to your SQL Server instance.