C#SQL还原数据库到默认数据位置

前端之家收集整理的这篇文章主要介绍了C#SQL还原数据库到默认数据位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个C#应用程序,它通过FTP下载压缩数据库备份.然后,应用程序需要提取备份并将其还原到默认数据库位置.

我不知道在运行应用程序的机器上将安装哪个版本的sql Server.因此,我需要根据实例名称(在配置文件中)找到默认位置.

我发现的示例都有一个他们读取的注册表项,但这不起作用,因为这假定只安装了一个sql实例.

我发现的另一个例子是创建了一个数据库,读取了该数据库文件属性,一旦完成就删除数据库.那太麻烦了.

我确实在.NET框架中找到了应该工作的东西,即:

Microsoft.sqlServer.Management.Smo.Server(ServerName).Settings.DefaultFile

问题是这是返回空字符串,这没有帮助.

我还需要找出运行sql服务的NT帐户,这样一旦我提取了该用户,我就可以在备份文件上授予该用户的读访问权限.

解决方法

我发现的是
Microsoft.sqlServer.Management.Smo.Server(ServerName).Settings.DefaultFile

仅在没有显式定义路径时才返回非null.只要指定的路径不是默认路径,则此函数会正确返回该路径.

因此,一个简单的解决方法是检查此函数是返回字符串,还是null.如果它返回一个字符串,那么使用它,但是如果它为null,则使用

Microsoft.sqlServer.Management.Smo.Server(ServerName).Information.RootDirectory + "\\DATA\\"

猜你在找的C&C++相关文章