2016-05-16 24 views
0

有没有办法定义每个表的最大大小或表中的最大行数? (对于SELECT INTO new_table操作)定义每个表的最大表大小或行数 - SQL Server 2012

我正在使用SELECT INTO和JOINS表中有大约7000万行的表,并且发生了在ON条件中犯了错误。因此,此连接操作的结果创建了一个大于数据库大小限制的表。数据库崩溃并进入恢复模式(剩下2天)

我想知道如何避免将来出现这类问题。使用巨大的桌子时是否有任何“礼貌手册”?任何类型的预定义配置,以防止此问题?

我没有代码,但正如我所说,它基本上是一个左连接,结果通过SELECT INTO插入到新表中。

PS:我对SQL SERVER或任何其他关系数据库没有太多经验。

谢谢。

回答

1

SET ROWCOUNT 10000本来可以做到不超过10,000行插入。但是,虽然这可以防止损坏,但它也会掩盖您对SQL查询所犯的错误。

我想说,运行任何SELECT INTO之前,我会做一个SELECT COUNT(*),看看有多少行我JOINWHERE子句产生。如果计数是巨大的,或者如果它用了几个小时甚至想出一计,那是你的警告标志。