Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Team System Database : Quelques conseils pour importer ses données et gérer les références

Dans ma période d'usage intensif de la dernière version de Team System Database Edition (GDR), voici les quelques points que j'ai pu rencontrer sur des grosses bases de données et qui pourrait vous servir aussi.

1. Supprimer les références de la base vers elle-même

Les MaBase. / "MaBase". / [MaBase]. S'ils sont présent dans le code de base de données sont à proscrire. En effet c'est la cause numéro 1 des avertissements et erreur de l'outil. Ces références sont par ailleurs totalement inutiles dans la base elle-même et empêche la compilation du projet lorsqu'elles sont présentes dans des vues et des fonctions.

  • Moralité la première étape après l'import est de faire un gros « Remplacer » de toutes ces références par rien !

2. Les références vers d'autres bases de données

Si vous travaillez avec plusieurs bases de données qui pointent les unes vers les autres, vous vous rendrez vite compte que les regrouper au sein d'un même projet pose pas mal de problème de références, et si celles-ci sont circulaires.... Heureusement des solutions existent. Sachez comme évoquez dans le point ci-dessus que seules les références des fonctions et vues empêchent la compilation.

  • Commencer par les bases ayant le moins de références externes ou pas du tout (merci Guillaume pour le conseil)
  • Commentez les portions de code rebelle en mettant un tag à vous pour les retrouver et les dé-commentés quand vous aurez ultérieurement résolu la référence.

3. Les références circulaires

Si vous avez fait comme ci-dessus vous devriez être capable de compiler un projet, une fois ceci fait :

  • Référencez uniquement les fichiers .dbschema et pas les projets
  • Indiquez dans les propriétés de la référence d'ignorer les avertissements de la référence elle-même (l'outil ne regardera que les référence de don projet pas plus loin)

4. Les références qui résistent toujours après çà

Une fois tous les projets liée entre eux ils vous restera quelques références rebelles, telles que les références à certains objets système (sys.*), les tables et procédures situés dans master, msdb. Et si vous créez des objets directement dans tempdb non préfixés par # ou ## les tables, procédures, etc. qui ont été crée dans tempdb aussi.

  • Créez un projet serveur dans lequel vous scriptez le contenu de la base de données système contenant ces objets
  • Si vous utilisez ces 3 bases de données systèmes, essayez autant que possible de les regrouper au sein d'une même base (le refactoring vous aidera au besoin).

5. Comptes de sécurités et droits d'accès

Les permissions peuvent être stockées dans les propriétés de la base de données, si vous le choisissez. J'ai une opinion assez mitigé du choix à faire étant données qu'il faut distinguer les comptes nécessaires à l'application de ceux nécessaires aux administrateurs et développeurs.

  • Conservez uniquement les utilisateurs nécessaires à l'application dans la base de données
  • Attribuez de préférences les droits à des rôles et mettez les scripts de création des logins / utilisateurs dans un projet serveur ou à l'inverse regroupez tout dans la base de données. Quitte à créer vos scripts personnalisés.
  • Autant que possible bannissez les AUTHORIZATION farfelus (propriétaire des objets) et confiez les tous au bon soin de [dbo] comme propriétaire.

6. Les objets orphelins

Après tout çà vous aurez forcément des références toujours non valides, mais celles restant devraient être des « vieux » morceaux de code ayant de réelle références invalide.

  • Testez donc dans votre base de données originale pour bien être certains que le code est bien un « oublié » de la base

En suivant ces conseils vous devriez être armé pour le pire ;o)

Bon import...

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié vendredi 27 mars 2009 09:10 par christian

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01