【问题标题】:SQL Server 2017 relative path issueSQL Server 2017 相对路径问题
【发布时间】:2018-05-19 19:04:12
【问题描述】:

迁移到 SQL Server 2017 后遇到有趣的问题。

绝对路径测试

backup database master to disk = 'C:\Temp\1\2\3\master.bak'

按预期在 C:\Temp\1\2\3\ 中创建备份。

相对路径测试#1

backup database master to disk = 'C:\Temp\1\2\3\..\master.bak'

在 C:\Temp\ 中创建备份

预期:C:\Temp\1\2\

相对路径测试#2

backup database master to disk = 'C:\Temp\11\22\33\..\master.bak'
backup database master to disk = 'C:\Temp\111\222\333\..\master.bak'
backup database master to disk = 'C:\Temp\bin\bin\bin\..\master.bak'

在文件夹 C:\Temp\11\、C:\Temp\111\、C:\Temp\bin\ 中创建备份

预期:分别为 C:\Temp\11\22\、C:\Temp\111\222\ 和 C:\Temp\bin\bin\。

相对路径测试#3

backup database master to disk = 'C:\Temp\Folder1\Folder2\Folder3\..\master.bak'
backup database master to disk = 'C:\Temp\1111\2222\3333\..\master.bak'

按预期分别在文件夹 C:\Temp\Folder1\Folder2 和 C:\Temp\1111\2222 中创建备份。

如您所见,所有相对路径都具有相同的深度,但根据文件夹名称的长度,备份文件位于不同的级别。 我无法使用 SQL Server 2014 复制此问题。 我能够在 SQL Server 2017 RTM 和 RTM-CU2 中复制此问题。

操作系统:Windows Server 2016。粘贴到 Windows 资源管理器时,路径会正确解析。

当相对路径包含短(4 个字符以下)文件夹名称时,如何使它们工作?

【问题讨论】:

  • 有趣,投了赞成票
  • 我会把它发布到微软页面,因为它可能是一个错误

标签: sql-server windows-server-2016 sql-server-2017


【解决方案1】:

已确认“Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)”

这是一个错误!但是,在玩弄它之后,我发现了一种解决方法,方法是在目录名称后添加另一个点。

backup database master to disk = 'C:\Temp\1.\2.\3.\..\master.bak'

这已成功备份到“C:\Temp\1\2\”。我没有找到为什么这有效的参考。此外,如果可能,最好远离低字符目录。

【讨论】:

  • 用更多的错误来解决错误?
【解决方案2】:

这似乎已在 SQL Server 2017 CU14(或更早版本)中得到修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-09
    • 2016-01-08
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 2016-07-10
    • 2019-03-16
    相关资源
    最近更新 更多