您可以通过堆叠数据库来绕过SQL Server Express的大小限制吗?

8kb*_*8kb 4 sql t-sql database sql-server database-design

我的公司正在使用SQL Server 2008 Express开发一个开发项目.我们计划在主表中存储的数据量将快速超过Express的4GB大小限制.我们可以用SQL Server 2008 R2购买自己一段时间,但最终我们也将超过10GB的限制.

在购买标准版许可证之前,团队负责人希望听取所有可用选项.我们公司的专业知识是SQL Server和Oracle,因此使用MySQL或PostgresSQL将被视为最后的手段.

我能想到的唯一选择是将主表水平划分为独立的不同数据库的设计.此外,还有一个中央数据库来存储有关数据存储位置的信息.

例如,2008的所有表数据将存储在DB_2008中,DB_2009中的2009数据中,依此类推.元数据表可能如下所示:

PKStartDate  PKEndDate   DBName
-----------  ----------  ----------
2008-01-01   2008-12-31  DB_2008
2009-01-01   2009-12-31  DB_2009
2010-01-01   2010-12-31  DB_2010
Run Code Online (Sandbox Code Playgroud)

此表将用于确定存储过程的数据的数据库位置.我们的大多数代码已经使用参数化的动态SQL,因此实现起来并不困难.

有没有人曾经这样做过?

这种类型的设计是否有既定的模型,还是只是一个可怕的想法?

Ben*_*n M 13

我意识到这并没有完全解决你的问题,但根据我的经验,砍掉像这样令人讨厌的kludge 总是更加昂贵 - 想想开发和维护每小时的美元,再加上你失去开发真正重要的功能的时间 - 首先要购买合适的工具.

编辑:为什么标准版而不是工作组?如果Express满足您的功能要求,Workgroup也会满足您的要求,它比标准版便宜3500美元.尽管如此,与上面描述的鞍座相比,要么是一个讨价还价 - 如果你可以通过CAL而不是处理器获得许可,那么加倍.:-)


Dav*_*kle 7

这是一个可怕的想法.IANAL,但即使使用此方案,您仍可能违反SQL Server许可.他们提供了关于"多路复用"等各种各样的精美印刷品.

即使您使用它,您也可能会遇到令人讨厌的性能和身份验证问题,并且维护数据会很麻烦.假设您的开发人员不能免费工作,购买许可证会更便宜.

不要这样做.