Category Archives: SQL Server 2012

Deletando informações em batches –

Olá pessoal,

Quando trabalhamos bases de dados muito grandes e criticas é normal que alguma forma de purge (expurgo) seja feita no banco de dados, é melhor para a aplicação e também para o DBA. Porem uma grande preocupação quando vamos falar sobre deletar uma grande quantidade de dados é não prejudicar nosso arquivo Transaction Log para que o mesmo não estoure o espaço em disco, como também não bloqueie nossa aplicação que esta tentando inserir ou atualizar dados na base. Alem de tudo isso nos preocupamos com performance, pois uma grande operação de delete poderia impactar todo o nosso ambiente.

Pensando nisso criei um script bem simples, mas que pode te ajudar no momento de realizar esse expurgo da base de dados. Read the rest of this entry

[Video] – Configurando backups no SQL Server Express

Pessoal,

Criei um novo video hoje apenas para mostrar como configurar e agendar backups no SQL Server Express. Ja recebi alguns e-mails referente ao assunto e então resolvi criar um video sobre o mesmo.

O video está bastante simples, onde o intuito é mostrar de forma rapida e facil como configurar.

Espero que gostem!

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

MVA – Preparatório para as certificações em SQL Server 2012

Olá Pessoal,

No ano passado juntamente com a comunidade de SQL Server, realizamos uma semana de Webcasts sobre SQL Server 2012, que visavam preparar o profissional sobre as provas do produto. Além de mim, outros grandes profissionais de SQL Server no Brasil, participaram dos Webcasts como: Diego Nogare, Fabiano Amorim, Erickson Ricci, Marcelo Fernandes, Roberto Fonseca, Luciano Moreira(Luti) e Fabricio Catae.

Além do grande publico que tivemos nos Webcasts, tivemos o previlégio agora de ter todos os videos publicados no Microsoft Virtual Academy (aka MVA). Então para todos que nao acompanharam, terão a chance de fazer o mesmo como curso na ferramenta.

Abaixo segue o link para o curso no MVA.

Preparatório para certificações em SQL Server 2012

Espero que gostem do conteúdo e até breve.

Abraços,
Marcos Freccia

SQL Server Connect Item – Central Management Server

Olá Pessoal,

Estou um bom tempo afastado do blog, mas é por uma boa causa. Essa semana passei por um pequeno problema com o Central Management Server (CMS). Para que administra muitos servidores de SQL Server, sabe o quanto essa feature ajuda em nosso dia-a-dia.

Realizando uma consulta utilizando o CMS vi que um servidor estava dentro de um pasta errada, no mesmo momento realizei a remoção da mesma, porem ai é que vem o problema. Se você já esta com a query aberta naquela pasta onde o servidor excluido estava o SQL Server ainda considera o mesmo se você realizar uma nova consulta. Um workaround seria fechar a query e abri-la novamente e só assim o SQL Server passará a considerar a lista atual de servidores. Read the rest of this entry

SQL Server Bug – Connect Item

Olá pessoal,

Recentemente estava realizando algumas verificações para  criação de índices e em um dos meus testes me deparei com um problema aonde o índice que possuí a opção ALLOW_PAGE_LOCKS desabilitada, um index reorganize não é possível de ser feito. Até então tudo bem, pois temos a documentação nesse link que nos mostra exatamente esse detalhe. Porem, existe um problema que para mim é um bug no momento em que o comando “ALTER INDEX ALL ON SomeTable REORGANIZE” é executado. Em um cenário normal o SQL Server deveria nesses casos realizar uma pre-verificação desses requerimentos para se rodar um REORGANIZE em todos os índices, mas o que acontece é que o SQL Server inicia o comando e quando ele chegar no índice com o ALLOW_PAGE_LOCKS = OFF é que acontece acontece o erro e a operação é abortada. Vale lembrar também que todos os outros índices após o erro acontecer não são reorganizados.

Em uma operação de reorganize em um indice grande, esse problema pode se tornar bastante grande. Portanto, peço por gentileza para que votem no Connect Item abaixo.

