web-dev-qa-db-ja.com

クラスターエンタープライズのSSIS

データウェアハウス用に、2ノードのクラスター化されたSQL Server 2014、エンタープライズ、環境があります。ストレージ、ネットワーク、サーバーはすべて高性能(1 TBメモリ、ノードあたり32コアCPU、すべてSSD)

SSIS自体を配置する場所を考え出そうとしています。 Microsoftのドキュメントに基づいて、クラスタ化することはお勧めしません。したがって、2つのノードに配置しないでください(インスタンスとともにインストールしましたが、そこから無効にできる場合は使用する必要はありません)反対に、同じエコシステム内の利用可能なサーバー(ベンダーの独自のETLに使用されます)に配置するために、8つのvCPUのライセンスにお金をかけたくありません。

クラスター化されたSQL Serverデータベース環境にSSISをインストールする方法/場所に関するベストプラクティスと推奨事項は何ですか?

ありがとう、ウェス

編集:マイクロソフトはこれをここで議論します: https://docs.Microsoft.com/en-us/sql/integration-services/service/integration-services-ssis-in-a-cluster しかし、しません代替案として推奨されるアプローチを検討してください。

5
Wes

SSISをクラスターで動作させることができました。 SSISリソースをSQL Serverと同じクラスターに配置し、DCOM権限を追加しました。残りの項目は、SSMSでMSDBを拡張できない場合のみです。 「ユーザー「NT Authroity\Anonymous Logon」のログインに失敗しました」というダブルホップ認証の問題のようです

1
Wes

SSISカタログとSQL Serverエージェントはどちらもフェールオーバークラスターインスタンスの一部であり、フェールオーバークラスターインスタンスがフェールオーバーするとフェールオーバーします。したがって、私の推奨は、すべてのパッケージをSSISカタログに保存し、SQLエージェントを使用してすべてをスケジュールすることです。そして、単にSSISサービスを完全に無視します。

「このセクションのトピックでは、Integration Servicesパッケージを管理するためのWindowsサービスであるIntegration Servicesサービスについて説明します。このサービスは、Integration Servicesパッケージの作成、保存、実行には必要ありません。SQLServer 2012は、 Integration Servicesの以前のリリース。 " https://docs.Microsoft.com/en-us/sql/integration-services/service/integration-services-service-ssis-service

公式にはサポートされていませんが、Matt MassonはSQL 2012または2014 alwayson環境でSSISを活用するための優れた方法を公開しました。

https://blogs.msdn.Microsoft.com/mattm/2012/09/19/ssis-with-alwayson/

要点をまとめると、SSISDBデータベースは変更なしで問題なくフェイルオーバーできますが、新しいノードでは、誤ったサービスマスターキーによって暗号化が設定されているため、パッケージの実行に失敗します。

ジョブを使用してフェールオーバーを自動検出し、データベースを再暗号化することは、SSISDBを正常なプライマリで維持するために非常にうまく機能します。

このアプローチにはいくつかの注意点があります。つまり、パッチを適用するときは、AGからSSISDBを削除し、セカンダリノードから完全に削除する必要があります(復元状態のままにしないでください。そうしないと、システムデータベースのアップグレードスクリプトが失敗し、インスタンスを回復するのが難しい場所に残ります)。パッチが完了したら、AGに再度追加できます。

この方法を過去3年間マルチサブネットのAlwayson可用性グループで使用しており、問題はありませんでした。

1
entangledphoton