【发布时间】:2010-09-08 22:42:29
【问题描述】:
我正在编写一个通过 FTP 下载压缩数据库备份的 C# 应用程序。然后,应用程序需要提取备份并将其恢复到默认数据库位置。
我不知道将在运行应用程序的机器上安装哪个版本的 SQL Server。因此,我需要根据实例名称(在配置文件中)找到默认位置。
我发现的所有示例都有一个可以读取的注册表项,但这不起作用,因为这假定只安装了一个 SQL 实例。
我发现另一个示例创建了一个数据库,读取该数据库的文件属性,完成后删除数据库。太麻烦了。
我确实在 .NET 框架中找到了一些应该可以工作的东西,即:
Microsoft.SqlServer.Management.Smo.Server(ServerName).Settings.DefaultFile
问题是这会返回空字符串,这无济于事。
我还需要找出运行 SQL 服务的 NT 帐户,以便在提取备份文件后授予该用户对备份文件的读取权限。
【问题讨论】: