从SQL Server数据库中删除所有数据,然后从另一个数据库重新输入数据?

时间:2011-06-08 15:07:35

标签: sql-server

我有一个过时的数据库,但我想将此数据库中的数据保存在当前工作数据库的单独版本中。我创建了当前数据库的副本,但它包含了所有新数据。有没有办法删除所有这些数据,然后从过时的数据库导入数据?

1 个答案:

答案 0 :(得分:8)

尝试此操作以删除数据:

-- disable all constraints
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"

-- delete data in all tables
EXEC sp_MSForEachTable "DELETE FROM ?"

-- enable all constraints
exec sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"

导入数据:

  1. 在Microsoft SQL Server Management Studio Express中,展开数据库。
  2. 右键单击包含要复制到另一个数据库的对象的数据库
  3. 单击Tasks,然后单击Generate Scripts ...这将打开脚本向导,这几乎是不言自明的:
  4. 选择数据库(应为您预先选择),
  5. 选择选项(第一次您可能只接受默认选择),
  6. 选择要编写脚本的对象类型(存储过程,用户定义的函数等),
  7. 选择要编写脚本的特定对象,最后指定脚本的输出位置(为方便起见,选择Script to new Query Window)。
  8. 完成后,返回带有脚本对象的查询窗口。将USE指令(第一行)更改为指向目标数据库(例如,USE [Northwind]),然后执行脚本。