定义每个表的最大表大小或行数 - SQL Server 2012

时间:2016-05-16 21:02:05

标签: sql database sql-server-2012

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

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

我想知道将来如何避免这种问题。有没有"良好的礼仪手册"在使用大桌子时?任何一种预先定义的配置来防止这个问题?

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

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

谢谢。

1 个答案:

答案 0 :(得分:1)

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

我说在运行任何SELECT INTO之前,我会先SELECT COUNT(*)查看JOINWHERE子句产生的行数。如果数量是巨大的,或者如果它花费数小时甚至计算,那那就是你的警告信号。

相关问题