📜  MS SQL Server 中的备份数据库

📅  最后修改于: 2022-05-13 01:55:20.689000             🧑  作者: Mango

MS SQL Server 中的备份数据库

先决条件- 在 MS SQL Server 中创建数据库

要创建完整的数据库备份,可以使用以下方法 -

  • SQL Server 管理工作室。
  • 事务 SQL。

限制 :
在较新版本的 SQL Server 上创建的备份无法在以前版本的 SQL Server 中恢复。

要知道的事实:

  • 当数据库大小增加时,完整数据库备份需要更多时间和更多存储空间才能完成。
  • sp_spaceused 系统存储过程可用于估计完整数据库备份的大小。
  • 在 SQL Server 错误日志和系统事件日志中为每个成功备份添加一个条目。

权限:

  • sysadmin 服务器角色成员的 BACKUP DATABASE 权限以及数据库角色的 db_owner 和 db_backupoperator 权限。
  • 运行 SQL Server 服务的帐户必须具有对备份设备的写入权限,因此 SQL Server 服务必须能够读取和写入设备。

使用 SQL Server 管理工作室:

  1. 在对象资源管理器中,连接到所需的 Microsoft SQL Server 数据库引擎实例,展开服务器实例。
  2. 展开数据库框并选择用户数据库或系统数据库。
  3. 右键单击需要备份的数据库,单击“任务”,然后单击“备份...”。


  4. 在“备份数据库”对话框中,您选择的数据库出现在下拉列表中。
    • 在备份类型下拉列表中,选择备份类型 - 默认为Full
    • 在备份组件下,选择数据库
    • 在“目标”部分查看备份文件的默认位置。
    • 要删除备份目标,请单击它并删除。
    • 要备份到新设备,请使用添加并选择目标更改选择。


  5. 查看“媒体选项”和“备份选项”页面下的其他可用设置。


  6. 单击“确定”开始备份。备份成功完成后,单击“确定”关闭 SQL Server Management Studio 对话框。


使用 Transact-SQL :

  • 连接到数据库引擎。
  • 打开新查询。

句法 :

BACKUP DATABASE databasename TO backup_device [][WITH with_options[]];

在哪里,
databasename是需要备份的数据库。

备份设备 [磁盘 | TAPE]声明用于备份操作的从 1 到 64 的备份设备列表。

WITH with_options []定义了下面提到的一个或多个选项——

压缩 | NO_COMPRESSION定义是否对此备份执行备份压缩。

描述最多可包含 255 个字符并描述备份集。

NAME最多可以有 128 个字符,用于描述备份集的名称。

FORMAT [MEDIANAME] [MEDIADESCRIPTION]可以在第一次使用媒体或覆盖所有现有数据时使用。


示例-1:
将数据库备份到磁盘设备。

USE GeekDB;
GO
BACKUP DATABASE GeekDB
TO DISK = 'D:\Backup\GeekDB.bak'
WITH FORMAT,
MEDIANAME = 'GeekDBBackup',
NAME = 'Full Backup of GeekDB';
GO


示例 2 :
备份到磁带设备。

USE GeekDB;
GO
BACKUP DATABASE GeekDB
TO TAPE = '\\.\TapeLocation'
WITH NOINIT,
NAME = 'Full Backup of GeekDB';
GO