0

我有一个名为“RawNews”的表,其中包含以下字段:

[NewsID] [decimal](18, 0) IDENTITY(1,1) NOT NULL,
[Title] [nvarchar](200) NULL,
[Description] [nvarchar](500) NULL,
[Text] [ntext] NULL,
[RegDate] [nvarchar](50) NULL,
[RegTime] [time](0) NULL,
[Status] [nvarchar](300) NULL,
[Tags] [nvarchar](50) NULL,
[SecurityLevelID] [smallint] NULL,
[IsDeleted] [bit] NULL,
[DelDate] [nchar](10) NULL,
[UserName] [nvarchar](50) NULL,

另一个名为“UsedNews”的表具有相同的字段和一些其他字段。还有一些其他表与这些表相关联,例如上传、图像、新闻组、新闻室、用户等。

在 RawNews 中,我每天有 100 条记录。以及 UsedNews 的这 100 条记录。这些信息应该永远保存。我想请你给我一个好的方法也让记录存档,所以搜索和过滤性能仍然很好。还有一个问题:我有记录系统中每个事件的日志表,我应该将它保存在单独的数据库中吗?多谢

4

2 回答 2

1

我建议表分区来解决这个问题。RegDate 可用于确定是否应将记录移至归档组。

您可以选择将存档表放在单独的磁盘上,这样当可能对其进行搜索时,它对“实时”数据库的其余部分的影响可能最小。

于 2013-09-07T20:14:26.660 回答
0

有很多方法可以做到这一点..

  1. 您可以使用 SQL Server 的适当“复制”功能。在您的情况下,快照复制类型似乎适合更多详细信息单击

  2. 您可以创建 Windows 服务以将数据从 RawNews 移动到 UsedNews。

  3. 您可以创建一个 exe 来移动数据,并使用 Windows 任务计划程序,您可以在服务器负载较少的特定时间调用该 exe。

于 2013-09-07T18:21:16.550 回答