Nous avons une application qui contient plus de 1000 bases de données et plus de 600 sprocs. Chaque base de données représente un client différent. Problème: Nous devons déplacer ceci vers une base de données unique tout en créant le moins d'effet possible sur l'interface utilisateur, ce qui signifie ne pas modifier toutes les signatures de sproc à un moment donné.Préparation du transfert vers une base de données unique
La chaîne de connexion définit actuellement l'attribut de base de données, une proposition consiste à le déplacer vers l'attribut utilisateur. Cet attribut (using SYSTEM_USER) pourrait être utilisé pour déterminer l'identificateur de site qui serait utilisé sur la clause where.
Ce qui précède ne serait pas la solution finale, mais nous permet d'apporter des modifications à la signature sproc à un rythme contrôlé lent. Une fois que tout est fait, nous pouvons corriger le lien et obtenir un certain nombre de connexions.
Y a-t-il une limite au nombre de connexions/utilisateurs que nous pouvons avoir sur sqlserver 2005/8. Ou est-ce que quelqu'un a été dans cette voie qui pourrait faire la lumière sur une meilleure option.
comment avez-vous deviné. – Thad
Non, si vous placez les données dans des schémas distincts - un par client - et que vous appliquez les autorisations appropriées, le client ne verra PAS les données des autres. –
Je ne suis pas sûr que les schémas vont aider. Dans la base de données combinée, il existe un ensemble de tables et une colonne d'identificateur de site indiquant à qui chaque ligne appartient, plutôt que plusieurs tables appartenant chacune à un client. – stevemegson