在迁移到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 Explorer时,路径被正确解析。
如何使包含短(少于4个字符)文件夹名称的相对路径起作用?