Comment générer des scripts pour recréer une table à l'aide de SQL Server Management Studio?

J'ai une table dans une database SQL Server locale. Je veux recréer cette table dans une database hébergée.

Ce que je veux faire est d'avoir un script qui, lorsqu'il est exécuté sur la database hébergée, est recréé avec toutes datatables, etc.

Comment créer ce script à l'aide de SQL Server Management Studio? Merci.

1- Ouvrez SQL Server Management Studio.

2- Faites un clic droit sur le DB qui contient votre tableau désiré.

3- Sélectionnez "Tâches => Générer des scripts …".

4- Suivez l'assistant et choisissez les objects pour lesquels vous voulez générer des scripts (Tables, Vues, ​​stored procedures, etc …).

5- A partir de l'étape suivante, click " Avancé ", et pour le noeud intitulé "Types de données à scripter" choisissez " Schéma et données ".

entrez la description de l'image ici

6- Sauvegardez votre script et souriez 🙂

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') 

Vous pouvez le faire en utilisant la tâche de génération de database Scripts. Cliquez avec le button droit sur la database> Tâches> Générer des scripts … Choisissez "Sélectionner des objects de database spécifiques" et la table souhaitée.

Dans la page Définir les options de script, click Avancé. Il y a une option "Types de données à scripter", choisissez "Schéma et données". Choisissez où l'save. Prochain. Prochain. Terminer.

C'est la réponse cependant, si la table contient une grande quantité de données, je recommand d'utiliser bcp out ou une autre méthode pour exporter datatables. Si le nouveau server se trouve sur le même réseau, vous pouvez également le sélectionner en tant que server lié.

La méthode de script va générer des instructions d'insertion individuelles.