gpt4 book ai didi

c# - 从远程 SQL Server 获取备份

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:43 25 4
gpt4 key购买 nike

我正在编写一个程序来创建数据库的备份,之后我需要能够在我的程序中访问备份文件。用户应该只提供与数据库的连接信息。服务器和客户端在同一个网络上,但不一定在同一个域中。该程序以管理员身份运行。

我最初的计划是使用 WMI 在客户端上创建一个共享,然后以该共享作为目标执行备份。但是我遇到了身份验证问题。我想我需要一种方法来创建一个共享,每个人都可以在不提示登录的情况下连接。

这必须适用于 Windows XP 和 7。

这可能吗?还有其他解决方案吗?

最佳答案

我不太清楚你的意思:

I'm writing a program to create a backup of a database and I need to be able to access the backup file in my program afterwards.

如果您的意思是客户端需要恢复备份,您实际上可以务实地做到这一点。

备份示例:

using (SqlConnection defaultSqlConnection = new SqlConnection("Insert Connection String Here"))
{
string backupDb = "BACKUP DATABASE [DatabaseName] TO DISK = 'C:\\Users\\Account\\Desktop\\Database Name.bak'";

using (SqlCommand backupCommand = new SqlCommand(backupDb, defaultSqlConnection))
{
defaultSqlConnection.Open();
backupCommand.ExecuteNonQuery();
}
}

如您所见,我们的应用程序使用 SQL 创建备份很简单。由于恢复的方法不同,恢复过程有点复杂。您可以找到语法 here .如果您结合我的原始示例,只需使用 Restore 语法,它应该可以正常工作。

显然你可能会遇到这样的问题:

  • 多个用户使用数据库
  • 读取/写入网络共享的权限。

您还需要确保针对多个方面进行良好的异常处理和测试,以确保任务正确完成。

希望这能为您指明正确的方向,我相信 CodePlex 有一个实用程序可以完成许多 MSSQL 功能,例如:验证、恢复、备份和创建 .

关于c# - 从远程 SQL Server 获取备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17091849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com