Ошибки · Решение
SQL Server Msg 134: переменная уже объявлена
Microsoft описывает ошибку 134 (severity 15) как повторное объявление variable name. Чаще всего один и тот же DECLARE выполняется дважды в одном batch, процедуре или склеенном дина…
Короткий ответ
Msg 134 означает: имя переменной уже объявлено; локальные переменные должны иметь уникальные имена в одном batch или stored procedure.
Что означает ошибка
Microsoft описывает ошибку 134 (severity 15) как повторное объявление variable name. Чаще всего один и тот же DECLARE выполняется дважды в одном batch, процедуре или склеенном динамическом SQL. Практический диагностический акцент этой страницы: имя повторно объявленной переменной, границы текущего GO-batch и сгенерированный SQL после подстановки шаблонов.
Возможные причины
- Одинаковая переменная объявлена дважды в одном batch.
- Скрипт из нескольких фрагментов повторяет DECLARE после объединения.
- Динамический SQL генерирует дубликат объявления.
Что проверить
- Строку, указанную после Msg 134, и имя переменной из текста.
- Все DECLARE этого имени внутри текущего GO-batch/procedure.
- Генерируемый SQL целиком, если ошибка появляется только из приложения.
- Отдельно зафиксируйте: имя повторно объявленной переменной, границы текущего GO-batch и сгенерированный SQL после подстановки шаблонов.
Безопасные шаги
- Удалите лишний DECLARE или переименуйте одну переменную.
- Если части должны быть независимыми, разделите batches там, где это корректно для логики скрипта.
- Перезапустите только исправленный запрос и убедитесь, что следующая ошибка не была скрыта Msg 134.
- Стройте следующую проверку вокруг этого контекста, не подменяя его совпадением номера в другой системе: имя повторно объявленной переменной, границы текущего GO-batch и сгенерированный SQL после подстановки шаблонов.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если Msg 134 возникает в сгенерированном коде сторонней системы, передайте разработчику полный batch и номер строки; данные/секреты из параметров удалите.
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.