J'ai récemment commencé à travailler sur une application héritée qui a l'essentiel de sa logique métier dans les procédures stockées réparties sur deux ou trois bases de données SQL Server. Actuellement, tout le code est également édité dans l'environnement en direct.Comment configurer un environnement de développement pour les procédures stockées SQL Server?
Comme je suis nouveau à la base de code, je ne veux pas vraiment faire des changements dans l'environnement réel et donc je suis en train de mettre en place un environnement de développement. Nous utilisons Visual Studio pour écrire tous les objets de la base de données et suivre ceux de Subversion. Avec ce que je peux alors mettre en place une instance dev SQL Server pour travailler, mais un problème est que le code est plein de références codées en dur pour les noms de serveur et base de données, par exemple un grand nombre de procs stockées ressembler à quelque chose comme ce qui suit:
CREATE PROCEDURE server1.db1.dbo.proc1 AS
INSERT INTO db1.dbo.table1
EXEC server2.db2.dbo.proc2
END
Comment puis-je changer toutes ces références de manière sûre? Jusqu'ici j'ai pensé à deux options:
1) Avoir un script qui exécute une recherche globale et remplace les noms de serveur sur ma copie de travail de subversion et puis exécute ce code modifié contre mes bases de données de test.
2) Configurer un alias DNS sur ma boîte locale en modifiant mon fichier \ windows \ system32 \ drivers \ etc \ hosts qui redirige server1 et server2 vers les instances de développement des bases de données. Sur les serveurs de production, ceux-ci pointeraient alors vers les bases de données de production.
Lequel de ces est une meilleure configuration à votre avis? Voyez-vous des risques avec ou que j'ai négligés et qui devraient être pris en compte?
Merci. Cela semble fonctionner très bien et c'est exactement ce que je veux. Je pense que je vais configurer des noms de service basés sur les rôles fonctionnels des serveurs et les lierai ensuite aux noms de machines physiques appropriés. Cela facilitera également la migration dans un scénario de récupération d'urgence. – snth