将SQL Server Express表迁移到SQL Server数据库

时间:2011-09-09 17:07:12

标签: c# sql sql-server sql-server-express

我有一个本地SQL Server Express数据库,我想将其复制到服务器上的SQL Server数据库。我没有对服务器的完全权限,所以我不能直接附加它。有人告诉我,我可以使用SqlBulkCopy[MSDN]类来完成这项工作。

我无法弄清楚如何使用它。我没有做足够的数据库编程来熟悉这种事情是如何完成的。

基本上,我想将一个数据库中的所有表复制到另一个数据库中。表格之间存在关系,我不知道这是否会对复制产生影响。不是很多,所以只复制数据然后手动重新分配关系并不是什么大问题。

这是我可以去的

var localDatabase = new SqlConnection("connection string");
var serverDatabase = new SqlConnection("other connection string");
SomehowCopyAllTables(localDatabase, serverDatabase);

但不幸的是,C#先生并不想承认SomehowCopyAllTables方法的存在。

如何将所有表从一个数据库复制到另一个数据库?

4 个答案:

答案 0 :(得分:4)

在SQL Server Management Studio中使用SQL Server的Generate Scripts命令。

  • 右键单击数据库;任务 - >生成脚本
  • 选择您的表格,然后点击下一步
  • 点击“高级”按钮
  • 查找脚本的数据类型 - 根据需要做出选择:是否包含数据。
  • 然后您可以选择保存到文件,或者放入新的查询窗口。
  • 为项目符号2中选择的所有表格数据生成INSERT个语句。
  • 将新查询窗口中的输出复制/粘贴到目标服务器上。

SQL Server Generate Scripts Data

答案 1 :(得分:2)

从我的角度来看,最好的方法是在SQL Express中创建SQL脚本并在服务器上执行生成的脚本。整个数据将被复制。

答案 2 :(得分:2)

从Sql Server Management Studio生成数据库脚本:

  1. 右键单击数据库
  2. 选择任务 - >生成脚本
  3. (如果您获得介绍屏幕,请单击“下一步”)
  4. 选择“选择特定数据库对象”
  5. 选择对象以生成脚本(表,存储过程等等)
  6. 单击“下一步”,然后指定输出文件名
  7. 单击“完成”以生成脚本
  8. 这将仅生成模式。如果您还要执行数据生成脚本,请在步骤6)中单击“高级”按钮并向下滚动到“脚本数据类型”,然后将其从“仅架构”更改为“仅数据”或“架构和数据”

答案 3 :(得分:0)

简单地使用Atlantis Interactive的Schema InspectorData Inspector可能更容易,而不是自己编程。只需将架构与当前系统上的空白数据库进行比较即可。