2017-06-15 2 views
1

Nous avons actuellement une base de données SQL Server Kentico que nous souhaitons déplacer dans Azure SQL. La base de données en cours a un type de classement Latin1_General_CI_AS (Kentico par défaut) et notre base de données maître SQL Azure est SQL_Latin1_General_CP1_CI_AS (par défaut Azure).Migration de la base de données Kentico existante vers Azure SQL - incompatibilité de classement

Nous l'avons d'abord simplement importé dans une nouvelle base de données Azure qui semblait fonctionner correctement jusqu'à ce que Kentico exécute toutes les requêtes impliquant la comparaison de chaînes entre les tables système et la base de données Kentico. par exemple. l'assistant lors de la création d'une table personnalisée dans Kentico et en essayant de sélectionner une table de base de données existante. C'est alors que nous avons réalisé l'inadéquation de la collation entre le maître et notre base de données Kentico.

Existe-t-il un moyen de changer le type de collation sur la base de données Kentico ou d'importer à travers notre contenu Kentico, etc. dans une nouvelle base de données?

Nous avons essayé l'évidence - ALTER DATABASE <name> COLLATE SQL_Latin1_General_CP1_CI_AS mais cela ne fonctionnera pas en raison d'un certain nombre d'objets qui donnent l'erreur: "Le classement de base de données ne peut pas être modifié si un objet lié au schéma en dépend." Je souhaite ne pas avoir à démarrer une nouvelle base de données et migrer manuellement tous nos contenus et personnalisations dans une nouvelle instance.

Répondre

1

Je pense que je l'ai résolu moi-même :)

  1. Site d'occasion Bailleur de tous les objets de mon site de travail
  2. créé un nouveau vide Azure base de données SQL avec la norme Azure collecte
  3. Changé Web.config de mon application Web pour pointer vers la nouvelle base de données vide
  4. Exécuter l'application Web et parcouru l'assistant de base de données pour configurer les objets de base Kentico dans la nouvelle base de données vide
  5. Créer un nouveau sit e via l'importation de mon site exporté depuis l'étape 1

Maintenant, j'ai mon site complet, etc. dans une nouvelle base de données avec le type de classement correct.

+0

Nous avons le même problème en ce moment et il semble que ce soit la seule solution. – masterlopau

+0

Juste une mise à jour, l'exportation du site n'a pas fonctionné pour nous en raison du même problème de collation. – masterlopau

+0

Lorsque j'ai exporté le site, c'était à partir du moment où le CMS n'était pas sur Azure et n'avait donc pas la discordance de classement. Il utilisait une instance SQL locale avec la base de données master définie sur le même classement que Kentico. – Bagman

0

J'ai eu ce problème douloureux aussi. Je ne sais pas pourquoi Kentico a modifié le classement par défaut, mais la bonne chose est qu'Azure vous permet maintenant de définir le classement lorsque vous créez une nouvelle base de données. Vous avez juste besoin de taper 'Latin1_General_CI_AS' dans la boîte de classement.

+0

Je n'ai pas eu de problèmes lors de la création de la base de données Azure en tant que Latin1_General_CI_AS - le problème était que la base de données maître du serveur de base de données Azure est automatiquement définie comme SQL_Latin1_General_CP1_CI_AS et le problème survient lorsque Kentico exécute des requêtes incluant des tables dans la base de données master. – Bagman