SQL Запрос сервера 2019 к связанному серверу в сложной инструкции IF вызывает сброс стека - PullRequest
0 голосов
/ 03 апреля 2020

Я недавно выполнил миграцию с SQL Server 2012 на SQL Server 2019.

У меня есть запрос на связанный сервер в сложном условии if. Он проходит проверку синтаксиса и работает в 2012 году. Я получаю дамп стека в RTM 2019 или CU3

IF NOT EXISTS (SELECT NULL
               FROM [LinkedServer].master.sys.tables 
               WHERE name LIKE 'fakeTableName') 
   AND EXISTS (SELECT NULL FROM master.sys.tables)
BEGIN
   SELECT 1
END

Я получаю эту ошибку:

Msg 596, Уровень 21, Состояние 1 , Строка 0
Невозможно продолжить выполнение, поскольку сеанс находится в состоянии уничтожения.

Сообщение 0, Уровень 20, Состояние 0, Строка 0
Произошла серьезная ошибка в текущей команде. Результаты, если таковые имеются, должны быть отброшены.

Обходной путь - просто превратить его в 2 оператора if.

Может ли кто-нибудь еще подтвердить поведение?

...