Sql server Docker Linux容器中的备份SQL Server 2019失败
尝试了多种备份方法 尝试将SA作为根用户添加到容器中 Azure数据工作室 Msg 3201,16级,状态1,第1行 无法打开备份设备“/var/opt/mssql/backup//PrestigeCars-202044-8-4-52.bak”。操作系统错误2系统找不到指定的文件。。 Msg 3013,16级,状态1,第1行 备份数据库正在异常终止。 总执行时间:00:00:00.217 SSMS SQLCMD 标准SQL Server Linux映像中不存在目录/var/opt/mssql/backup。首先需要在容器中运行以下命令来创建目录:Sql server Docker Linux容器中的备份SQL Server 2019失败,sql-server,docker,ssms,sqlcmd,azure-data-studio,Sql Server,Docker,Ssms,Sqlcmd,Azure Data Studio,尝试了多种备份方法 尝试将SA作为根用户添加到容器中 Azure数据工作室 Msg 3201,16级,状态1,第1行 无法打开备份设备“/var/opt/mssql/backup//PrestigeCars-202044-8-4-52.bak”。操作系统错误2系统找不到指定的文件。。 Msg 3013,16级,状态1,第1行 备份数据库正在异常终止。 总执行时间:00:00:00.217 SSMS SQLCMD 标准SQL Server Linux映像中不存在目录/var/opt/mssql/b
mkdir /var/opt/mssql/backup
此外,正如@Larnu指出的,在路径中还有一个额外的反斜杠。备份命令应为:
BACKUP DATABASE [PrestigeCars] TO DISK = N'/var/opt/mssql/backup/PrestigeCars-202044-8-4-52.bak' WITH NOFORMAT, NOINIT, NAME = N'PrestigeCars--2020-04-04T12:04:52', NOSKIP, REWIND, NOUNLOAD, STATS = 10;
感谢你们所有的帮助。问题不是缺少文件夹,而是权限问题 文件夹最初是在将备份复制到容器时创建的:
mkdir /var/opt/mssql/backup
docker cp/Users/YourUsername/CSCI331备份/TSQLV4.bak linux-sql2k19:/var/opt/mssql/Backup/
*权限为4 drwxr xr-**x 3根根目录4096 Jan 31 19:06备份***
我尝试了各种Ubuntu创建sudo adduser命令,但是sudo或apt命令都没有成功
我发现此命令以root用户身份连接
docker exec-it-u根目录874 bash
cd/var/opt/mssql/backup/
cd
chmod 777备份
cd
chmod 777 mssql
cd
chmod 777选项
cd
chmod 777变种
关闭容器。我备份了SSMS和Azure Data Studio中的数据库。加倍耶 错误告诉了你问题所在。查看您的文件路径:backup//PrestigeCars注意两个/字符。@Larnu,默认用户是mssql,具有docker exec-it sql容器名bash。因此mkdir命令使用drwxr-xr-x创建目录,与其他sql目录相同。公平地说,我个人没有使用docker for sql Server,只是实际的Linux安装和LXD,所以不确定我为什么要发表评论。首先,该目录确实存在。它是使用docker创建的copy@PeterH,那么,删除多余的斜杠后备份工作是否正常?
mkdir /var/opt/mssql/backup
BACKUP DATABASE [PrestigeCars] TO DISK = N'/var/opt/mssql/backup/PrestigeCars-202044-8-4-52.bak' WITH NOFORMAT, NOINIT, NAME = N'PrestigeCars--2020-04-04T12:04:52', NOSKIP, REWIND, NOUNLOAD, STATS = 10;