Category Archives: Administração

A fatal error occurred while reading the input stream from the network.

Olá pessoal,

Apenas divulgando um problema que me ocorreu recentemente. A alguns dias vinha recebendo a seguinte mensagem de erro no errorlog do SQL Server.

A fatal error occurred while reading the input stream from the network. The session will be terminated (input error: 0, output error: 0

A principio, nenhuma aplicação fora do ar e todos os usuários trabalhando normalmente. Fiz uma rápida busca na internet e encontrei esse KB abaixo que retrata alguns problemas que podem levar essa mensagem de erro a ser gerada.

http://support.microsoft.com/kb/942861/en-us

A principio, essa mensagem também é enviada para o log de eventos do Event Viewer. O KB acima, ajuda a resolver o problema.

Até mais!
Marcos Freccia
SQL Server MVP

Apresentação – SQL Saturday 325 – Resource Governor

Olá pessoal,

No último sábado dia 27/09/2014, estive em São Paulo para prestigiar mais um SQL Saturday em terras brasileiras, comandado pelo MVP Diego Nogare. Apesar de ficar por pouquissimo tempo no evento, gostei bastante do que vi, tanto a parte de organização do evento, como também do numero de pessoas presentes no evento. De acordo com as fontes, o evento passou da casa de 300 participantes.

Poder participar de um evento deste porte e ainda entregar uma palestra é realmente uma satisfação bem grande. Fiquei contente com o conteúdo que apresentei e espero repetir essa apresentação outras vezes. O Diego Nogare compartilhou algumas fotos tiradas por ele, então logo abaixo segue o link para todos.

https://onedrive.live.com/?cid=e2bc89dfc1ec2551&id=E2BC89DFC1EC2551%213317&ithint=folder,JPG&authkey=!AFrXD4q_Uv2Hdxo

 

Aproveito também para compartilhar minha apresentação feita, tanto o PPT como também todos os scripts necessarios.

 

Scripts: http://1drv.ms/1qPN4Xh

Espero que todos gostem do conteúdo!

Marcos Freccia
SQL Server MVP

Procurando por não sysadmin job owners

Olá pessoal,

Na semana passada tive uma demanda para retornar uma lista de Jobs onde os owners não estavam na role sysadmin, podendo trazer assim algum risco para a execução do mesmo. Para não passar de job a job procurando pela informação, criei um script bastante simples para resolver esse problema. Espero que gostem!

select Name,SUSER_SNAME(owner_sid) as JobOwner
from msdb.dbo.sysjobs
where enabled = 1
and IS_SRVROLEMEMBER(‘sysadmin’,SUSER_SNAME(owner_sid)) <> 1

O resultado retornado é este logo abaixo. Assim, vocês podem analisar de uma maneira facil e rápida, se devemos trocar o Job Owner do job em questão ou não.

image

 

Espero que tenham gostado.

Marcos Freccia
SQL Server MVP

SQL Server 2012 SP2 Liberado. Sempre há um porém.

Olá pessoal,

Ontem a Microsoft liberou para download o Service Pack 2 do SQL Server 2012, onde aqui você pode encontrar a lista de bugs corrigidos.

Existem inumeras vantagens de sempre manter o SQL Server no ultimo Service Pack lançado para aquele produto, porém existe um pequeno problema (que pode se tornar grande) no SQL Server 2012 e também encontrado no SQL Server 2014 é que o Rebuild Online de um indice clustered rodando em paralelo pode causar corrompimento dos dados. Segundo a Microsoft esse comportamento não é tão facil de acontecer, mas caso aconteça, você pode sim ter um grande problema.

Apenas passam por esse problema o SQL Server 2012 e SQL Server 2014 Enterprise Editions, ja que os mesmos possibilitam o rebuild de índice online.

O que é importante lembrar é que o Service Pack 2 liberado ontem, não contempla a correção deste problema, sendo que o mesmo será corrigido posteriormente.

O proprio link acima, mostra um possivel workaround que seria setar o MAXDOP = 1 na instancia, ou setar o MAXDOP = 1 apenas na rotina de desfragmentação de indices.

 

Caso alguem ja tenha passado por esse problema, é sempre bom se atentar ao workaround enquanto a solução definitiva não é liberada.

 

Até mais,
Marcos Freccia
SQL Server MVP

Criando um Data Collector Set – Performance Monitor

Olá pessoal,

Esse post é apenas para mostrar como importar o arquivo .xml gerado no PAL. Abra o Performance Monitor e navegue até a opção User Defined log abaixo, Data Collector Sets.

Read the rest of this entry

PAL – Performance Analysis of Logs

Olá pessoal,

Alguém aqui ja ouviu falar do Performance Analysis of Logs (PAL)? Para os que ainda não conhecem, o PAL é uma ferramenta que permite analisar Performance Counters de diversas tecnologias Microsoft. A principal ideia é que você possa criar um coletor de dados no Performance Monitor coletar estatísticas do seu ambiente e depois utilizando o PAL criar um relatório gráfico com todos os contadores analisados. Read the rest of this entry

ClearTrace – Agregando Traces

Olá pessoal,

Ando um pouco afastado do blog ultimamente, mas hoje gostaria de deixar uma dica bem rápida, mas importante no dia-a-dia de um DBA.

É muito comum no nosso trabalho analisar traces quando estamos trabalhando com performance tuning, porem o interessante de analisar o trace é ter possuir uma visão geral e agregada do que está sendo executado em nosso servidor. É aqui que o ClearTrace entra! Abaixo coloco um breve descritivo retirado do site do ClearTrace sobre o mesmo.

ClearTrace imports SQL Server 2000, SQL Server 2005 and SQL Server 2008 trace and profiler files into SQL Server and displays summary performance information.  It is designed to provide the same performance summary as Read80Trace but in a graphical environment and for SQL Server 2005 and SQL Server 2008.

Read the rest of this entry

Base de testes com In-Memory Tables

Olá pessoal,

Como muitos ja anunciaram, no 1º de Abril tivemos o lançamento do SQL Server 2014 e com isso uma das funcionalidades mais aguardardas e comentadas é o In-Memory OLTP ou Hekaton. Se você quer aprender um pouco mais sobre o assunto recomendo os posts do Luan Moreno (Twitter|Blog).

O intuito desse post é mais divulgar uma base de testes que contem algumas tables no formato in-memory, então se você esta procurando por algo do tipo, o time de SQL Server divulgou a algum tempo atras alguns scripts que modificam a base de dados AdventureWorks.

http://blogs.technet.com/b/dataplatforminsider/archive/2013/11/11/new-in-memory-oltp-sample-for-sql-server-2014-ctp2.aspx

Basicamente, se você ainda não possui a base AdventureWorks, você pode realizar download nessa pagina: https://msftdbprodsamples.codeplex.com/. Feito isso, baixe os scripts do SQL Server 2014 e execute-os na base de dados. Ao final você deverá ter as seguintes tables e stored procedures criadas.

image         image

Bom estudos!
Marcos Freccia

Connect Item – Allow on SSRS subscription the content data on e-mail body

Hi Guys,

Just decided to have this post English for one simple reason: to get more votes on this connect item I just opened.

These days I am working a lot with SSRS and I really miss something that could be very useful when creating SSRS Subscription. For those doesn’t know what is a SSRS Subscription I deeply recommend you to take a look here. Basically, when creating a subscription you have two options, which is:

  1. Deliver the report on a Windows File Share
  2. Deliver the report by e-mail as a attached file.

Although, deliver the report as attached file is not a big problem, would be beneficial to have another option to deliver the content of this report on the body of the e-mail. I know someone can say: “If someone wants to deliver a e-mail with a million rows?”. Well, that’s the case I say you need to analyze your environment and see if the setting would be important for you.

Thinking about that, I decided to create a suggestion connect item to ask to Microsoft to consider creating this option for future releases.

https://connect.microsoft.com/SQLServer/feedback/details/832766/allow-on-ssrs-subscription-the-content-data-on-e-mail-body

I hope you find this as useful as I do and vote it on the same.

Regards,
Marcos Freccia

O que você precisa saber sobre sp_estimate_data_compression_savings

Olá pessoal,

Recentemente tenho trabalhado em alguns scripts que utilizam a sp_estimate_data_compression_savings para verificar possíveis ganhos com compressão. Acontece que utilizar essa procedure em grandes ambientes e até mesmo com diferentes aplicações, traz consigo uma série de implicações que você pode ter no momento de executá-la.

1) Existe um bug ja registado aqui onde no momento da verificação de uma possível compressão, qualquer indice criado em uma coluna do tipo timestamp faz com que a procedure seja abortada e encerre sua execução. O problema não impede que você faça a compressão da mesma, apenas te impede de executar a procedure para estimar. Até o momento o problema foi corrigido apenas para SQL 2012.

2) Outro problema encontrado, é que não é possivel realizar compressão em indices que contenham colunas do tipo SPARSE. Então se a procedure sp_estimate_data_compression_savings também interrompe a sua execução quando encontrar esse problema, e isso se extende no momento que você tenta realizar o rebuild do indice para então realizar a compressão.

Ainda estou enfrentando alguns outros problemas, que estou verificando o comportamento. Então assim que encontrar, prometo atualizar esse post.

Em um futuro proximo, posso também ensinar como criar uma solução de reporting para compressão.

Espero que tenham gostado e até a proxima,
Marcos Freccia