Ответ 1
Таблица spt_values
не упоминается в документации SQL Server, но возвращается к дням Sybase и существует крайне минимальная документация в онлайн-документах Sybase, которые можно суммировать в этом комментарии:
Чтобы узнать, как он используется, выполните sp_helptext и посмотрите текст для одна из системных процедур, которая ссылается на нее.
Другими словами, прочитайте код и выполните его сами.
Если вы выкалываете системные хранимые процедуры и просматриваете сами данные таблицы, довольно ясно, что таблица используется для перевода кодов в читаемые строки (между прочим). Или, как указано в документации Sybase, связанной выше, "для преобразования внутренних системных значений [...] в удобочитаемый формат"
Таблица также иногда используется в фрагментах кода в блогах MSDN - но никогда в официальной документации - обычно как удобный источник списка номера. Но, как обсуждалось в в другом месте, создание собственного источника чисел является более безопасным и надежным решением, чем использование недокументированной системной таблицы. Существует даже запрос Connect, чтобы обеспечить "правильную", задокументированную таблицу номеров в самом SQL-сервере.
В любом случае, таблица полностью недокументирована, поэтому нет никакой значимой ценности, зная об этом, по крайней мере, с практической точки зрения: следующий служебный пакет или обновление могут полностью его изменить. Разумеется, интеллектуальное любопытство - это что-то другое: -)