Je cherche des conseils d'architecture impliquant les composants de moteurs de base de données et de services d'intégration de SQL Server 2017. Nous avons un environnement SQL Server existant, qui est dû pour une mise à niveau et a été utilisé historiquement d'une manière de moins que idéale. Avec une mise à niveau vers un nouvel environnement SQL Server à l'horizon, en tant qu'administrateur de systèmes, je souhaite utiliser cette opportunité pour repenser l'architecture existante pour fournir un environnement flexible plus robuste à l'avenir.
l'environnement actuel
Une instance d'entreprise SQL Server 2012 en cours d'exécution sur un cluster de basculement Windows à 2 nœuds. Le moteur de base de données est clustered et DTS Les packages sont stockés dans un volume en cluster et ces packages sont exécutés comme des travaux via l'agent SQL Server. Ils n'utilisent pas le composant de services d'intégration explicite.
le problème
Personnel qui gère l'entrepôt de données et créer/gérer les packages DTS est traditionnellement insisté sur le fonctionnement directement sur les nœuds de serveur en cluster via RDP. Cela crée des problèmes d'accès aux administrateurs de systèmes qui sont responsables des serveurs. eux-mêmes. Le personnel de données nécessite également une variété d'outils logiciels qui ont conduit à des problèmes d'espace disque persistants au fil du temps. En outre, bon nombre de ces outils logiciels ne sont pas connectés au cluster et ne sont installés que sur un nœud, ce qui nous laissait effectivement un cluster à poil. Dès le début. Le résultat est que tout moment il y a un basculement planifié ou non planifié, il y a une pression pour obtenir le nœud principal d'origine en ligne dès que possible car la plupart des emplois échouent, car ils s'appuient sur des logiciels locaux qui ne sont pas au courant de la grappe.
ne solution proposée
Installez le moteur de base de données seul sur son propre cluster sans accès RDP autorisé par n'importe quel personnel. Ils recevront uniquement l'URL des points d'extrémité de l'instance SQL Server. Installez le composant Services d'intégration sur un serveur distinct et proposez-leur de commencer à utiliser le catalogue SSISDB pour stocker leurs packages au lieu du système de fichiers. Je crois comprendre qu'il existe de nombreux avantages à utiliser le SSISDB.
questions
Tout conseil de conception est très apprécié. Merci.
Il s'agit d'une culture qui change autant que possible un processus de processus, alors avoir une assistance de la direction, vous serez important et vous protégera finalement de certains niveaux de résistance technique et d'aide à la diffusion de la manière dont ce changement stratégique améliorera la vie de tous.
Avant d'entrer dans le cas spécifique du catalogue SSIS, examinons un aperçu de vos options pour mieux vous armer avec les connaissances nécessaires pour communiquer pourquoi les développeurs devraient changer leur système:
SQL Version Compiled
>\Dts\packages ". Peut être déplacé.En fin de compte, vous pouvez décider de quel chemin fonctionnera pour votre organisation. Le catalogue SSIS est l'une des méthodes de plusieurs méthodes, alors obtenez votre gestion pour vous soutenir dans cette entreprise contribuera grandement à apporter des modifications. Après avoir décrit un exemple de schéma de déploiement, le reste de cet article mettra en évidence certaines conseils de gestion des SSIS de Studio Visual Studio.
Un exemple de schéma pourrait être le suivant:
Section de bonus:
Conseils de gestion Visual Studio:
--- (
Et la configuration 32 bits/64 bits en fonction des composants utilisés.
Conseils de gestion de catalogue SSISDB:
1) Vous pouvez restaurer des versions avec un clic de bouton pour annuler des modifications négatives ou même revenir en avant!
2) Vous pouvez gérer les paramètres du projet, valider, contrôler les versions de SSMS. Non vs requis.
Exemple:
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'<name of step>',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=3,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'SSIS',
@command=N'/ISSERVER "\"\SSISDB\Replication\SSISDB_Replication\SSISDB_Replication.dtsx\"" /SERVER <ServerName> /ENVREFERENCE 3 /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E',
@database_name=N'master',
@flags=0
3) Chaque travail d'agent SQL Server utilise ensuite ces paramètres après avoir sélectionné l'ensemble des environnements.
4) Vérifiez ce qui s'est effectivement passé mal à l'intérieur des SSMS sans recourir à votre serveur.
5) Voir la performance entre les courses qui utilise de vraies statistiques!
Est-ce que je manque quelque chose? N'hésitez pas à faire une réponse communautaire.