AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 10406
Accepted
RaoulRubin
RaoulRubin
Asked: 2012-01-10 12:40:50 +0800 CST2012-01-10 12:40:50 +0800 CST 2012-01-10 12:40:50 +0800 CST

Há algum risco em conceder aos usuários a permissão SHOWPLAN do SQL Server?

  • 772

Estou fazendo alguns ajustes de desempenho em um grande banco de dados SQL Server 2008 e o grupo de TI não está disposto a conceder permissão SHOWPLAN. No passado, "Mostrar Plano de Execução" era a maneira mais eficaz de entender o desempenho de consultas e procedimentos individuais.

Quais são os riscos inerentes à concessão dessa permissão? Existe uma justificativa legítima para essa restrição em uma cópia de desenvolvimento do banco de dados?

Observação: esse grupo de TI do SQL tem mais de 200 bancos de dados em uma única instância do SQL Server. Obrigado.

Resposta : Estou considerando a falta de resposta como significando que não há riscos de segurança significativos, além do indicado abaixo. Basicamente, restringir isso em um banco de dados de desenvolvimento é contraproducente.

Vou atualizar isso se alguém vier com uma resposta melhor. Obrigado por seus comentários!

sql-server sql-server-2008
  • 1 1 respostas
  • 20333 Views

1 respostas

  • Voted
  1. Best Answer
    user5094
    2012-01-11T02:12:54+08:002012-01-11T02:12:54+08:00

    Dê uma olhada em Showplan Security em Books Online, que diz:

    Os usuários que têm permissão SHOWPLAN, ALTER TRACEou VIEW SERVER STATEpodem visualizar consultas capturadas na saída Showplan. Essas consultas podem conter informações confidenciais, como senhas. Portanto, recomendamos que você conceda essas permissões apenas a usuários autorizados a exibir informações confidenciais, como membros da função de banco de dados fixa db_owner ou membros da função de servidor fixa sysadmin . Também recomendamos que você salve apenas arquivos Showplan ou arquivos de rastreamento que contenham eventos relacionados ao Showplan em um local que use o sistema de arquivos NTFS e que restrinja o acesso a usuários autorizados a visualizar informações confidenciais.

    Por exemplo, considere a seguinte consulta:

    SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 
    

    Se um usuário mal-intencionado produzir a saída Showplan para um conjunto de consultas como este exemplo e substituir o valor "10" no predicado por constantes diferentes a cada vez, o usuário poderá inferir uma distribuição aproximada de dados dos valores da coluna para column_1 em table_1 lendo as contagens de linhas estimadas.

    Esse risco parece insignificante, especialmente porque este é um servidor de desenvolvimento, onde todas as consultas seriam de desenvolvedores e pessoal de TI, não de usuários.

    • 20

relate perguntas

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Quanto "Padding" coloco em meus índices?

  • Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?

  • Como determinar se um Índice é necessário ou necessário

  • Downgrade do SQL Server 2008 para 2005

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como ver a lista de bancos de dados no Oracle?

    • 8 respostas
  • Marko Smith

    Quão grande deve ser o mysql innodb_buffer_pool_size?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    restaurar a tabela do arquivo .frm e .ibd?

    • 10 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve