Nous avons récemment déménagé notre base de données de notre Serveur SQL server 2005 pour de notre Serveur SQL server 2008. Tout déménagé plus de bien, mais nous constatons maintenant que nous sommes classement des conflits. L'ancien serveur a eu un classement différent avec le nouveau serveur.
Maintenant, tables créées avant le déménagement, qui sont d'un classement, et celles créées après sont un autre classement.
Est-il un moyen de mettre à jour les tables/colonnes avec l'ancien classement pour le classement de nouveau?
Je comprends le réglage par défaut de la base de données/serveur de classement ne pas modifier les tables existantes (lien). Je ne veux vraiment pas à recréer la base de données si je n'ai pas d'.
Toute aide vraiment apprécié.
Merci pour votre aide les gars, a finalement obtenu ce travail.
Pour référence, voici mon script final:
SELECT 'ALTER TABLE [' + SYSOBJECTS.Name + '] ALTER COLUMN [' + SYSCOLUMNS.Name + '] ' +
SYSTYPES.name +
CASE systypes.NAME
WHEN 'text' THEN ' '
ELSE
'(' + RTRIM(CASE SYSCOLUMNS.length
WHEN -1 THEN 'MAX'
ELSE CONVERT(CHAR,SYSCOLUMNS.length)
END) + ') '
END
+ ' ' + ' COLLATE Latin1_General_CI_AS ' + CASE ISNULLABLE WHEN 0 THEN 'NOT NULL' ELSE 'NULL' END
FROM SYSCOLUMNS , SYSOBJECTS , SYSTYPES
WHERE SYSCOLUMNS.ID = SYSOBJECTS.ID
AND SYSOBJECTS.TYPE = 'U'
AND SYSTYPES.Xtype = SYSCOLUMNS.xtype
AND SYSCOLUMNS.COLLATION IS NOT NULL
AND NOT ( sysobjects.NAME LIKE 'sys%' )
AND NOT ( SYSTYPES.name LIKE 'sys%' )
GO
Voici le site qui contient le script, je me suis basé sur. J'ai dû le modifier pour qu'il fonctionne correctement.