Как насчет этого:
constant long TWO_G = (2*1024*1024*1024);
constant long MARGIN = (8 * 1024 * 1024);
string pathToMonsterMdb = "monster.mdb";
FileInfo mdb = new FileInfo(pathToMonsterMdb);
long len = mdb.Length;
if (len > (TWO_G - MARGIN) {
/* File's getting close to max size. Deal with it. */
}
Конечно, реальный вопрос на самом деле, что делать с этой проблемой. Имея базу данных такого размера, вы, вероятно, захотите перейти на более надежный сервер таблиц.
Если вы установили MARGIN достаточно большим, вы можете запускать его реже, чем после каждой отдельной вставки.