2013-10-01 72 views
0

有一个运行SQL Server的Windows 2008 Server作为大数据解决方案。 (生产)数据库大约为1TB。现在,所有的测试和开发都是针对这台生产服务器的。为大型生产数据库创建开发环境

我被告知,复制数据库或备份数据库对于开发数据库来说是不可能的,因为没有额外的服务器可供使用。数据库的大小似乎是另一个限制,因为它很大。不仅如此,这个数据库无疑会很快增长(5TB)。

在这种情况下,如何设置开发环境来测试和开发数据库?

+10

如果您希望您的公司保持业务,请立即停止测试并针对生产进行开发。这不是一个“如果”的问题,只是一个“什么时候”出现可怕的错误,并且丢失了有价值的数据的问题。你需要一个开发环境,期限。开发数据库不必拥有生产中的所有数据,只要它具有相同的模式和合理的样本集即可处理。 –

+2

理想情况下,您的开发环境尽可能模仿生产。如果由于硬件限制而无法实现这一点,您有两种选择:(1)针对生产进行开发,或者(2)将开发数据库调低,直至满足硬件限制。 (1)非常邪恶,它要求解决方案(2),这意味着性能测试必须在实时服务器上仔细测试。对于不改变的查询,对于改变数据的查询,这可以很好......你必须有机会将逻辑错误过滤掉,只有性能现在可能成为问题。 – Wrikken

+3

//我被告知,由于没有额外的服务器使用,所以对于开发数据库来说是不可能的。//这是疯了。如果公司在财务上处于“泡沫”阶段,就不能购买一台用于开发和非生产用途的服务器。 – granadaCoder

回答

2

两个选项:

  1. 创建相同的SQL Server实例中一个新的数据库。
  2. 创建一个运行在同一物理机器上的新SQL Server实例。

我推荐后者,因为交叉风险较小,登录名和用户将全部分开,这意味着您可以保护您的生产环境免遭意外访问。

有关实例的详细信息,你可以看看here

来填充您的新实例,你可以从你的生产环境,只需要该数据的一部分设立的提取物。这样你就不必有两倍的磁盘空间。您应该可以使用Sql Server Integration Services。开始使用here

P.S.你真的应该得到一个完全独立的开发环境,但这听起来像是他们不让你参与重大决策。

+0

如果他们要这样做,他们也可以让开发者在他们的本地盒子上安装SQL Developer,并且有一个非常精细的数据版本。 – NotMe

+1

虽然我认识到我的答案的恶劣气味,并且能够理解需要打击downvote按钮的情感,但我必须指出,我是唯一一个真正回答问题的人,因为所述的限制 - 其他人都只是告诉这个可怜的人告诉他的老板做一些他不会去做的事情。 <3 –

+0

好的解释,投票改变了。 – NotMe