incluyendo - ¿Cómo generar scripts para recrear tablas utilizando SQL Server Management Studio?
script para crear base de datos sql server (3)
Tengo una tabla en una base de datos del servidor SQL local. Quiero recrear esta tabla en una base de datos alojada.
Lo que quiero hacer es tener un script que cuando se ejecuta en la base de datos alojada, esta tabla se vuelva a crear con todos los datos, etc.
¿Cómo creo este script usando SQL Server Management Studio? Gracias.
1- Abrir SQL Server Management Studio.
2- Haga clic derecho en el DB que contiene su tabla deseada.
3- Seleccione "Tareas => Generar secuencias de comandos ...".
4- Siga en el asistente, y elija los objetos para los que quiere generar scripts (Tablas, Vistas, Procedimientos almacenados, etc.).
5- Desde el siguiente paso, haga clic en " Avanzado ", y para el nodo etiquetado como "Tipos de datos para secuencia de comandos", seleccione " Esquema y datos ".
6- Guarda tu script y sonríe :)
Puede hacerlo utilizando la tarea de base de datos Generar scripts. Haga clic con el botón derecho en la base de datos> Tareas> Generar secuencias de comandos ... Elija "Seleccionar objetos de base de datos específicos" y la tabla que desee.
En la página Establecer opciones de scripts, haga clic en Avanzado. Hay una opción "Tipos de datos para secuencia de comandos", elija "Esquema y datos". Elija dónde guardarlo. Siguiente. Siguiente. Terminar.
Esa es la respuesta, sin embargo, si la tabla contiene una gran cantidad de datos, recomiendo usar bcp out u otro método para exportar los datos. Si el nuevo servidor está en la misma red, también puede seleccionarlo como un servidor vinculado.
El método de script generará instrucciones de inserción individuales.
select ''create table ['' + so.name + ''] ('' + o.list + '')'' + CASE WHEN tc.Constraint_Name IS NULL THEN '''' ELSE ''ALTER TABLE '' + so.Name + '' ADD CONSTRAINT '' + tc.Constraint_Name + '' PRIMARY KEY '' + '' ('' + LEFT(j.List, Len(j.List)-1) + '')'' END
from sysobjects so
cross apply
(SELECT
'' [''+column_name+''] '' +
data_type + case data_type
when ''sql_variant'' then ''''
when ''text'' then ''''
when ''ntext'' then ''''
when ''xml'' then ''''
when ''decimal'' then ''('' + cast(numeric_precision as varchar) + '', '' + cast(numeric_scale as varchar) + '')''
else coalesce(''(''+case when character_maximum_length = -1 then ''MAX'' else cast(character_maximum_length as varchar) end +'')'','''') end + '' '' +
case when exists (
select id from syscolumns
where object_name(id)=so.name
and name=column_name
and columnproperty(id,name,''IsIdentity'') = 1
) then
''IDENTITY('' +
cast(ident_seed(so.name) as varchar) + '','' +
cast(ident_incr(so.name) as varchar) + '')''
else ''''
end + '' '' +
(case when IS_NULLABLE = ''No'' then ''NOT '' else '''' end ) + ''NULL '' +
case when information_schema.columns.COLUMN_DEFAULT IS NOT NULL THEN ''DEFAULT ''+ information_schema.columns.COLUMN_DEFAULT ELSE '''' END + '', ''
from information_schema.columns where table_name = so.name
order by ordinal_position
FOR XML PATH('''')) o (list)
left join
information_schema.table_constraints tc
on tc.Table_name = so.Name
AND tc.Constraint_Type = ''PRIMARY KEY''
cross apply
(select ''['' + Column_Name + ''], ''
FROM information_schema.key_column_usage kcu
WHERE kcu.Constraint_Name = tc.Constraint_Name
ORDER BY
ORDINAL_POSITION
FOR XML PATH('''')) j (list)
where xtype = ''U''
AND name NOT IN (''dtproperties'')