適用対象:SQL Server
詳細
| 属性 | 値 |
|---|---|
| 製品名 | SQL Server |
| イベント ID | 17053 |
| イベント ソース | MSSQLSERVER |
| コンポーネント | SQLEngine |
| シンボル名 | OS_ERROR |
| メッセージ テキスト | %ls: オペレーティング システム エラー %ls が発生しました。 |
説明
一般的なオペレーティング システム エラーが発生しました。 エラー メッセージは、より具体的なオペレーティング システム (OS) エラーをラップします。これは、そのエラーの診断に使用できます。 たとえば、失敗したデータ ファイルまたはログ ファイルへの読み取りまたは書き込み、レジストリの読み取り/書き込み操作、その他の予期しない Win32 API 呼び出しエラーなどがあります。
このエラーは、SQL Server エラー ログの他のエラー メッセージと共に頻繁に表示されます。 オペレーティング システムのエラーは数値と共に表示され、その後にエラーのテキスト メッセージが表示されます。
ユーザーの操作
17053 エラーを他のエラーと共に表示する方法の例を次に示します。 各例では、特定のシナリオにアプローチする方法に関するアイデアを提供します。
OS エラー 665 の例
この場合、基になる OS エラー 665 は、ファイルの書き込みまたは読み取り中にファイル システムの制限が発生したことを示します。
Error: 17053, Severity: 16, State: 1.
K:\DATA\MyDB.MDF_MSSQL_DBCC11: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00031397ce2000 in file 'K:\DATA\MyDB.MDF_MSSQL_DBCC11'.
解決策:
このシナリオが発生した場合は、この記事の手順に従って解決します。SQL Server ファイルに対して OS エラー 665 と 1450 が報告される
SQL Server エラー 9001 と基になる OS エラー 1117 および 21 の例
この場合、基になる OS エラー 1117 は、ディスク デバイスにエラーが発生したか、物理的に破損していることが示されます。
Error: 17053, Severity: 16, State: 1.
SQLServerLogMgr::LogWriter: Operating system error 1117(The request could not be performed because of an I/O device error.) encountered.
Write error during log flush.
Error: 9001, Severity: 21, State: 5.
The log for database 'SQLContoso' is not available. Check the operating system error log for related error messages. Resolve any errors and restart the database.
この場合、基になる OS エラーは 21 です。これは、ディスク デバイスがオフラインであり、OS と SQL Server で使用できない状態であることを示します。
Error: 17053, Severity: 16, State: 1.
SQLServerLogMgr::LogWriter: Operating system error 21(The device is not ready.) encountered.
Write error during log flush.
Error: 9001, Severity: 21, State: 4.
The log for database 'ContosoDB' is not available. Check the operating system error log for related error messages. Resolve any errors and restart the database.
解決策:
同様のシナリオが発生した場合は、基になる OS エラーに対処します。 この場合は、システム管理者とハードウェア ベンダーと協力して、ディスク デバイスがオンラインであり、正常に機能し、エラーや損傷が報告されていないことを確認してください。 このような場合は、DBCC CHECKDB を実行してディスク デバイスを復元した後に、データベースの物理的な整合性を確認する必要があります。 データベースの損傷が報告された場合は、最新の正常なデータベース バックアップを復元します。
SQL Server エラー 9001 と基になる OS エラー 170 の例
この場合、基になる OS エラー 170 は、ディスク上のファイルが他のプログラム (最も一般的にはファイル システム フィルター ドライバー) によって使用またはロックされていることを示します。
Error: 17053, Severity: 16, State: 1.
SQLServerLogMgr::LogWriter: Operating system error 170(The requested resource is in use.) encountered.
Write error during log flush.
Error: 9001, Severity: 21, State: 5.
The log for database 'SQLContoso' is not available. Check the operating system error log for related error messages. Resolve any errors and restart the database.
解決策:
同様のシナリオが発生した場合は、基になる OS エラーに対処します。 この場合は、システム管理者と協力して、データベースとログ ファイルが他のプログラムによってロックされていないことを確認してください。 最も一般的なウイルス対策またはホスト保護ソフトウェア、最適化ソフトウェア、またはファイルのロックを長時間保持するバックアップ ソフトウェアは、この OS エラーを引き起こす可能性があります。 データベース ファイルのスキャンまたは使用を除外してください。「 SQL Server を実行しているコンピューターで実行するウイルス対策ソフトウェアを選択する方法を参照してください。
WSFC (クラスター化) 環境では、ドライブがバックエンドで適切に構成されていない場合、想定されていないときにデータベース ファイルがロックされる可能性があります。 WSFC のストレージの詳細については、「 Failover クラスタリング ハードウェア ソリューションおよび Azure Virtual Machines 上の SQL Server を使用したクラスター インスタンスのフェールオーバー - ストレージ 」を参照してください。
SQL Server エラー 9002 と基になる OS エラー 112 の例
この場合、基になる OS エラー 112 は、ディスク ボリュームが領域不足であることを示します。
Error: 17053, Severity: 16, State: 1.
L:\SQLLOG\Contoso.LDF: Operating system error 112(There is not enough space on the disk.) encountered.
Error: 9002, Severity: 17, State: 5.
The transaction log for database 'ContosoDb' is full due to 'DATABASE_MIRRORING'.
Error: 5149, Severity: 16, State: 3.
MODIFY FILE encountered operating system error 112(There is not enough space on the disk.) while attempting to expand the physical file 'L:\SQLLOG\Contoso.LDF'.
解決策:
同様のシナリオが発生した場合は、基になる OS 112 エラーに対処します。 この場合、システム管理者と協力してデバイスのディスク容量を空け、その後トランザクションログ全体に対処しようとします。 エラー 9002 のトラブルシューティングの詳細な手順については、「 完全なトランザクション ログをトラブルシューティングする (SQL Server エラー 9002)」を参照してください。
エラー17053および5173の例
この場合、基礎となるOSエラー112は、データベースファイル(しばしば tempdb)がドライブの空き容量よりも大きい 初期サイズ に設定されているため、起動時に報告されます。 SQL Serverはファイルを作成したり成長させたりできず、インスタンスが起動できません。 SQL Serverが起動できないため、通常の接続ではファイルサイズを修正できません。 まずは最小限の設定でSQL Serverを立ち上げる必要があります。
2026-07-19 17:18:46.70 spid21s Error: 17053, Severity: 16, State: 1.
2026-07-19 17:18:46.70 spid21s D:\SQLTemp\Log\tempdb.ldf: Operating system error 112(There is not enough space on the disk.) encountered.
2026-07-19 17:18:46.72 spid21s Error: 5173, Severity: 16, State: 1.
2026-07-19 17:18:46.72 spid21s One or more files do not match the primary file of the database. If you are attempting to attach a database, retry the operation with the correct files. If this is an existing database, the file may be corrupted and should be restored from a backup.
2026-07-19 17:18:46.72 spid21s Error: 1802, Severity: 16, State: 4.
2026-07-19 17:18:46.72 spid21s CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
解決策:
SQL Serverが起動できず、データベースファイルの初期サイズがディスクの空き容量を超えて繰り返しクラッシュした場合:
SQL Serverサービスを最小限の設定(
-f起動パラメータ)で開始します。 これはSQL Server最小限のtempdbから始まり、専用管理者接続(DAC)を通じて接続できます。ユーザーデータベースファイルの初期サイズを確認してください:
SELECT DB_NAME(database_id) AS DatabaseName, name AS LogicalFileName, type_desc AS FileType, -- ROWS = Data file, LOG = Log file size * 8 / 1024 AS SizeMB -- Initial size in MB FROM sys.master_files WHERE database_id > 4 -- Exclude system databases ORDER BY DatabaseName, FileType;初期サイズが利用可能なディスク容量より大きい任意のファイルに対して、以下に適合する値に縮小します。
ALTER DATABASE YourDatabaseName MODIFY FILE ( NAME = YourDataFileLogicalName, SIZE = 512MB -- new initial size );DAC接続を閉じ、通常はSQL Server 構成マネージャーまたはサービスコンソールからSQL Serverサービスを再起動します。
tempdbの場合も同じ原理が適用されます。tempdbデータやログファイルの初期サイズをドライブに収めるように縮小し、その後再起動SQL Server。 サイズtempdbの詳細については、「SQL Serverにおけるtempdbパフォーマンス最適化」をご覧ください。