Como vejo as consultas executadas no SQL Server Management Studio?

sou novo no SQL Server Management Studio e estou a pensar: existe uma maneira de ver que consultas foram feitas com base de dados?

No monitor de actividade, há um relatório de "Consultas recentes e dispendiosas", mas acho que não são todas as consultas, já que não estou a ver as que corri.

estou a correr o SQL Server Express 2008 v 10.0.1600.22.

Author: Brett Caswell, 2010-03-15

8 answers

Use o perfil SQL e use um filtro nele para obter as consultas mais caras.

 19
Author: Benjamin Ortuzar, 2010-03-15 18:56:08

Usa o Monitor de actividade. É a última barra de ferramentas na barra superior. Ele irá mostrar - lhe uma lista de "recentes consultas caras". Você pode clicar duas vezes sobre eles para ver o plano de execução, etc.

 16
Author: John Saunders, 2014-08-08 01:55:16

Se quiser ver as consultas que já estão executadas, não existe uma forma predefinida suportada de o fazer. Há alguns workarounds que você pode tentar, mas não esperar encontrar tudo.

Você não será capaz de ver com certeza seleccionar as declarações, mas existe uma forma de ver outros comandos DML e DDL lendo o registo de transacções (assumindo que a base de dados está no modo de recuperação completo).

Pode fazer isto usando os comandos de Registo DBCC ou FN_ dblog ou o leitor de registos de terceiros como ApexSQL Log (lembre-se que a ferramenta vem com um preço)

Agora, se você planeja em declarações de auditoria que serão executadas no futuro, então você pode usar o perfil SQL para pegar tudo.
 15
Author: Dwoolk, 2013-06-11 09:46:21
Precisas de um perfil SQL, que funciona fora do Estúdio de gestão SQL. Se você tiver uma versão paga do SQL Server (como a edição do desenvolvedor), ela deve ser incluída como outro utilitário.

Se está a usar uma edição grátis( SQL Express), eles têm perfis de freeware que pode transferir. Usei o perfil do AnjLab (disponível em [4]} http://sites.google.com/site/sqlprofiler e parecia funcionar bem.

 10
Author: Mike Mooney, 2010-03-15 18:58:02
     SELECT *  FROM sys.dm_exec_sessions es
  INNER JOIN sys.dm_exec_connections ec
      ON es.session_id = ec.session_id
  CROSS APPLY sys.dm_exec_sql_text(ec.most_recent_sql_handle) where es.session_id=65 under see text contain...
 4
Author: dinesh vishe, 2013-04-25 06:29:38

Se quiser que o SSMS mantenha um histórico de pesquisas, use o pacote de ferramentas SSMS adicione o .

Se quiser monitorizar o servidor de SQL para as consultas em execução, use o perfil de SQL como os outros já sugeriram.

 3
Author: Remus Rusanu, 2010-03-15 19:17:02

Execute a seguinte consulta do Management Studio num processo em execução:

DBCC inputbuffer( spid# )

Isto irá devolver o SQL actualmente a ser executado na base de dados do SPID fornecido. Lembre-se que precisa de permissões apropriadas para executar este comando.

Isto é melhor do que fazer uma pesquisa, já que tem como alvo um SPID específico. Você pode ver se ele está funcionando há muito tempo com base em seu CPUTime e DiskIO.

Exemplo para obter detalhes do SPID 64:

DBCC inputbuffer(64)
 3
Author: Shez, 2011-09-05 15:57:44

Uma pergunta mais clara, visando as consultas SQL do estúdio é:

SELECT text  FROM sys.dm_exec_sessions es
  INNER JOIN sys.dm_exec_connections ec
      ON es.session_id = ec.session_id
  CROSS APPLY sys.dm_exec_sql_text(ec.most_recent_sql_handle) 
  where program_name like '%Query'
 3
Author: zhrist, 2015-06-04 12:41:38