2

这是我想做的事情:我正在使用一个数据库,为简单起见,我将其命名为“d1”。我只需要从这个数据库中查询两个表。不过,我只需要从该数据库中分离出去年的数据(这是与我想做的事情相关的唯一信息 - 2012 年审计师报告:/)。请记住,我正在使用的数据库中有一个简单的 50 个表,其中包含至少 6 或 7 年的数据。

可能的解决方案: 1. 将数据库复制到新数据库中,删除除 2012 数据之外的所有数据。2. 复制两张表并扔到一个新的数据库中,删除除2012年数据之外的所有行。

我之前的 IT 人员为 2011 年创建了一个数据库,并能够创建审计报告。然而,我以前从未做过这种类型的任务。任何帮助将不胜感激,我将一直关注这个问题,直到美国东部时间下午 4 点。希望我的要求是具体的,但如果不是,我会在这里等着回复你:)。谢谢!

4

2 回答 2

1

最简单的事情是:

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

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

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

于 2013-01-22T16:49:29.020 回答
1

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

  1. 查找转储实用程序以导出表上的数据。通常,此类导出实用程序将允许指定表名,并且通常会采用 where 条件。导出将在 SQL 中,可用于填充新数据库。
  2. 在与源数据库相同的服务器上创建新数据库。进行跨数据库更新。所以,创建一个数据库db2012。使用数据库 db2012,运行以下更新语句:

.

update table1
(select * from d1.table1 where year(timestamp_x) = 2012)
于 2013-01-22T16:48:11.520 回答