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

在sql server中将表移动到新数据库,sql,sql-server,Sql,Sql Server,以下是我想做的: 我正在使用一个数据库,为简单起见,我将其命名为“d1”。我只需要从这个数据库中查询两个表。不过,我只需要从该数据库中分离过去几年的数据(这是唯一与我想做的事情相关的信息-2012年审计员报告:/)。请记住,我正在使用的数据库中有一个简单的50个表,其中包含至少6或7年的数据 可能的解决方案: 1.将数据库复制到新数据库中,删除除2012年数据以外的所有数据。 2.复制两个表并将它们放入新数据库,删除除2012数据外的所有行 在我之前的IT人员创建了2011年的数据库,并能够创建

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

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


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

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

  • 查找转储实用程序以导出表上的数据。 这种导出实用程序通常允许指定表名, 而且经常会在有条件的地方采取行动。 导出将使用SQL,并可用于填充新数据库
  • 在与源数据库相同的服务器上创建新数据库。 进行跨数据库更新。 因此,创建一个数据库db2012。 使用数据库db2012,运行以下update语句:
  • 最简单的是:

    select t.*
    into newdb..t
    from olddb..t
    where <from the last two years>
    
    选择t*
    进入newdb..t
    来自olddb..t
    哪里
    
    对于每个表。这将获得数据


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

    将数据限制为仅2012年的视图是否不起作用?您是否必须将它移动到其他服务器,而不是使用它当前所在的服务器上的视图进行查询?数据库的大小是多少?(在mdf、ndf和ldf的Mo/Go中)嗯,我有一个问题,将审计员报告放在一起。但我无法在当前数据库上运行它,因为其中包含2013年的数据。我之前的it人员告诉我,实现这一点的方法是创建一个新的数据库,并将您想要的年份的数据放入其中(例如,将2012年的数据放入2012年的数据库),这样您就无法更改查询了?数据库的大小超过3 GB是的。“t”代表一张桌子。你必须为两张桌子运行两次。还有“在哪里”?它真的能从WHERE条款中恢复过去两年吗?我以前从未见过。@user2001006。一点也不。您必须输入
    where
    条件才能实现这一点。在你的问题中,你没有给出表格的格式,所以局外人无法预测实际情况。哈哈,很抱歉。我很困惑。感谢所有回答我问题的人!!!这不是一件容易自己解决的事情。
    select t.*
    into newdb..t
    from olddb..t
    where <from the last two years>