2013-03-25 119 views
1

我要创建我的报告purposes.As数据库表我是从交易系统我分隔条件报告系统报告的创建表时使用什么。在SQL Server 2008中的计划任务

我将创建像

  • .report_company_id_12_unique_views(用例1)
  • .report_company_id_18_unique_views
  • .report_adserver_id_22_unique_counts表(用例2)
  • .report_adserver_id_44_unique_counts ......等等

我们有50多个报告用例,大多数表格不再支持超过200行,我们必须以不同的方式处理每个用例,因为它们都是独一无二的。

但是为了这些目的,我将有大约8.000张桌子。

8.000表不健全很爽但我想使用报告分贝快速访问

这分贝只是为数据存储设计....即使有在表中没有主 键....所有的目的是只读访问其中提取数据从n *百万行表。将它视为用于报告的真实分贝的非规范化版本。我们创建表格,插入数据并在下一个时间表中删除并再次插入数据。

我的问题是工具,我应该使用此计划的任务?

  • 1.SQL代理(在那里我有写光标做处理一切)
  • 2.Windows任务图书馆,在那里我可以打电话给我的代码,并让出工艺类做的工作。
  • 3。 (一些其他的选择)

-nosql解决方案是不能接受的。 :(

我的要求,满足

  • 1.Easy调试(相对)
  • 2.很容易扩展(相对)
  • 3.易部署(绝对)
+1

如果你有8,000个表格,你做错了。你的表名建议你为每个ID创建一个。为什么? – Ben 2013-03-25 12:24:41

+0

8,000桌?你疯了!!!! – 2013-03-25 12:24:57

+0

我甚至讨厌写8.000:D。这是数据库只是为数据存储设计....表中没有主键....所有的目的是只读 – 2013-03-25 12:28:20

回答

0

antinescience

我同意,这第一个响应“这样你就不会 使用8000代表的重构”应该是。您可以使用主键 快速进行只读访问。这种类型的表没有必要膨胀 - 如果你要去做这样的基本键值存储,可以看看 NoSQL的替代方案。 - antinescience 17小时前

0

简单的回答你的问题是使用SQL Server代理,它与SQL Server集成,并为您提供您需要完成的任务的基本功能。有(从你的问题)没有任何理由使用其他软件。

这就是说,有一些缺点,特别是(在我看来)关于错误处理和通知。

您不描述创建每个表的过程。如果它从视图中选择一样简单,那么您可以设置一个报告表并循环查看最终报告的表格。

与评论一样,我认为8,000个表格表明数据模型存在问题。您应该能够将类似报告的报表合并到一个表格中(您提到50,表示50个表格),并使用其他机制为每个公司/服务器分隔报告。例如,如果他们直接访问“表”,则使用用户定义的表函数或视图,而不是使用表扩散。

+0

好吧我认为我放弃了8000表格的想法也许我应该使用Json并将表数据存储在一个表中。在一天结束的时候,我需要一个关键值store.it,我不能使用nosql系统....(人们害怕不能看到他们的数据时,不在sql服务器) – 2013-03-25 13:57:05

+0

通过这样做,我会变得不那么傲慢,并接受nosql的想法。表中的coloumns(id,JsonData(nvarchar(max)),companyid,userid,reportname,createdate) – 2013-03-25 14:08:16