问题描述
我正在使用mcr.microsoft.com/mssql/server:2019-latest容器,并希望挂载其数据目录,以便在服务器宕机时不会丢失数据。
数据目录位于何处?该文档根本没有提到这一点。
解决方法
对于Linux上的SQL Server,这些文件默认位于/var/opt/mssql
中。毫无疑问,数据文件位于data
目录中,日志文件位于log
目录中。
这也位于文档Change the default data or log directory location中:
,filelocation.defaultdatadir和filelocation.defaultlogdir设置更改了创建新数据库和日志文件的位置。默认情况下,此位置为/ var / opt / mssql / data。
取决于OS平台以及是否已安装持久性存储
如果是Linux,则根据@Larnu答案。
对于Windows,它仍然是C:\Program Files\Microsoft SQL Server...
但是,在两种情况下,数据都具有容器的生命周期。重新启动容器后,所有更改都将消失。
对于已装入的卷,位置将由卷确定,并且数据是持久的,因此它可以在容器重启后幸存下来