使用 SMO 定位正确的备份路径

Use SMO to locate correct backup path

我正在开发一个使用 MSSQL 数据库保存数据的软件。在程序中我实现了一个用SMO创建备份的功能

现在我正在尝试实现恢复功能。当用户必须手动插入路径时,它可以毫无问题地工作。但是我想实现一个像这样的 select 文件对话框 SQL Server Management Studio (SSMS) 在 select 使用自定义媒体时打开(见屏幕截图)。

我已经用方法 EnumDirectories 找到了 Microsoft.SqlServer.Management.Smo.Server class,但是它 returns 只有目录名,没有文件。当我确认 selection 时,我需要格式为 C:\Directory\FileName.bak.

的路径

使用SMO是否可以满足我的需求?

几个月前我找到了一个解决方案。我刚刚开发了一个自定义 SelectFileDialog,它能够连接到 SQL 服务器并使用以下 SQL 函数:

搜索可用驱动器:

exec xp_fixeddrives

读取文件夹和文件:

exec xp_dirtree 'PATH', 1, 1

PATH 变量根据用户展开的文件夹动态替换。它工作没有问题。