【发布时间】:2020-02-29 12:48:27
【问题描述】:
在 C# 应用程序中,我知道使用 ADO.NET 我们可以执行如下备份命令:
BACKUP DATABASE MyDb TO DISK='C:\\MyDb.bak'
并进行数据库备份并将其存储在某个给定位置。
我想备份内存中的数据库,即返回备份脚本内容(模式和数据),稍后我可以将其保存为 .sql 文件在某个位置。
这可能吗?
【问题讨论】:
-
T-SQL 中的
BACKUP DATABASE命令确实不返回基于 SQL 的“脚本文件”或任何东西 - 它是专有的 二进制文件仅限格式。 -
是的。我知道的。这里我的意思是将我们生成脚本时获得的模式和数据返回到新窗口
-
正如我所说 - 你不能为此使用
BACKUP DATABASE。没有选项或开关可以使此命令返回 SQL 脚本以创建数据库对象并填写数据.... -
我的主要问题是用于 SQL 的用户没有运行权限,即在磁盘上创建任何物理文件。所以我想在内存中获取架构和数据
-
要备份数据库,最简单的方法是进行 Deattach。然后将 MDF 文件复制到 windows 中。最后将 MDF 文件重新附加到服务器。仅当您要备份数据库的各个部分时,备份才有用。对于大文件,我会推荐一种 SQL 命令行工具。请参阅:docs.microsoft.com/en-us/sql/tools/…
标签: c# asp.net sql-server asp.net-mvc