SQL ライター サービスSQL Writer Service

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

SQL ライター サービスは、ボリューム シャドウ コピー サービス フレームワークを通じて、 SQL ServerSQL Server のバックアップと復元に関する追加機能を提供します。The SQL Writer Service provides added functionality for backup and restore of SQL ServerSQL Server through the Volume Shadow Copy Service framework.

SQL ライター サービスは、自動的にインストールされます。The SQL Writer Service is installed automatically. SQL ライター サービスは、ボリューム シャドウ コピー サービス (VSS) アプリケーションがバックアップまたは復元を要求したときに動作している必要があります。It must be running when the Volume Shadow Copy Service (VSS) application requests a backup or restore. SQL ライター サービスを構成するには、 MicrosoftMicrosoft Windows サービス アプレットを使用します。To configure the service, use the MicrosoftMicrosoft Windows Services applet. SQL ライター サービスは、すべてのオペレーティング システムにインストールできます。The SQL Writer Service installs on all operating systems.

目的Purpose

SQL ライター サービスが実行されている場合、 データベース エンジンDatabase Engine はデータ ファイルをロックして排他アクセス権を取得します。When running, データベース エンジンDatabase Engine locks and has exclusive access to the data files. SQL ライター サービスが実行されていない場合、Windows で実行中のバックアップ プログラムはデータ ファイルにアクセスできないため、 SQL ServerSQL Server のバックアップ機能を使用してバックアップを実行する必要があります。When the SQL Writer Service is not running, backup programs running in Windows do not have access to the data files, and backups must be performed using SQL ServerSQL Server backup.

SQL ServerSQL Server の実行中に Windows のバックアップ プログラムが SQL ServerSQL Server のデータ ファイルをコピーできるようにするには、SQL ライター サービスを使用します。Use the SQL Writer Service to permit Windows backup programs to copy SQL ServerSQL Server data files while SQL ServerSQL Server is running.

ボリューム シャドウ コピー サービスVolume Shadow Copy Service

VSS は、システム上のアプリケーションがボリュームへの書き込みを続行している間に、ボリューム バックアップを実行できるようにするためのフレームワークとなる COM API セットです。The VSS is a set of COM APIs that implements a framework to allow volume backups to be performed while applications on a system continue to write to the volumes. VSS には、一貫性のあるインターフェイスが用意されており、ディスク上のデータを更新するユーザー アプリケーション (ライター) とアプリケーションをバックアップするユーザー アプリケーション (リクエスター) 間の連携が可能になります。The VSS provides a consistent interface that allows coordination between user applications that update data on disk (writers) and those that back up applications (requestors).

VSS は、実行中のシステム (特にサーバー) で提供されているサービスのパフォーマンスや安定性を必要以上に低下させることなく、これらのシステム上で安定したバックアップ イメージをキャプチャしてコピーします。The VSS captures and copies stable images for backup on running systems, particularly servers, without unduly degrading the performance and stability of the services they provide. VSS の詳細については、Windows ドキュメントを参照してください。For more information on the VSS, see your Windows documentation.

注意

VSS を使用して、基本的な可用性グループをホストしている仮想マシンをバックアップする際に、その仮想マシンがセカンダリ状態にあるデータベースを現在ホストしている場合、SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 CU2 および SQL Server 2017 (14.x)SQL Server 2017 (14.x) CU9 以降では、これらのデータベースは仮想マシンと共にバックアップされませんWhen using VSS to backup a virtual machine that is hosting a Basic Availability Group, if the virtual machine is currently hosting databases that are in a secondary state, starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 CU2 and SQL Server 2017 (14.x)SQL Server 2017 (14.x) CU9 those databases will not be backed up with the virtual machine. この理由は、基本的な可用性グループではセカンダリ レプリカ上にあるデータベースのバックアップがサポートされていないためです。This is because Basic Availability Groups do not support backing up databases on the secondary replica. SQL ServerSQL Server のこれらのバージョン以前では、バックアップはエラーとなって失敗します。Prior to these versions of SQL ServerSQL Server, the backup would fail with an error.

Virtual Backup Device Interface (VDI)Virtual Backup Device Interface (VDI)

SQL ServerSQL Server には、Virtual Backup Device Interface (VDI) と呼ばれる API が用意されています。これにより、独立系ソフトウェア ベンダーは SQL ServerSQL Server を独自の製品に統合して、バックアップおよび復元操作のサポートを提供できます。provides an API called Virtual Backup Device Interface (VDI) that enables independent software vendors to integrate SQL ServerSQL Server into their products for providing support for backup and restore operations. これらの API は、最高の信頼性とパフォーマンスを提供するほか、ホット バックアップ機能やスナップショット バックアップ機能など、 SQL ServerSQL Server のあらゆるバックアップおよび復元機能をサポートするように設計されています。These APIs are engineered to provide maximum reliability and performance, and support the full range of SQL ServerSQL Server backup and restore functionality, including the full range of hot and snapshot backup capabilities. サードパーティ ベンダーのアプリケーションからスナップショット (VSS) バックアップが要求された場合、SQL ライター サービスでは、実際のバックアップを実行するために VDI API 関数が呼び出されます。If a third-party vendor application requests a snapshot (VSS) backup, the SQL Writer Service calls the VDI API functions in order to perform the actual backups. VDI API は VSS から独立しているため、VSS API を採用していないソフトウェア ソリューションで頻繁に使用されることに注意してください。Note that the VDI API is independent of VSS and is frequently used in software solutions that do not employ VSS APIs.

アクセス許可Permissions

SQL ライター サービスは、 ローカル システム アカウントで実行する必要があります。The SQL Writer service must run under the Local System account. SQL ライター サービスは、 に接続するために NT Service\SQLWriter SQL ServerSQL Serverログインを使用します。The SQL Writer service uses the NT Service\SQLWriter login to connect to SQL ServerSQL Server. NT Service\SQLWriter ログインを使用すると、SQL ライター プロセスは ログインなしと指定されたアカウントを通じた低い特権レベルで実行され、その結果、脆弱性を制限することになります。Using the NT Service\SQLWriter login allows the SQL Writer process to run at a lower privilege level in an account designated as no login, which limits vulnerability. SQL ライター サービスが無効になっている場合は、System Center Data Protection Manager や他のいくつかのサード パーティ製品のように VSS スナップショットに依存する任意のユーティリティは動作に失敗するか、より悪い場合は、一貫性のないデータベースのバックアップを取得するリスクが生じます。If the SQL Writer service is disabled, then any utility which in relies on VSS snapshots, such as System Center Data Protection Manager, as well as some other 3rd-party products, would be broken, or worse, at risk of taking backups of databases which were not consistent. SQL ServerSQL Serverを実行するシステムと、ホスト システム (仮想マシンの場合) のどちらも、 Transact-SQLTransact-SQL によるバックアップのみを必要とし、それ以外のバックアップを何も必要としない場合は、SQL ライター サービスを無効にしてログインを削除しても安全です。If neither SQL ServerSQL Server, the system it runs on, nor the host system (in the event of a virtual machine), need to use anything besides Transact-SQLTransact-SQL backup, then the SQL Writer service can be safely disabled and the login removed. バックアップが直接的なスナップショット ベースであるかどうかにかかわりなく、SQL ライター サービスはシステム レベルとボリューム レベルどちらのバックアップからも開始できることに注意してください。Note that the SQL Writer service may be invoked by a system or volume level backup, whether the backup is directly snapshot-based or not. いくつかのシステム バックアップ製品は、開いているファイルやロックされているファイルがブロックされることを防止するために VSS を使用します。Some system backup products use VSS to avoid being blocked by open or locked files. SQL ライター サービスは、 SQL ServerSQL Server インスタンスのすべての I/O を短時間にわたって停止するため、自らが動作する目的で SQL ServerSQL Server内で昇格された権限を必要とします。The SQL Writer service needs elevated permissions in SQL ServerSQL Server because in the course of its activities it briefly freezes all I/O for the instance of SQL ServerSQL Server.

[機能]Features

SQL ライターは次の機能をサポートしています。SQL Writer supports:

  • フルテキスト カタログなど、データベースの完全バックアップおよび復元Full database backup and restore including full-text catalogs

  • 差分バックアップおよび復元Differential backup and restore

  • 移動を伴う復元Restore with move

  • データベースの名前変更Database rename

  • コピーのみのバックアップCopy-only backup

  • データベース スナップショットの自動復旧Auto-recovery of database snapshot

SQL ライターは次の機能をサポートしていません。SQL Writer does not support:

  • ログのバックアップLog backups

  • ファイルとファイル グループのバックアップFile and filegroup backup

  • ページ復元Page restore

解説Remarks

SQL ライター サービスは SQL ServerSQL Server エンジンとは異なるサービスです。これは、同じサーバー上にあるさまざまなバージョンの SQL ServerSQL Server や、さまざまな SQL ServerSQL Server のインスタンス全体で共有されます。The SQL Writer service is a separate service from the SQL ServerSQL Server engine and is shared across different versions of SQL ServerSQL Server and across different instances of SQL ServerSQL Server on the same server. SQL ライター サービス ファイルは SQL ServerSQL Server インストール パッケージに含まれ、付属する SQL ServerSQL Server エンジンと同じバージョン番号が付けられます。The SQL Writer service file ships as part of the SQL ServerSQL Server installation package and will be marked with the same version number as the SQL ServerSQL Server engine it ships with. SQL ServerSQL Server の新しいインスタンスをサーバーにインストールするか、既存のインスタンスをアップグレードするときに、インストールまたはアップグレードするインスタンスのバージョン番号が現在サーバー上にある SQL ライター サービスのバージョン番号よりも大きい場合、そのファイルはインストール パッケージに含まれるファイルに置き換えられます。When a new instance of SQL ServerSQL Server is installed on a server or an existing instance is upgraded, if the version number of the instance being installed or upgraded is higher than the version number of the SQL Writer service that is currently on the server, that file will be replaced with the one from the installation package. サービス パックまたは累積更新プログラムによって SQL ライター サービスが更新されており、RTM バージョンの SQL ServerSQL Server をインストールしようとしている場合、インストールがより大きいメジャー バージョン番号を持っていれば、新しいバージョンの SQL ライター サービスを古いバージョンで置き換えることができます。Note that if the SQL Writer service was updated by a Service Pack or Cumulative Update and a RTM version of SQL ServerSQL Server is being installed, it is possible to replace a newer version of the SQL Writer service with an older one, provided that the installation has a higher major version number. たとえば、SQL ライター サービスが SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 CU2 で更新されているとします。For example, the SQL Writer service was updated in SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP2 CU2. そのインスタンスを SQL Server 2017 (14.x)SQL Server 2017 (14.x) RTM にアップグレードする場合、更新された SQL ライター サービスは古いバージョンに置き換えられます。If that instance is upgraded to SQL Server 2017 (14.x)SQL Server 2017 (14.x) RTM, the updated SQL Writer service will be replaced with an older version. この場合、新しいバージョンの SQL ライター サービスを取得するために、新しいインスタンスに最新の CU を適用する必要があります。In this case, you would need to apply the latest CU to the new instance in order to get the newer version of the SQL Writer service.