Partilhar via


Relatórios personalizados no SQL Server Management Studio

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

No SQL Server Management Studio, muitos nós do Pesquisador de Objetos exibem um conjunto de relatórios padrão criados pela Microsoft. Esses relatórios resumem as informações do servidor normalmente solicitadas. Os administradores podem executar relatórios personalizados criados no SSDT (SQL Server Data Tools) a partir do Management Studio.

Execução

Os relatórios personalizados são armazenados como arquivos de definição de relatório (.rdl) e são criados usando RDL (Report Definition Language). RDL contém recuperação de dados e informações de layout para um relatório em um formato XML. RDL é um esquema aberto. Os desenvolvedores podem estender o RDL com atributos e elementos extras. Os relatórios podem executar qualquer instrução Transact-SQL válida dentro do relatório.

Se o Pesquisador de Objetos estiver conectado a um servidor, os relatórios personalizados poderão ser executados no contexto da seleção atual do Pesquisador de Objetos se os relatórios fizerem referência aos parâmetros de relatório desse nó. Isso permite que um relatório use o contexto atual, como o banco de dados atual; ou um contexto consistente, como especificar um banco de dados designado como parte da instrução Transact-SQL contida no relatório personalizado.

Executar um relatório personalizado

Você pode executar um relatório personalizado no Management Studio das seguintes maneiras:

  • Clique com o botão direito do rato num nó no Explorador de Objetos, vá a Relatórios>Personalizados. Na caixa de diálogo Abrir Ficheiro , localize uma pasta que contenha .rdl ficheiros e, em seguida, abra o ficheiro de relatório adequado.

  • Clique com o botão direito do mouse em um nó no Pesquisador de Objetos, vá para Relatórios>Personalizados e selecione um relatório personalizado na lista de arquivos usados mais recentemente.

Limitações

Ao trabalhar com relatórios personalizados, considere as seguintes limitações:

  • Para evitar a execução não intencional de código mal-intencionado, o Management Studio não pode ser configurado para executar automaticamente um relatório, mesmo que o sistema de arquivos esteja configurado para associar .rdl arquivos ao Management Studio. Os relatórios não podem ser executados programaticamente no Management Studio e não podem ser executados a partir da linha de comando através do Management Studio.

  • Você pode executar relatórios personalizados em um contexto que não produz os valores esperados. Por exemplo, você pode executar um relatório sobre replicação no contexto de um banco de dados que não está envolvido na replicação ou executar um relatório como um usuário que não tem permissão para acessar informações necessárias para gerar um relatório preciso. O criador do relatório personalizado é responsável pela validade da estrutura do relatório e seu contexto.

  • Não é possível adicionar um relatório personalizado à lista de relatórios padrão.

  • O código processado pelo relatório pode afetar o desempenho do servidor.

  • Os relatórios personalizados não suportam sub-relatórios.

  • O texto do comando para cada consulta dentro do relatório não deve ser definido por meio de uma expressão.

  • Qualquer parâmetro de consulta usado em um comando (consulta) só pode fazer referência a um único parâmetro de relatório e não pode usar nenhum operador de expressão.

  • Somente os tipos de comando Texto e Procedimento Armazenado são suportados para comandos de relatório (consultas).

  • A estrutura de relatório não fornece nenhum parâmetro que escape para as consultas. Os autores de consultas devem certificar-se de que suas consultas estão livres de ataques de injeção de SQL.

Gerenciar relatórios personalizados

Recomendamos que os usuários que têm muitos relatórios personalizados os organizem usando pastas do sistema de arquivos que tenham permissões apropriadas do sistema de arquivos NTFS.

Permissões

Os relatórios personalizados são executados usando as permissões do usuário atual. Para evitar que um usuário mal-intencionado altere as consultas executadas pelo relatório, as permissões na pasta do sistema de arquivos que contém os arquivos de relatório devem ser definidas para restringir o acesso.

Tanto o usuário quanto a conta usada pelo serviço SQL Server exigem acesso de leitura à pasta do sistema de arquivos que contém os arquivos de relatório.

Qualquer comando válido do .NET Framework pode ser incorporado em um relatório, mas o comando não é executado.

Atenção

Qualquer instrução Transact-SQL válida pode ser incorporada e executada a partir de um relatório. A execução de um relatório em uma conta de usuário com privilégios elevados possibilita que qualquer uma dessas instruções incorporadas seja executada sem desafio.