标签:sql-server linux windows ssms
我们正在尝试将SQL服务器数据库从Windows迁移到Linux.但我们在移民时面临的问题很少.
>我们从Windows中的SSMS备份了数据库服务器
>我们在运行以下命令的linux中恢复了它:
RESTORE FILELISTONLY FROM DISK =N'/var/opt/mssql/data/backup_file_name.bak'
RESTORE DATABASE DB_NAME
FROM DISK = N'/var/opt/mssql/backup_file_name.bak' WITH FILE = 1,
MOVE N'DB_NAME' TO N'/var/opt/mssql/data/DB_NAME.mdf',
MOVE N'DB_NAME_Log' TO N'/var/opt/mssql/data/DB_NAME.ldf',
NOUNLOAD, REPLACE, STATS = 1
GO
运行这个我或多或少会得到一个错误:
file XX_FlatFline cannot be restored to PATH_IN_WINDOWS {…..mdf}.
Use WITH MOVE to identify a valid location for the file.
我收到MDF和LDF文件的错误.上面显示的错误的Windows路径是Windows机器中mdf和ldf文件的位置.
有人可以帮我理解这里出了什么问题吗?当我将转储恢复到新数据库时,为什么Windows路径仍然重要?
警告:我是SQL Server的新手.
解决方法:
在Linux上的第一个SQL Server版本中,我看到SQL Server将路径转换为windows中的相关术语,例如,root’/’将是C:.
所以,如果存在这种逻辑,你可以试着让它成为:
FROM DISK = N’C:\var\opt\mssql\backup_file_name.bak’ WITH FILE = 1
但我认为现在正如here提到的那样
也许您应首先在Linux上检查SQL Server的版本,然后检查该文章的步骤.
标签:sql-server,linux,windows,ssms 来源: https://codeday.me/bug/20190806/1595313.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。