2012-09-24 189 views
9

我有一个数据库DB_1其中有一个空列表T1与5列。将表从一个数据库移动到另一个数据库SQL Server

我想将此表移动到同一SQL Server上的另一个数据库DB_2

我曾尝试使用这个命令:

alter table DB_1.T1 rename DB_2.T1 

但这种示值误差。

消息102,级别15,状态1,行1个
附近有语法错误 '重命名'。

请帮忙。

回答

18

如果数据库是同一台服务器上,然后像这样做,

select * into DB_2.T1 from DB_1.[dbo].[T1] 

,如果你有在不同的服务器上的数据库比你要创建一个链接的服务器。

关于第二个想法,你可以生成“创建表的脚本”和第二数据库运行它们

+1

谢谢。这会在其他数据库DB_ @中创建具有相同列名称的表,但不会复制常量和索引。你能告诉我如何进一步进行。 –

+2

如果你必须复制常量和索引,那么最好使用SSMS,http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/17a16dc4-dcf1-4de8-baba-6949c55a4c5d/ – Buzz

+0

好的。 ..帮助帮助.. –

18

SQL Server Management Studio你有Import and Export Wizard

  1. 在数据库名称右键单击(DB_2
  2. 任务
  3. 进口数据
  4. 选择数据来源(DB_1
  5. 选择目的地(DB_2
  6. 选择copy data from one ore more tables
  7. 选择你的表(T1
  8. 完成
+2

是的,这是有效的,但'身份证明'和'外键'引用被删除,有没有解决方案? – stom

0

随着我的办公室的朋友帮助,这是我想出了解决方案。

  1. 在对象资源管理器中,转到源数据库并选择要移动的表。

  2. 右键单击脚本表为 - > CREATE TO - >新建查询编辑器窗口。这将打开查询窗口,其中SQL查询指定表上的模式,索引和约束条件。在第一线USE <DATABASE>

  3. 您可以更改表名CREATE TABLE部分,并更改...

  4. 更改数据库名称到目标数据库并执行查询。

谢谢。

+0

这会创建一个表结构,但数据仍然保留在旧表中 – Jonny

+0

@Jonny这是没有问题的,因为他说他的源表是空的。他的整个问题没有多大意义。 :) –

相关问题