Posts Tagged ‘sqlServer2012’

SQL Server pulando campo com id auto increment

outubro 22nd, 2015

Isso acontece a partir da versão 2012 do sql server. Quando tu tem uma tabela com campo id auto increment, e o serviço do sql server é parado de forma abrupta, após a inicialização do serviço, a próxima inserção na tabela terá um acréscimo de 1000, para o tipo int, ou 10000, para o tipo bigint no campo id.

FullTable

Na internet encontrei alguns links para o contorno desse problema, um deles é criar uma sequência, conforme descrito no link http://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is, e a outra é adicionar o parametro -t272, na inicialização do sql server.

StartupParameter

Pesquisando vi que esse parâmetro não é oficialmente documentado pela Microsoft, e ele parece modificar a engine do sql server. Vi que muita gente fez isso para sanar o problema e não teve problemas com essa configuração, mas não há nenhuma documentação oficial a respeito disso.

Referência:
http://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is
http://dba.stackexchange.com/questions/88930/identity-value-jumps-when-restarting-sql-server

Sintaxe incorreta próxima a ‘@errno’. no Sql server 2012 ou 2014

abril 13th, 2015

Quando executa uma procedure no sql server ocorre o erro

1
 Sintaxe incorreta próxima a '@errno'.

ou

1
 incorrect syntax near '@errno'.

Alterei o retorno do erro de

1
 RAISERROR @errno @errmsg

para

1
 THROW @errno, @errmsg,2;

No meu caso, tive que alterar na trigger que utilizava, e não na minha procedure.

Post feito com base nesse link

Links úteis:
THROW
RAISERROR