Problema no auto increment via SQL Server 2012

Ola pessoal,

Recentemente vi muitas pessoas reclamarem de um compartamento um pouco incomum no SQL Server 2012, o fato de um campo com auto increment ter um pulo de 1000 registros em comparação com o ultimo registro gravado.

Como por exemplo:

sql1

Sabemos que caso você tenha feito vários inserts e em seguida um delete, o increment não vai retornar o valor com base no delete, e sim seguir a ordem cronológica, mas podemos concordar que 1000 registros de uma vez só é um pouco dificil.

Pois bem, não é um bug ou alguma falha, mas sim uma nova feature adicionada ao SQL Server 2012, que após a instância ser reiniciada, o increment terá um avanço no contador somando o valor atual + 1.000 .
Continue lendo

Acompanhar Backup & Restore – SQL Server

Ola pessoal!

Que o SQL Server é um SGBD muito completo, e que fornece diversas opções para gerenciamento, já não é novidade pra ninguém, certo?

Em uma pincelada rápida, vou compartilhar um script que achei super show. Quando você efetua um backup/restore declarando um stats = 10 por exemplo, o processo será descrito no messages de 10 em 10% até a sua conclusão, onde você tem uma ideia do andamento do processo ( O valor do stats pode ser definido confome desejado, exemplo 1, 20).

Claro que em um ambiente de alta disponibilidade, você pode trabalhar com bases gigantescas, sendo necessário acompanhar o processo de backup ou restore até a sua conclusão. Porém, e se te pedirem uma previsão? Podemos ter um valor aproximado se o processo é repetido diversas vezes, mas ter um valor exato ajuda tanto na cobrança como no acompanhamento.
Continue lendo

Tamanho da base & log SQL Server

Booa noite, pessoal!

Em mais um caso da vida, me deparei com este questionamento e não soube diferencia-los de imediato, então vamos aos detalhes.

Como consultar o tamanho da base? A resposta padrão para esta questão no SQL Server é a execução da store procedure sp_helpdb.

Esta procedure traz muitas informações além desta, como por exemplo o status, collation, modo de acesso, caminho dos arquivos de dados e log no servidor / instância, valor o qual a base pode crescer, nível de compatibilidade, enfim conforme pode ser observado abaixo:
Continue lendo

Database em modo Suspect

Em mais um caso do dia a dia, acabei me deparando com o seguinte problema, uma base SQL Server com o status de Suspect.

SQL-database-suspect

Uma vez com este status, não é possível verificar os objetos da base via Object Explorer do Management Studio.

Existe uma query bacana que traz a relação das bases com o status de SUSPECT além de ser possível analisar o status via Object Explorer do Management Studio.

SELECT NAME,STATE_DESC FROM SYS.DATABASES WHERE STATE_DESC=’SUSPECT’

Uma base de dados pode ficar como suspect devido a seguinte relação:

1. Banco de dados pode ter sido corrompido.

2. Não há espaço suficiente disponível para o SQL Server para recuperar o banco de dados durante a inicialização.

3. Banco de dados não pode ser aberto devido a arquivos inacessíveis ou memória insuficiente ou espaço em disco.

4. Arquivos de banco de dados estão sendo realizadas pelo sistema operacional, software de backup terceiro partido etc
Continue lendo

Require the table to be re-created – Alterações via SSMS

Ao tentar realizar alguma alteração na estrutura de uma tabela via SSMS através do modo Design, é recorrente o retorno do erro abaixo (semelhante):

erro

Como a maioria, sou a favor de qualquer alteração na estrutura de uma base/tabela seja feita via TSQL, evitando qualquer tipo de ‘poluição’ ou informações desnecessárias que podem ser incrementadas via Design.
Continue lendo