繁体   English   中英

使用远程SQL Server上的C#从备份文件创建数据库

[英]Create database from backup file using C# on the remote SQL Server

我已经备份了数据库。

在程序中对其进行编辑后,它是一个新的newDb.bak文件(在我的PC上)。

如果我有连接字符串(我知道ip,登录名和密码),如何在远程SQL Server上还原此新数据库?

主要是我必须仅使用C#(而不是SQL Server Management Studio)来执行此操作。

不幸的是,没有任何直接方法可以从本地备份文件远程还原数据库。

但是另一种解决方案是在某些位置(无论本地端还是服务器端)共享客户端和服务器都可以访问的位置。 更新:另外,请确保将要执行还原的SQL Server具有将备份复制到的目录的权限。– @KSib)然后从file还原数据库:

  1. newDb.bak复制到服务器上的\\\\serverip\\$sharedfolder\\newDb.bak
  2. RESTORE DATABASE YOURDB FROM DISK = N'\\\\serverip\\$sharedfolder\\newDb.bak';

如果您愿意,我可以在C#共享恢复数据库的源代码。

更新 :另一个解决方案是创建一个包含varbinary列的表,通过SqlCommandSqlBulkCopy将备份文件的内容从本地插入到其中,然后通过bcp将文件内容导出到服务器中的某些位置,例如:

BCP "SELECT FileContent FROM createdTable WHERE ID = 1000" queryout "C:\\newDB.bak" -T

然后,您可以轻松执行restore命令!

您还可以创建一个包含事务的服务器端StoredProcedure ,以将文件内容作为输入参数并将所有命令作为一个事务执行。

希望对您有所帮助:)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM