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

C#SQL还原数据库到默认数据位置,第1张

概述我正在编写一个C#应用程序,它通过FTP下载压缩数据库备份.然后,应用程序需要提取备份并将其还原默认数据库位置. 我不知道在运行应用程序的机器上将安装哪个版本的SQL Server.因此,我需要根据实例名称(在配置文件中)找到默认位置. 我发现的示例都有一个他们读取的注册表项,但这不起作用,因为这假定只安装了一个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#SQL还原数据库到默认数据位置全部内容,希望文章能够帮你解决C#SQL还原数据库到默认数据位置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1234359.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存