T-SQL: Reiniciar el valor de una columna Identidad

·2 min de lectura·

Este es uno de los trucos simples que puede parecer obvio y aceptado por aquellos que hemos estado trabajando con SQL Server desde hace un tiempo, pero lo publico aquí porque estoy seguro que a más de uno que esté iniciándose en esto le puede servir.

De hecho publico este truco porque de vez en cuando (y esta misma mañana) tengo que restablecer el valor de la columna identidad de nuevo a cero (0) después de haber eliminado todos los registros existentes. La columna identidad es aquel campo que usamos como dato auto numérico para que se autogenere un identificador. En principio no debería importarnos que valor se genera, ya que justamente para eso usamos este campo, pero si a veces queremos empezar nuevamente y empezar a numerar los registros desde 1 (o simplemente por cuestión de gustos).

Tenemos dos opciones:

  • Si queremos eliminar todos los registros (dejar vacía la tabla) y empezar nuevamente, el comando sería
    TRUNCATE TABLE nombreTabla
    
    .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }
  • El siguiente comando reinicia el valor de la identidad  a 0 de forma que el siguiente registro que se agregue comience en 1.
    DBCC CHECKIDENT('nombreTabla', RESEED, 0) 
    
    .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

Comentarios (0)

Sé el primero en comentar.

T-SQL: Re-Indexar todas las tablas de una Base de Datos

·1 min de lectura

El artículo explica cómo re‑indexar todas las tablas de una base de datos SQL Server cuando no existe un comando único para ello. Se presenta un script TSQL que recorre el catálogo de datos, obtiene los nombres de todas las tablas base y ejecuta DBCC DBREINDEX para cada una, evitando mensajes de información. El cursor se cierra y libera al finalizar. El autor sugiere que el código sea útil y menciona un libro de SQL Server 2014 en español como recurso adicional.

Instalando SQL Server en Linux

·3 min de lectura

Microsoft lanzó una versión de SQL Server para Linux, lo que permite a los administradores instalar, usar y mantener el motor en sistemas como Red Hat Enterprise Linux 7, CentOS 7 y Ubuntu 16.04 64 bits. Se requiere al menos 4 GB de RAM. El proceso en Ubuntu implica agregar la clave GPG, añadir el repositorio, actualizar paquetes, instalar dependencias y ejecutar el script de configuración, aceptando los términos de licencia. Una vez instalado, se puede conectar con la línea de comandos, crear bases de datos y usar los mismos comandos que en Windows.