Clustered Columnstore Indexes – part 33 (“Tuple Mover that closes open Delta-Stores”)

Continuation from the previous 32 parts, starting from http://www.nikoport.com/2013/07/05/clustered-columnstore-indexes-part-1-intro/ We all love and use Columnstore Segments, but we all kind of scared of the open Delta-Stores (yes there can be more than 1). Why would that be? – because they…

Regional Mentor Update

Pessoal, fiquei um tempo afastado e estava ancioso para voltar e me sinto muito feliz em poder passar para vocês esta grande novidade. Há pouco mais de um mês fui convidado pelo PASS para assumir um novo cargo: REGIONAL MENTOR Fiquei muito feliz e honrado pelo convite pois é um reconhecimento de todo o trabalho realizado para comunidade.…

SQLSaturday Rheinland 2014 Recap

Important disclaimer: I am closely associated with Tillmann Eitelberg & Oliver Engels since I am working with them at OH22. I am one of the luckiest guy of having attended & presented at every single SQLSaturday in Germany and this…

Falha ao reciclar o ERRORLOG!


Fala pessoal tranquilo? Espero que sim!

Hoje vou falar sobre um problema que enfrentei recentemente ao fazer a reciclagem do ERRORLOG, bom, acredito que a maioria conhece o comando abaixo:

SP_CYCLE_ERRORLOG

Este comando fecha o arquivo de log atual do SQL Server e inicia um novo, é o mesmo que acontece quando o serviço do SQL Server é iniciado.


Existe um outro comando não documentado que tem o mesmo objetivo:

DBCC ERRORLOG

Agora vamos ao problema. Certo dia acessei um servidor e o log do SQL Server estava demasiadamente grande, resolvi então reciclar o mesmo. Porém quando pedi para ler a log atual veja que interessante, encontrei datas e horários misturados, basicamente datas recentes no início e antigas do meio pra frente:

2014-02-04 11:11:24.28 Backup
2014-02-04 11:11:25.53 Backup
2014-02-04 11:11:26.08 Backup
2014-02-04 11:11:27.08 Backup
2014-02-04 11:11:31.53 Backup
2014-02-04 11:30:09.87 spid77
2013-07-03 06:07:57.78 spid74
2013-07-03 06:18:20.60 spid74
2013-07-03 06:23:11.86 spid74
2013-07-03 06:41:46.56 spid73
2013-07-03 06:41:46.58 Backup

Estranho, não? Alguma coisa deu errado no processo de limpeza da log e inicialização de um novo, resolvi então olhar o EVENT VIEWER na parte de Application e notem o erro que encontrei:

 
O erro já nos remete à conclusão de que algo está impedindo o SQL Server de manipular o arquivo. Resolvi repetir o procedimento porém desta vez deixei a ferramenta da Sysinternals chamada Process Monitor ativa, filtrando o Process Name em cima do binário do SQL Server chamado sqlservr.exe. Rodei o comando e veja só o que foi registrado:

 
Obs.: Apaguei o começo do diretório por questões de segurança.

Na coluna Result aparece SHARING VIOLATION, basicamente, isto indica que à operação desejada não pode ser feita no arquivo pois o mesmo estava sendo utilizado por alguma outra coisa no Windows, interessante. Com esta informação, usei outra ferramenta da Sysinternals, o Process Explorer, fui até a aba Find, depois Find Handle or DLL substring e digitei errorlog, vejam os resultados:


Obs.: Apaguei o começo dos diretórios e uma das linhas por questões de segurança.

Notem o binário koqerr.exe, com uma rápida pesquisa notei que ele corresponde à ferramenta de monitoração da IBM chamada IBM Tivoli Monitoring. Agora o próximo passo para resolver o problema já estava mais claro, parei os serviços do agente de monitoração, garanti que seus binários não estavam mais executando e tentei novamente limpar a log, vejam agora o diretório do ERRORLOG:


Sucesso! Um novo arquivo de log foi criado!

Link para download das ferramentas que foram utilizadas neste post:

PROCESS MONITOR 3.1

PROCESS EXPLORER 16.02

Por hoje é só pessoal, espero que o post tenha sido útil a vocês! Um abraço!
http://www.virtualpass.com.br/

Hekaton–Provando sua otimização no TLOG !

Muitas pessoas me perguntam se o mecanismo do In-Memory OLTP – Hekaton é otimizado para a gravação dos registros dentro do arquivo de LOG do SQL Server, bem nesse POST irei mostrar a sua grande otimização. O Hekaton é uma nova engine criada e acoplada dentro do SQL Server. Muitas coisas foram reescritas muitas mesmo, […]

Speaking at SQLSaturday Oslo, Norway 2014

I am extremely delighted to announce that I was selected to present a Deep Dive session on Clustered Columnstore Indexes at the very first SQLSaturday Edition in the beautiful city of Oslo, Norway. This event is to be held on…

Data Mining do SQL Server 2014 no Excel 2013

Fala galera, uma forma simples para se começar a trabalhar com mineração de dados é utilizar o Add-In de Data Mining para Excel conectado ao SQL Server. Para isso, basta baixar o Add-In, fazer a instalação e apontar para o servidor do SQL Server Analysis Services que você tenha acesso. Para baixar o Add-In, acesse [...]

The post Data Mining do SQL Server 2014 no Excel 2013 appeared first on Think Think SQL.

Clustered Columnstore Indexes – part 32 (“Size Does Matter, but how ?”)

Continuation from the previous 31 parts, starting from http://www.nikoport.com/2013/07/05/clustered-columnstore-indexes-part-1-intro/ The Columnstore Row Group Size Question: What is better for SQL Server performance: to have a big Row Groups (1.045.678 rows) or to have them as small as possible (100.000 rows)…

Atualizando o SQL Server Data Tools – SSDT – para o Visual Studio 2013 e controlando versionamento de código com TFS

Fala galera, como já havia feito com o SQL Server Data Tools (SSDT) 2012 para o SQL Server 2012 (que pode ser lido aqui), vou explicar como atualizar seu SSDT para a versão 2013 do Visual Studio, e também como colocar seu controle de versão com o Team Explorer 2013. Isso funciona independente do seu [...]

The post Atualizando o SQL Server Data Tools – SSDT – para o Visual Studio 2013 e controlando versionamento de código com TFS appeared first on Think Think SQL.

Clustered Columnstore Indexes – part 31 (“Memory Pressure and Row Group Sizes”)

Continuation from the previous 30 parts, starting from http://www.nikoport.com/2013/07/05/clustered-columnstore-indexes-part-1-intro/ This blog post is focusing on one of the most important real world issues – Memory Pressure. While testing on your own Computer or on some development server in a controlled…
Go to Top