Eu começaria um rastreamento no Management Studio. Dez minutos devem ser tempo suficiente para lhe dar alguma informação sobre o que está acontecendo.
Eu tenho uma tarefa que executo no MS SQL Server Management Studio. Eu esperaria que terminasse em uma hora e terminou antes em tal período de tempo. Os dados de entrada não mudaram drasticamente e, portanto, eu esperaria um tempo semelhante para executar. Mas agora parece que o servidor sql preso. A tarefa foi executada durante a noite, no total, como 20hrs.
Quando abro o gerenciador de tarefas no servidor, vejo que um núcleo está sendo executado em 100% pelo sqlservr.exe. A máquina tem 8 núcleos. Como de costume, este processo assumiu toda a memória (30GB). A versão do SQL Server é 10.50.1600.1
Sou o único usuário no servidor.
De acordo com dm_exec_requests, o ID da sessão é 55. E eu posso puxar o texto de consulta correto via dm_exec_sql_text. Eu verifiquei o dm_os_waiting_tasks e o session_id não faz parte dos resultados.
Aqui estão mais alguns detalhes sobre a tarefa:
status: running
command: UPDATE
start_time: 2013-07-11 14:49:39.533
last_wait_type: SOS_SCHEDULER_YIELD
open_transaction_count: 2
open_resultset_count: 1
cpu_time: 69315970
total_elapsed_time: 69594247
reads: 5139
writes: 1181434
text_size: -1
Eu executei o monitor de processo também durante a noite e não há muito acesso a arquivos para os bancos de dados em questão.
Alguém pode me dizer o que mais eu poderia fazer?
Eu começaria um rastreamento no Management Studio. Dez minutos devem ser tempo suficiente para lhe dar alguma informação sobre o que está acontecendo.
Tags sql-server