Symptoms

Assume that you run a SQL Server 2017 Linux container image on Docker for Windows. When Docker images are used to provision containers and you use volume mount location (default location of /var/opt/mssql) or any parent directory, SQL Server will not start. Additionally, you receive an error message that resembles the following:

date time spid6s Error: 17053, Severity: 16, State: 1.
date time spid6s /var/opt/mssql/data/mastlog.ldf: Operating system error 31(A device attached to the system is not functioning.) encountered.
date time spid6s Error: 9002, Severity: 17, State: 0.
date time spid6s The transaction log for database 'master' is full because of 'NOTHING'.
date time spid6s Error: 928, Severity: 20, State: 1.

Cause

This issue occurs because the directory from Windows is mounted as Common Internet File System (CIFS) inside the Docker container. CIFS is not officially supported as a file system by SQL Server on Linux.

Resolution

The fix for this problem is included in the following update for SQL Server:

Cumulative Update 7 for SQL Server 2017

About SQL Server builds

Each new build for SQL Server contains all the hotfixes and security fixes that were in the previous build. We recommend that you install the latest build for your version of SQL Server:

The latest build for SQL Server 2017

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References

Learn about the standard terminology Microsoft uses to describe software updates.

The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

What affected your experience?

Thank you for your feedback!

×