如何将表从一个SQL Server数据库移动到另一个?

Jef*_*mer 12 sql sql-server sql-server-2005

我们有一个数据库已经增长到大约50GB,我们想从该数据库中提取一组特定的表(大约20个)并将它们移动到一个新的数据库中.所有这些都将在同一个SQL Server上.我们想要提取的表大约是12GB的空间(6GB数据,6GB索引).

我们如何将表从一个数据库移动到另一个数据库,但是确保在新数据库中创建的表是原始数据(索引,键等)的精确副本?理想情况下,我想从SQL Server Management Studio中复制/粘贴,但我知道这不存在,那么我的选择是什么?

dal*_*lin 27

要使用SQL Server 2008 Management Studio轻松完成此操作:

1.)右键单击数据库(而不是表)并选择Tasks - > Generate Scripts

工具的位置

2.)单击第一页上的"下一步"

3.)如果要复制整个数据库,只需单击"下一步".如果要复制特定表,请单击"选择特定数据库对象",选择所需的表,然后单击"下一步".

4.)选择"保存到剪贴板"或"保存到文件".重要信息:单击"保存到文件"旁边的"高级"按钮,找到"脚本的数据类型",并将"仅架构"更改为"架构和数据"(如果要创建表)或"仅数据"(如果您要将数据复制到现有表格中).这也是您设置其他选项的地方,例如确切要复制的键等.

将数据添加到脚本中

5.)点击其余部分,你就完成了!


Joe*_*lli 7

如果您因为增长而将表移动到一个全新的数据库,那么考虑在现有数据库中使用文件组可能会更好.与尝试处理两个独立的数据库相比,将来会有更少的麻烦.

编辑

正如我在下面的评论中提到的,如果您确实需要一个新的数据库,根据所涉及的表的总数,可能更容易以新名称还原数据库的备份并删除您不想要的表.