EXEC e Set Quoted_Identifier

Eu tenho um proc armazenado [A] que cria outro proc armazenado [B]

[A] Nunca será executado por usuários finais e não possui parâmetros ou outros dados não confiáveis. Em vez disso, é usado por mim simplesmente para automatizar a criação do complexo SP [B]. [A] Sempre terá o mesmo resultado, a menos que as alterações internas sejam alteradas. Portanto, considero que isso é seguro.

[B] requer Quoted_Identifiers ON, pois usa xml.

Se eu copiar e colar o SP gerado, ele funcionará bem, mas se eu deixar [A] criá-lo com o EXEC, o SP falhará ao executar.

Eu tentei adicionarSET QUOTED_IDENTIFIERS ON dentro de [B], mas não tem efeito perceptível.

O mesmo problema também ocorre se eu usar sp_ExecuteSQL. Também tentei configurá-lo antes de chamar [B], mas isso também parece não ter efeito (mas por que isso ocorreria em um contexto em que sempre estava ativado)?

Meu palpite é que EXEC e sp_ExecuteSQL sempre usam a configuração OFF e o comando SET é processado pelo analisador e não pelo próprio mecanismo SQL. Então, como posso fazer o EXEC criar o proc corretamente?

questionAnswers(1)

yourAnswerToTheQuestion