Windows認証を使用してSSASサーバーにキューブを作成し、展開しました。SSASでキューブのデータソースのユーザー名とパスワードを動的に変更
45日ごとに、クライアントの要求に応じてoracleソースdbパスワードが変更され、パスワード情報が監査テーブルに保存されます。
ここで、サーバーに配備した既存のキューブのパスワードを45日ごとに自動的に変更する必要があります。プロセスに影響を与えることなく。
私を助けてください。
Windows認証を使用してSSASサーバーにキューブを作成し、展開しました。SSASでキューブのデータソースのユーザー名とパスワードを動的に変更
45日ごとに、クライアントの要求に応じてoracleソースdbパスワードが変更され、パスワード情報が監査テーブルに保存されます。
ここで、サーバーに配備した既存のキューブのパスワードを45日ごとに自動的に変更する必要があります。プロセスに影響を与えることなく。
私を助けてください。
これを処理する1つの方法は、キューブを処理するジョブにステップを追加することです。
ステップはキューブ処理ステップの前に来て、監査テーブルを読み取って現在のoracleパスワードを確認し、使用するキューブのデータソース・ノードを変更するアプリケーション(コンソールまたはssis)を実行します。 oracle接続の現在のパスワード。
はい、SSISで実行できます。
SSISパッケージを起動するときにパスワードがわかっていると仮定します。パッケージを作成し、十分なユーザー権利を持つSSASサーバーへの接続を定義します。次の式でパスワードを持つStringユーザー変数と文字列のユーザー変数XMLA_Change_Pwdを作成します。
"<Alter AllowCreate=""true"" ObjectExpansion=""ObjectProperties"" xmlns=""http://schemas.microsoft.com/analysisservices/2003/engine"">
<Object>
<DatabaseID>You_SSAS_DB</DatabaseID>
<DataSourceID>Your_DataSource</DataSourceID>
</Object>
<ObjectDefinition>
<DataSource xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:ddl2=""http://schemas.microsoft.com/analysisservices/2003/engine/2"" xmlns:ddl2_2=""http://schemas.microsoft.com/analysisservices/2003/engine/2/2"" xmlns:ddl100_100=""http://schemas.microsoft.com/analysisservices/2008/engine/100/100"" xmlns:ddl200=""http://schemas.microsoft.com/analysisservices/2010/engine/200"" xmlns:ddl200_200=""http://schemas.microsoft.com/analysisservices/2010/engine/200/200"" xmlns:ddl300=""http://schemas.microsoft.com/analysisservices/2011/engine/300"" xmlns:ddl300_300=""http://schemas.microsoft.com/analysisservices/2011/engine/300/300"" xmlns:ddl400=""http://schemas.microsoft.com/analysisservices/2012/engine/400"" xmlns:ddl400_400=""http://schemas.microsoft.com/analysisservices/2012/engine/400/400"" xsi:type=""RelationalDataSource"">
<ID>DataSource ID</ID>
<Name>DataSource Name</Name>
<Description>Description</Description>
<ConnectionString>...Put your connection string here...</ConnectionString>
<ImpersonationInfo>
<ImpersonationMode>ImpersonateAccount</ImpersonationMode>
<Account>domain\login</Account>
<Password>"[email protected][User::Password]+"</Password>
</ImpersonationInfo>
<Timeout>PT10M</Timeout>
<MaxActiveConnections>120</MaxActiveConnections>
</DataSource>
</ObjectDefinition>
</Alter>"
独自のデータソース、またはより良いと一致するように、この例を修正 - SSMSからデータソースのためのアルターXMLAを生成し、表現とそれを修正します[email protected][User::Password]+
である。 次に、Analysis Services DDL Task
を追加し、SourceType - VariableおよびSource - User :: XMLA_Change_Pwdを指定します。
あなたの応答Ferdipuxに感謝します。私はImpersonationInfoを変更していない、私はConnectionStringパラメータ(ユーザーIDとパスワード)を変更する必要があります。これは同じことを可能にするか、またはメタデータテーブルを使用するかどうかです。 – jay
@ jay、SSASは接続文字列にパスワードを保持しません。したがって、特定のアカウントを使用してOracleにアクセスする場合は、ImpersonationInfo - ImpersonateAccountを使用する必要があります。接続文字列のみを変更したい場合でも、DataSourceのすべてのプロパティを指定する必要があります。これはXMLAの設計によるものです。 – Ferdipux
@Ferdipuxあなたは上に示唆したことをすることができますが、接続文字列にパスワードを入れてください。データソースをスクリプト化すると、この情報は表示されませんが、保存されます。 – GregGalloway
'.net'と' ssis'はこの質問と何が関係していますか? –
では、SSISを使用してスクリプトタスクを記述することができます。それは理由がSSISと.Netをテイクした – jay