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í:
¿la tabla destino ya debe haber sido creada y contener los mismos campos? o con el primer comando se crea sola
Con el segundo comando sin necesidad de nada mas se ejecuta la copia
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?
Gracias, esto me ha sido de mucha utilidad
Les agradezco, esto me ha sido de mucha ayuda.
Gracias por el aporte! Me ha funcionado de maravilla! 🙂
Gracias, fue de utilidad
con el segundo (SELECT * INTO MyNewTable FROM MyTable) comando , muy bueno, mil gracias
EXCELENTE
mil gracias
Gracias. Es lo que necesitaba.
Un saludo
muchas gracias por el aporte, sencillo y conciso
genial
Gracias!!!!
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
Muchas gracias
No problem!
Me funciono esta línea de código
SELECT * Into DestinationTableName From SourceTableName
Como copiar los índices??