Основная проблема с глобальными временными таблицами заключается в том, что имена должны быть уникальными во всех сеансах, для локальных временных таблиц - только в пределах сеанса. В результате на практике локальные временные таблицы обычно более практичны. Локальные временные таблицы также более безопасны, если они содержат данные, которые должны видеть не все пользователи сервера.
Иногда я нахожу глобальные временные таблицы полезными при создании их в динамическом SQL и желании их выживания, когда динамический SQL перестает быть доступным во внешней области.
Это только то, что я использую, однако, при специальных запросах. В рабочем коде это было бы довольно вонючим по нескольким причинам.
Опять же, для специальных запросов возможность проверки хода процесса, выполняющего запись в глобальную временную таблицу из другого соединения SSMS, также иногда может оказаться весьма полезной.