将表移动到sql server中的新数据库

时间:2013-01-22 16:35:41

标签: sql sql-server

继承人我想做的事: 我正在使用一个数据库,为简单起见,我将其命名为“d1”。我只需要从这个数据库中查询两个表。我需要仅隔离去年数据来自这个数据库(这是我想要做的唯一信息 - 2012年审计报告:/)。请记住,我正在使用的数据库中有50个表格,其中包含至少6或7年的数据。

可能的解决方案: 1.将数据库复制到新数据库,删除除2012数据以外的所有内容 2.复制两个表并将它们放入新数据库,删除除2012数据之外的所有行。

I.T.我之前的人创建了2011年的数据库,并能够创建审计报告。但是,我之前从未做过这种类型的任务。非常感谢任何帮助,我将在美国东部时间下午4点前看到这个问题。希望我在我的要求中具体,但如果没有,我会在这里等着回复你:)。谢谢!

2 个答案:

答案 0 :(得分:1)

我对SQL Server可用的实用程序并不完全了解,但基于其他可用的实用程序,

  1. 查找转储实用程序以导出表上的数据。 通常这样的导出实用程序将允许指定表名, 并经常会采取条件。 导出将在SQL中,并可用于填充新数据库。
  2. 在与源数据库相同的服务器上创建新数据库。 进行跨数据库更新。 所以,创建一个数据库db2012。 使用数据库db2012,运行以下更新语句:
  3. update table1
    (select * from d1.table1 where year(timestamp_x) = 2012)
    

答案 1 :(得分:1)

最简单的事情是:

select t.*
into newdb..t
from olddb..t
where <from the last two years>

对于每个表格。这将获得数据。

如果您需要其他内容(索引,约束等),请编写表定义脚本,在新数据库中重新创建它们,然后插入现有表中的数据。