Allow_Page_locks is OFF for a single index and error in “ALTER INDEX ALL” where a quick verification isn’t done

Hi Everybody,

Recently doing some digging in index tuning and optimization I came across a very interesting details that to me it seems a bug. When you try to run an Index Reorganize in a index with the option ALLOW_PAGE_LOCKS = OFF the reorganize fails. That’s totally acceptable, since it’s very well documented here. However, when you run the following command “ALTER INDEX ALL on  SomeTable REORGANIZE” SQL Server will execute the reorganize until it comes to the index with that option disabled, so, you will waste so much time in a big table and the operation in will be cancelled. The Index transaction for itself it isn’t rolled back, but the index after this one isn’t reorganized. So, I’ve created the following Connect Item and ask you guys to vote it.

Allow_Page_locks is OFF for a single index and error in “ALTER INDEX ALL” where a quick verification isn’t done

Thanks,
Marcos Freccia

Evento de 10 anos do codificando .Net

Olá pessoal,

A comunidade comunidade Codificando .Net e SQL estará realizando no mês de junho/2013 seu evento em comemoração aos 10 anos de vida . A comunidade do Codificando .Net já é bastante conhecida no cenário brasileiro e para quem quiser saber mais sobre a mesma acesse o site da comunidade.

Estou vindo aqui para então divulgar que a submissão de palestras para o evento está aberta e para quem quiser compartilhar seus conhecimentos essa é uma ótima oportunidade. Não é preciso mencionar que o evento também é uma ótima oportunidade para o aprendizado e o networking, então abaixo deixo os maiores detalhes para os interessados.

Evento: 10 anos do Codificando .Net e SQL

Local: Unip – Tatuapé – São Paulo.

Data: 22/06/2013 08:00 até as 17:00

Link para submissão de palestras: Call 4 papers

Ainda não tenho muitos detalhes da inscrição, mas assim que possivel realizarei um update no post para a divulgação.

Abraços e nos vemos no dia 22 de junho,
Marcos Freccia

Connect Item para melhorias em mensagens de erro

Olá Pessoal,

Isso já estava me dando uma dor de cabeça grande e de uma vez por todas decidi abrir um connect de sugestão para o SQL Server. Não sei se muitos sofrem com esse mesmo problema e com isso peço a opinião de todos aqui é referente a mensagem de erro logada no errolog do SQL Server quando o serviço do SQL Engine é reiniciado ou justamente para de funcionar.

Atualmente a mensagem de erro logada é essa abaixo.

SQL Server is terminating in response to a ‘stop’ request from Service Control Manager. This is an informational message only. No user action is required.

Read the rest of this entry

The script ‘u_tables.sql’ encountered error 25641

Olá pessoal,

Passei por esse problema ontem ao aplicar Service Pack em SQL Server 2012, onde após a instalação do SP varios scripts não conseguiam ser executados no SQL Server mostrando a seguinte mensagem de erro.

Script level upgrade for database ‘master’ failed because upgrade step ‘u_tables.sql’ encountered error 25641, state 0, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the ‘master’ database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.

 

Read the rest of this entry

[01/30] Um mês de DMV’s & DMF’s; sys.dm_os_sys_info

Olá pessoal,

Inicio hoje uma serie sobre DMV’s e DMF’s, mostrando um pouquinho desse poderoso recurso presente no SQL Server. O intuito desses posts não é mostrar consultas altamente elaboradas, mas sim, mostrar recursos que podem facilitar seu dia-a-dia e que você não conhecia. Quem sabe você encontre aqui scripts parecidos com alguns já vistos pela internet a fora, mas lembre-se que nada aqui foi copiado.

Vale lembrar também que vou fazer 30 posts sobre o assunto e não necessariamente dia após dia.

Para começar com a nossa primeira DMV então vamos de: sys.dm_os_sys_info. Através dessa DMV podemos pegar algumas informação bastante importantes que são a data de inicialização do serviço do SQL Server e também alguns dados como Memoria target do SQL Server e também memoria sendo utilizada naquele momento. Read the rest of this entry