Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL Server VDI备份_C#_Sql Server - Fatal编程技术网

C# SQL Server VDI备份

C# SQL Server VDI备份,c#,sql-server,C#,Sql Server,我的应用程序应该备份SQL Server 2008 R2数据。当应用程序在服务器上时,它可以正常工作。当我将应用程序连接到客户端PC并连接到服务器时,服务器找不到路径 所以我决定使用VDI进行备份,找到这个页面,经过一些更改后,它在本地PC上运行良好。但当我尝试在服务器客户端上进行备份时。我无法在服务器上制作虚拟设备 看起来我需要设置VDI服务器地址才能在服务器上创建虚拟设备。之后,我将能够使用流到服务器 有人有解决办法吗?C++代码对我来说很陌生。 或者,如果还有另一种可能性,如何在远程服务器

我的应用程序应该备份SQL Server 2008 R2数据。当应用程序在服务器上时,它可以正常工作。当我将应用程序连接到客户端PC并连接到服务器时,服务器找不到路径

所以我决定使用VDI进行备份,找到这个页面,经过一些更改后,它在本地PC上运行良好。但当我尝试在服务器客户端上进行备份时。我无法在服务器上制作虚拟设备

看起来我需要设置VDI服务器地址才能在服务器上创建虚拟设备。之后,我将能够使用流到服务器

有人有解决办法吗?C++代码对我来说很陌生。 或者,如果还有另一种可能性,如何在远程服务器上创建C#应用程序备份数据库而不使用sharedFolder


谢谢,Jakub

无论您的驱动器在哪里,或者您的驱动器是什么[虚拟/物理]您都想在哪里进行备份。只要它是共享的,您就可以在那里进行备份

假设您有一台ClientPC,并且共享了一个文件夹
p:\Backup
。现在,在进行备份时,您将使用类似以下内容的UNC路径

BACKUP DATABASE [Test_DB] 
  TO  DISK = N'\\ClientPC\Backup\BackupFile.bak' 

这个问题与VDI(虚拟设备接口)有关,VDI是一种将备份流式传输到其软件的方法,即它不会使用网络共享或本地文件,而是流式传输到其代码

我知道你需要在系统管理员的角色来运行VDI,但是我不确定关于确切需求的更多信息-我很好奇是否可以通过VDI来做一些事情,并在研究中浏览了这篇文章


祝你好运

一旦共享驱动器使用UNC路径,它就应该被共享,它将解决这个问题。但这正是问题所在。客户不必拥有共享文件夹。如果他们有,他们已经映射了共享文件夹,比如光盘。所以服务器获取路径P:\Backup。但disc P是客户端PC的名称,不是服务器PC的名称。还有其他想法吗?这就是为什么我说使用UNC路径,而不是使用
P:\Backup。
使用UNC路径,它看起来像
\\ClientPC\SharedFolder\u Backup
当然,我可以这样做,但该应用程序的客户不知道如何共享文件夹等,所以我需要通过文件资源管理器通过正常单击从应用程序进行备份。我无法向他们解释如何共享文件夹,如何将计算机名写入文件路径等。你需要向他们解释,如果他们不知道如何与你共享驱动器,不要让他们这样做。这些备份内容应该由具备相应知识的人员处理,不要让任何新手靠近您的数据库,这会给您带来严重的麻烦:)