2011-09-09 198 views
2

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

我找不出如何使用它。我没有做足够的数据库编程来熟悉这种事情是如何完成的。

基本上,我想复制一个数据库中的所有表到另一个。表格之间有关系,我不知道这是否会影响复制。不是很多,所以仅仅复制数据然后手动重新分配关系并不重要。

这是据我可以去

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

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

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

+0

你解决了吗? –

+0

@ p.campbell感谢您检查我!我其实昨天终于做到了。我得到了用于复制表格的脚本,但我必须将数据导出为CSV,然后将数据从CSV导入到服务器上的数据库中。 –

回答

4

在SQL Server Management Studio中使用SQL Server的生成脚本命令。

  • 右键单击数据库;任务 - >生成脚本
  • 选择表,单击下一步
  • 单击高级按钮数据
  • 查找类型的脚本 - 做出选择,只要你喜欢:包括数据或不。
  • 然后你可以选择保存到文件,或放入新的查询窗口。
  • 结果INSERT对于在项目符号2中选择的所有表格数据的声明。
  • 将新查询窗口中的输出复制/粘贴到目标服务器上。

SQL Server Generate Scripts Data

2

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

+0

当然,但我该怎么做? –

+0

尝试MSDN上的此链接:http://msdn.microsoft.com/en-us/library/ms178078.aspx – hsalimi

+0

您可以通过加载Sql Server Management Studio在对象资源管理器中打开Express实例来生成脚本,选择您的数据库,右键单击并选择任务 - >生成脚本...请参阅http://msdn.microsoft.com/en-us/library/ms178078.aspx以获取更多详细信息。 –

2

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

  1. 右击数据库
  2. 选择任务 - >生成脚本
  3. (如果你的点击next介绍屏幕)
  4. 选择“选择特定的数据库对象”
  5. 选择的对象生成脚本(表,存储过程等)
  6. 点击下一步,然后指定输出文件名
  7. 单击Finish生成脚本

这将生成仅限架构。如果您还想执行数据生成脚本,请在步骤6)中单击高级按钮并向下滚动到“脚本数据类型”,并将其从“仅架构”更改为“仅数据”或“架构和数据”

0

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

相关问题