Этот вид звучит как домашнее задание. Если акцент действительно сделан на том, чтобы вопрос никогда не повторялся до тех пор, пока это не станет абсолютно необходимым, тогда я бы предложил добавить столбец или другую таблицу.с полем TimesUsed.
Сначала у вас будет все 3000 записей с TimesUsed 0. Возьмите 10
SELECT TOP 10 QUESTIONS WHERE TimesUsed = (SELECT MIN(TimesUsed) FROM Questions)
и ОБНОВИТЕ таблицу, в которой для этого вопроса TimesUsed установлено значение TimesUsed +1.
Это простой подход, и вам придется учитывать, если у вас не было количества вопросов, поровну делимых на 10, но я оставлю это вам:)
Конечно, все это на самом деле не имеет значения, если вы не устали от того, что никогда не повторяете одно, пока все они не будут использованы.