我们有一个已经增长到大约50 of的数据库,我们想从该数据库中取出一组特定的表(大约20个),并将它们移动到一个新数据库中。所有这些都将位于同一个SQL Server上。我们要提取的表大约有12 6GB的空间(6 6GB的数据,6 6GB的索引)。
如何将表从一个数据库移动到另一个数据库,同时确保在新数据库中创建的表是原始数据库(索引、键等)的精确副本?理想情况下,我希望从SQL Server Management Studio中复制/粘贴,但我知道这不存在,那么我有什么选择?
发布于 2010-08-27 03:31:17
如果只是因为数据库的增长而将表移动到一个全新的数据库中,那么最好考虑在现有数据库中使用filegroups。与尝试处理两个独立的数据库相比,今后将会有更少的麻烦。
编辑
正如我在下面的评论中提到的,如果您确实需要一个新的数据库,根据涉及的表的总数,使用新名称恢复数据库的备份并删除不需要的表可能会更容易。
发布于 2013-07-16 03:11:25
要使用SQL Server 2008 Management Studio轻松完成此操作,请执行以下操作:
1.)右键单击数据库(而不是表),然后选择Tasks -> Generate Scripts

2.)在第一页上单击下一步
3.)如果要复制整个数据库,只需单击“下一步”。如果要复制特定表,请单击“选择特定数据库对象”,选择所需的表,然后单击“下一步”。
4.)选择“保存到剪贴板”或“保存到文件”。重要信息:单击“保存到文件”旁边的“高级”按钮,找到"Types of data to “,然后将"Schema only”更改为"Schema data“(如果要创建表)或"Data only”(如果要将数据复制到现有表)。这也是您设置其他选项的地方,例如确切地复制哪些关键点等。

5.)点击剩下的部分,你就完成了!
发布于 2010-08-27 21:52:05
我也使用SQL Server Management Studio找到了这个潜在的解决方案。您可以为要移动的特定表生成脚本,然后使用SQL Server Management Studio中的“生成脚本向导”和“导入/导出向导”导出数据。然后,在新数据库上运行脚本以创建所有对象,然后导入数据。我们可能会使用@Joe Stefanelli的答案中描述的备份/还原方法,但我确实找到了这种方法,并希望将其发布给其他人查看。
要为对象生成sql脚本:
要从表中导出数据,请执行以下操作:
然后创建新数据库,运行脚本以创建所有对象,然后导入数据。
https://stackoverflow.com/questions/3578742
复制相似问题