Meus experimentos sugerem que o Query Store não rastreia procedimentos armazenados estendidos. No entanto, cada um deles tem seu próprio comportamento individual. Não sou nem iniciante no tópico de procedimentos armazenados estendidos e tentei apenas alguns. Procuro uma maneira definitiva de saber se o Query Store pode rastrear qualquer procedimento armazenado estendido.
Existe algum dos seguintes?
- Uma razão arquitetônica pela qual o Query Store não consegue rastrear nenhum procedimento armazenado estendido (por exemplo, acho que aqueles que tentei não têm planos de consulta, mas não sei se isso se aplica a todos os procedimentos armazenados estendidos).
- Documentação que afirma claramente que o Query Store não rastreia nenhum procedimento armazenado estendido. Não consegui encontrar nenhum.
- Código que prova que o Query Store pode rastrear pelo menos um procedimento armazenado estendido.
Em uma palavra, não .
Um procedimento armazenado estendido é muito diferente de um procedimento armazenado. (A semelhança nos nomes é lamentável.)
Um procedimento armazenado normalmente é um código T-SQL e normalmente executa ações em vários objetos em um banco de dados SQL. Essas ações são o tipo de coisa que o Query Store pode rastrear.
Por outro lado, um procedimento armazenado estendido normalmente é escrito em uma linguagem de programação externa, como C ou C++. Esse código normalmente realiza atividades não SQL, geralmente na forma de uma função implementada em uma DLL. Como tal, essas atividades não são o tipo de coisa que o Query Store pode rastrear.
Se o código do procedimento armazenado estendido retornar ao banco de dados SQL para fazer algo, o Query Store poderá acabar tendo visibilidade desse algo . Mesmo assim, isso é apenas o Query Store que rastreia as ações SQL - não rastreia o procedimento armazenado estendido.
Nota de depreciação:
Os procedimentos armazenados estendidos criados pelo usuário estão no caminho de descontinuação. Consulte Recursos obsoletos do Mecanismo de Banco de Dados no SQL Server 2016 (13.x) . E em Consultar procedimentos armazenados estendidos instalados no SQL Server :