SQL SERVER – Duplicar una tabla

Vamos a ver dos diferentes queries para poder copiar tablas en SQL SERVER.

Copiar la estructura de la tabla

Copiar sólo la estructura porque puede ser útil para algunos casos:

SELECT * Into DestinationTableName From SourceTableName Where 1 = 2 

Duplicar toda la tabla

La otra opción es hacer una copia exacta de la tabla que queremos copiar.

SELECT * INTO MyNewTable FROM MyTable

No se copiarán las constraints o índices.

UPDATE

Copiar los índices es algo más complicado, podéis intentarlo con lo que se propone aquí:

18 thoughts on “SQL SERVER – Duplicar una tabla

  1. Daniel says:

    Con esto he clonado la tabla completa junto con los datos, lo que me gustaría saber es si puedo trabajar en forma independiente con la tabla clonada sin afectar a la original?

  2. sALVADOR says:

    Hola pido ayuda con mi problema al respaldar :
    al ejecutar BACKUP DATABASE a una base de datos “Catalagos” me maraca que no existe o el nombre esta incorrecto( pero si existe y esta correcto el nombre). Lo ejecuto respaldando la base “master” y si funciona, pero con ninguna de mis bases de datos funciona. Enlisto las bases de datos que estan en master y veo que en el campo nombre vienen con el path y no se sis sea eso. Saludos, soy nuevo y uso Microsoft Visual Studio Community 2019.

    CODIGO:
    Try
    Enlace.Conecta(FuncSub.MyConn(“Catalagos”))
    Dim Lbase As String = “Catalagos”
    Cadena = “BACKUP DATABASE ” & Lbase & ” to Disk=’C:\ODIM\Backup.bak’ with init,stats=10″
    ‘Cadena = “BACKUP DATABASE ODIM to Disk=’C:\ODIM\Backup.bak’ with init,stats=10”
    cmd = New SqlCommand(Cadena, conexion)
    ‘MsgBox(“Se jecuta cadena: ” & Cadena & ” en conexion ABIERTA: ” & conexion.ConnectionString)

    cmd.ExecuteNonQuery()
    MsgBox(“Respaldo efectuado”)
    ‘conexion.Close()
    Catch ex As Exception
    MsgBox(“Error al respladar” + ex.Message + ” #” + ex.HResult.ToString)
    ‘conexion.Close()
    End Try

Leave a Reply

Your email address will not be published. Required fields are marked *