Tentando criar um grande banco de dados de teste, tenho um SP que criei que usa uma lista predefinida de tabelas (35 que me interessam) e multiplica os dados em cada uma delas.
Em outras palavras, uma tabela tem dados para uma loja. Eu insiro nesta tabela os mesmos dados, mas com um número de loja diferente (o que me dá 2 lojas). Eu então chamo o mesmo SP que multiplica os dados de 2 Stores para 4 stores, e assim por diante. No final de semana iniciei o processo de 6 chamadas consequentes do SP pensando que quando eu voltasse segunda feira meu BD teria dados para 64 lojas. Infelizmente não foi assim...
Quando cheguei na segunda-feira, encontrei o HD de dados cheio, mas o processo nunca travou e parecia estar suspenso. meu banco de dados está em modelo de recuperação simples, abri espaço movendo arquivos e encolhendo o TempDB (através da opção de arquivo shrink no SSMS) e criei um arquivo ndf extra com tamanho inicial de 100 GB em uma unidade externa ... O processo ainda está em execução (mais de 24 horas depois de abrir espaço).
O estado da tarefa do spid mostra suspenso com o tipo de espera PAGEIOLATCH_EX, mas com pequenos tempos de espera (abaixo de 100ms), o que me faz acreditar que o processo ainda está em execução.
34 tabelas de 35 são de tamanho decente e são rápidas o suficiente para multiplicar... O processo multiplicou o 1 armazenamento de dados em todas as tabelas para 8 armazenamentos e ainda está em processo de completar a multiplicação dos dados de 8 para 16 armazenamentos ... a única mesa em que parece estar trabalhando é a maior de todas...
O processo real de multiplicar os dados de 8 para 16 lojas para esta tabela, está inserindo 400 milhões de registros de uma seleção de 400 milhões de registros e a tabela tem 200 colunas de todos os tipos diferentes.
Estou perdendo tempo esperando? Receio que matar o processo leve vários dias para reverter... Devo apenas esperar? Tornou-se um processo Fantasma? Como posso saber o que está fazendo?
Qualquer opinião/idéia seria muito apreciada.
obrigada
Baixe
sp_whoisactive
o procedimento armazenado escrito por Adam Machanic se você ainda não o tiver. Executar com@get_full_inner_text = 0
opção.Na seção de comentários do procedimento armazenado:
Execute esta consulta, você deve ver as instruções reais em execução e a atividade de sessão aberta: