SQL 编写器服务通过卷影复制服务框架,提供了用来备份和还原 SQL Server 的附加功能。
SQL 编写器服务会自动安装。 当卷影复制服务 (VSS) 应用程序请求备份或还原时,它必须运行。 若要配置服务,请使用 Microsoft Windows Services 小程序。 SQL 编写器服务会安装在所有操作系统上。
目的
在运行时, 数据库引擎 会锁定数据文件并具有独占访问权限。 如果 SQL 编写器服务没有运行,Windows 中运行的备份程序将不能访问数据文件,而且必须使用 SQL Server 才能进行备份。
使用 SQL 编写器服务,可以使 Windows 备份程序在 SQL Server 运行时复制 SQL Server 数据文件。
卷影复制服务
VSS 是一组 COM API,它实现了一个框架,允许在系统应用程序继续向卷中写入时进行卷备份。 VSS 提供一致的接口,允许在更新磁盘(编写器)上的数据的用户应用程序与备份应用程序(请求者)之间进行协调。
VSS 捕获并复制稳定映像,以便在正在运行的系统上(尤其是服务器)上进行备份,而不会降低它们提供的服务的性能和稳定性。 有关 VSS 的详细信息,请参阅 Windows 文档。
虚拟备份设备接口 (VDI)
SQL Server 提供了一个名为虚拟备份设备接口(VDI)的 API,使独立软件供应商能够将 SQL Server 集成到其产品中,从而为备份和还原作提供支持。 这些 API 能够提供非常高的可靠性和极佳的性能,并支持 SQL Server 的所有备份与还原功能,包括所有的热备份和快照备份功能。
权限
SQL 编写器服务必须在 本地系统 帐户下运行。 SQL 编写器服务使用 NT Service\SQLWriter 登录名连接到 SQL Server。 使用 NT Service\SQLWriter 登录名,SQL 编写器进程可以在指定为 无登录名的帐户中以较低的特权级别运行,这会限制漏洞。 如果 SQL 编写器服务被禁用,那么依赖于 VSS 快照的任何实用程序(如 System Center Data Protection Manager 以及其他一些第三方产品)可能会出现故障,甚至有可能导致备份不一致的数据库。 如果 SQL Server、其运行的系统以及主机系统(在虚拟机的情况下)均无需使用除 Transact-SQL 备份之外的任何内容,那么即可安全地禁用 SQL 编写器服务并删除登录名。 请注意,无论备份是否是基于快照或其他方式,系统或卷级备份可能会请求使用 SQL Writer 服务。 某些系统备份产品使用 VSS 来避免被打开或锁定的文件阻止。 SQL 编写器服务需要 SQL Server 中的提升权限,因为在其活动过程中,它暂时冻结 SQL Server 实例的所有 I/O。
特点
SQL 编写器支持:
完整数据库备份和还原,包括全文目录
差异备份和还原
还原并移动
数据库重命名
仅限复制的备份
自动恢复数据库快照
SQL 编写器不支持:
日志备份
文件和文件组备份
页面还原