Vous pouvez scripter le DDL de tous les objets à l'aide de SSMS puis migrer les données avec un simple
1 2 3
| INSERT INTO MaNouvelleBase.MonSchema.MaTable
SELECT *
FROM MonAncienneBase.MonSchema.MaTable |
Que vous pouvez générer dynamiquement via les vues d'information de schéma.
Si la table comporte un auto incrément, il faudra forcer l'insertion à l'aide de
SET IDENTITY_INSERT ... ON / OFF
Pour savoir si une table comporte un auto incrément, vous pouvez utiliser la requête suivante :
1 2 3 4 5 6 7 8 9 10 11 12
| SELECT TABLE_SCHEMA, TABLE_NAME,
CASE
WHEN EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS AS C
WHERE COLUMNPROPERTY(OBJECT_ID('[' + TABLE_SCHEMA +'].[' + TABLE_NAME+']'), COLUMN_NAME, 'IsIdentity') = 1
AND C.TABLE_SCHEMA = T.TABLE_SCHEMA
AND C.TABLE_NAME = T.TABLE_NAME)
THEN 1
ELSE 0
END AS HAS_IDENTITY
FROM INFORMATION_SCHEMA.TABLES AS T
WHERE TABLE_TYPE = 'BASE TABLE' |
A +
Partager