使用SMO找到正确的备份路径

时间:2016-09-09 12:20:48

标签: c# restore openfiledialog smo

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

现在我正在尝试实现恢复功能。当用户必须手动插入路径时,它可以正常工作。但是我想实现一个选择文件对话框,就像SQL Server Management Studio(SSMS)在选择自定义媒体时打开的那样(参见截图)。 SSMS Select dialog

我已经使用方法Microsoft.SqlServer.Management.Smo.Server找到了EnumDirectories类,但它只返回目录名而没有文件。当我确认选择时,我需要格式为 C:\ Directory \ FileName.bak 的路径。

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

1 个答案:

答案 0 :(得分:0)

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

搜索可用的驱动器:

exec xp_fixeddrives

用于阅读文件夹和文件:

exec xp_dirtree 'PATH', 1, 1

动态替换 PATH 变量取决于用户展开的文件夹。它没有问题。