タグ付けされた質問 「ssis」

SQL Server IntegrationServices。Microsoftから販売され、SQL Server 2005以降のバージョンのSQL ServerにバンドルされているETLツールです。

1
SSDTスキーマ比較は、BULK INSERTの進行中は機能しません
私は、SFSとSSDTの両方と一緒にTFS /ソース管理を使用する大規模なETLおよびDWプロジェクトで働いています。 今日、SSISパッケージがデータベーステーブルへの一括挿入を実行している間、そのデータベースに対してSSDTスキーマ比較を実行できないことがわかりました。一部のパッケージの完了には非常に長い時間がかかるため、これは残念です。データベースのバージョン管理のためにSSDTプロジェクトに保存するために、スキーマ比較機能を使用してデータベース構造への変更を検出します。 これについてもう少し詳しく見てみると、SSDTのスキーマ比較関数OBJECTPROPERTY()が、データベースのテーブルでシステム関数を呼び出すSQLスクリプトを実行していることがわかりました。特に私の場合、が現在一括挿入されているテーブルを参照する場合、への呼び出しはすべてOBJECTPROPERTY(<object_id>, N'IsEncrypted')ブロックされているよう<object_id>です。 Visual Studioでは、SSDTスキーマ比較はしばらくするとタイムアウトし、違いが検出されなかったと主張します。 SSDTでこの問題の回避策はありますか、それともMS Connectバグレポートを提出する必要がありますか? または、BULK INSERTはSSISパッケージからOBJECTPROPERTY行われるので、テーブルの呼び出しをロックせずにこの挿入を行う方法はありますか?編集: SSIS OLE DB宛先では、「テーブルのロック」からチェックマークを削除できます。チェックマークはそれを実行しますが、状況によってはパフォーマンスが低下する可能性があります。一部のオブジェクトがロックされている場合でも、SSDTスキーマ比較でその機能を実行できるようにするソリューションの方がはるかに興味があります。
11 sql-server  ssis  ssdt 

1
BIDSでファジールックアップを使用できない
私の同僚がBIDSで問題を抱えていました。彼は単純なあいまい検索を行っており、2行のみを検索しています(テスト用)。奇妙なことに、彼がコマンドラインを実行しようとすると、プロンプトが表示されて消えてから、パッケージがハングします。 それで私は彼にパッケージを送ってもらい、それを自分で実行することを決め、まったく同じことが起こっているのを見つけましたか? それは本質的に永遠にそのように座ります。エラーメッセージも何もありません。それが私に与える最後のメッセージはこれです。 [SSIS.Pipeline] Information: Execute phase is beginning. 私は問題が何であるかについての直感を持っているので、今これはスーパーユーザーか何かに置かれる方が良いかもしれません。私たちのコンピューターは苛立たしい程度にロックダウンされています。インストールの失敗やソフトウェアが正常に機能しない場合に遭遇するいくつかの問題があります。 何が起こっているのか、またはそれを修正する方法についてのアイデアがある場合は、私に知らせてください。 更新:このパッチをインストールしても役に立たなかった。32ビット、64ビット、または管理者としては機能しません。 出力も続き、最後はこれです。 SSIS package "Package1 (1) (1).dtsx" finished: Canceled.
11 ssis 

3
エラー:「SQL Serverデータツールの外部でssisパッケージを実行するには、Integration Services以上の[成功したメールを送信]をインストールする必要があります。」
このQusetionのタイトルは、このユーザーに固有の逐語的なエラーメッセージであることに注意してください。エラーメッセージは、エラーメッセージ文字列にユーザー変数を代入するdtexecアプリケーションのバグを示しています。この場合、標準メッセージStandard E ditionはに置き換えられsend successful emailます。 「標準」のエラーメッセージは次のようになります。 説明:Business Intelligence Development Studioの外部でSSISパッケージを実行するには、Integration ServicesのStandard Edition以上をインストールする必要があります。 バージョンSSIS2012。パッケージは元々2005バージョンでした。ファイルシステム上のパッケージ。 ホスト1のDBエンジン/エージェント、ホスト2のSSIS。 ホスト2からの実行は正常に実行されます。ホスト1から実行すると、質問の件名にエラーが表示されます。この投稿を見ましたが、エンジンとエージェントはホスト1にインストールされています。正確なエラーを検索しても、Googleは結果を返しません(件名は正確で、エラーメッセージの文言は奇妙です)。 ありがとうございました!

2
DBパフォーマンスを最大化するには、SSISを介して大量のデータをSQL Server 2008にロードした後に実行する必要があるコマンド
テストデータを空のデータベースに読み込むSSISパッケージを作成しました。一部のテーブルは非常に大きい(約7億行)。SSISパッケージが完了したら、データベースのパフォーマンスを最大化するために(見習いDBAとして)実行する必要があるコマンドはありますか? たとえば、私は実行しましたEXEC sp_updatestatsが、インデックスを更新する必要がないと報告されました。 大量のデータが読み込まれた後に行うことのリストはありますか、それともSQL Server 2008がそれらすべてを処理してくれるのですか?

1
ローカルサービスアカウントで実行されているSQL Serverからドメインユーザーが所有するSSISパッケージを実行する
SQL Serverオブジェクトの転送タスクを含むSSISパッケージを実行したいのですが。関連するサーバーは同じドメイン上にありますが、SQL Serverサービスはローカルサービスアカウントで実行されています。したがって、環境は次のようになります。 ドメイン サーバー1 ローカルアカウントで実行されているSQL Server ファイルシステム:SSISパッケージ SQL Serverエージェント:ジョブ サーバー2 ローカルアカウントで実行されているSQL Server 両方のサーバーにログオンできるようにするために、サービスアカウントとして使用するドメインアカウントを作成しました。このドメインアカウントを使用してサーバー1にログオンし、ファイルシステムからパッケージを実行すると、すべての手順が成功します。しかし、SQL Serverにジョブを追加しようとすると、次のいずれかの問題が発生します。 状況1.ジョブの所有者:ローカルアカウント。ドメインアカウントのプロキシとしてSSISステップを実行します。ジョブの所有者をローカルアカウントに設定し、ジョブをドメインアカウントのプロキシとして実行すると、ジョブ自体は正常に実行されますが、パッケージは次のようなエラーをスローします 次のエラーで実行が失敗しました:「ディレクトリ 'LocalApplicationData'は存在しません。」 このエラーは、サーバー1でドメインユーザーの管理者権限を持つログインを作成することで修正できますが、これは明らかに望ましい解決策ではありません。SQL ServerエージェントまたはDTSグループのいずれかにアカウントを追加しても機能しません。 状況2.ジョブの所有者:ドメインアカウント。ドメインアカウントのプロキシとしてSSISステップを実行します。ジョブの所有者とステップの「ユーザーとして実行」の両方をドメインアカウントに設定すると、ジョブがまったく開始されず、次のエラーが発生します。 ジョブの所有者(ドメイン\ドメインユーザー)にJob nameサーバーアクセスがあるかどうかを判別できません(理由:Windows NTグループ/ユーザー 'ドメイン\ドメインユーザー'に関する情報を取得できませんでした。エラーコード0x5。[SQLSTATE 42000](エラー15404)) 。 最後のエラーは、SQL Serverがローカルアカウントで実行されており、ドメインアカウントの権限を確認できないためだと思います。 ジョブを実行させる正しい方法は何ですか?状況2は私にはきれいに感じられますが、SQL Serverがローカルアカウントで実行されているため、不可能に思えます。状況1でも機能しますが、ドメインユーザーにSQL Serverの管理者権限を与えることはできません。 更新: @JonSeigelおよび@ Mr.Brownstone: これは、権限が不足しているために問題が発生していると考えられます。ただし、エラーは存在しない 'LocalApplicationData'(アカウントごとに生成されるフォルダーの1つ)に関するものです。パッケージを実行する資格情報を使用してサーバーにログインし(これにより、プロファイルディレクトリを作成します)、プロファイルディレクトリのアクセス許可のいくつかの組み合わせを試しました。この特定のディレクトリに対するほとんどすべてのアクセス許可を手動で付与する場合でも、上記のエラーが発生します。 さらに調査を行っているときに、http: //www.sqlservercentral.com/Forums/Topic391332-148-1.aspx#bm391441のフォーラムスレッドに遭遇しました。
10 sql-server  ssis 

2
Tablockヒントがデッドロックをトリガーする
最小限のログを使用して、2つのデータセットを空のヒープテーブルに挿入しました。これは、次の形式のSQLで並列実行されている2つのSQL実行タスクを使用して行われました。 INSERT INTO Table (TABLOCK) SELECT FROM ... ジョブが少しハングした後、SQLタスクの1つがデッドロックの犠牲になりました。以下は、デッドロックグラフのXML出力です。 誰かが内部で何が起こっていたか説明できますか? <resource-list> <objectlock lockPartition="0" objid="1586156746" subresource="FULL" dbid="7" objectname="dbo.TargetTable" id="lock7374a00" mode="IX" associatedObjectId="1586156746"> <owner-list> <owner id="process9609dc8" mode="Sch-S"/> <owner id="process9609dc8" mode="IX"/> </owner-list> <waiter-list> <waiter id="process5e13048" mode="X" requestType="convert"/> </waiter-list> </objectlock> <objectlock lockPartition="0" objid="1586156746" subresource="FULL" dbid="7" objectname="dbo.TargetTable" id="lock7374a00" mode="IX" associatedObjectId="1586156746"> <owner-list> <owner id="process5e13048" mode="Sch-S"/> <owner id="process5e13048" …

1
SSISに接続する特権を付与するにはどうすればよいですか?
dtexec.exeを使用してSSISパッケージを実行しようとすると、次のエラーメッセージが表示されました。 Could not load package "D:\Filename.dtsx" because of error 0xC00160AE. Description: Connecting to the Integration Services service on the computer "" failed with the following error: "Access is denied." By default, only administrators have access to the Integration Services service. On Windows Vista and later, the process must be running …

1
無視されているSSIS 2008パッケージ構成
コマンドラインで/ ConfigFile something.dtsConfigを指定すると、2005年と比較して2008年にパッケージ構成が変更されるため、パッケージで定義された変数は、構成ファイルの設定を使用するのではなく、設計時の値を保持します。 外部設定ファイルを使用する方法を完全に理解しているのか、私にはよくわかりません。設定されている設計時の構成のみが外部ファイルの負荷を上書きするという記事を読みました。これは、変数を空の文字列に変更すると、上書きされることを意味しますか?変数を完全に削除することはできません!整数はどうですか? パッケージのパッケージ構成を使用してオフにすることについて言及している記事を見ました。 SSISパッケージエディターまたはXMLエディターを使用してパッケージ内の構成ファイルのパスを変更し、そのファイルの設定を "外部"(外部の/ ConfigFileオプションに関係なく)使用しますが、パッケージの変更。Test.dtsConfigとProduction.dtsConfigを含む1つのパッケージが必要で、パッケージを変更せずに前後にスワップできるようにします。 これを行うための推奨される方法は何ですか?

3
Datawarehouse Design:結合された日付時間ディメンションと、個別の日付および時間ディメンションとタイムゾーン
新しいデータウェアハウスの設計を開始したばかりで、日付と時刻のディメンションがどのように機能するかを設計しようとしています。複数のタイムゾーン(おそらく少なくともGMT、IST、PST、EST)をサポートできる必要があります。最初は、おそらく15分の粒度まで1つの広い日付時刻ディメンションを組み合わせると考えていました。これにより、ファクトテーブルに1つのキーがあり、サポートされるすべてのタイムゾーンのすべての異なる日付時刻データが1つのディメンションテーブルに含まれます。(つまり、日付キー、GMT日付、GMT時間、IST日付、IST時間など...) キンボールは、テーブルが大きくなりすぎないように(データウェアハウスツールキットp。240)、時間ディメンションとは別の日ディメンションを使用することを推奨していますが、これは、各タイムゾーンのファクトテーブルに2つのキーがあることを意味します。サポートする必要があります(1つは日付用、もう1つは時刻用)。 私はこの領域で非常に経験が浅いので、誰かが2つのアプローチ間のトレードオフ、つまりパフォーマンスとすべての異なるタイムゾーンキーの管理のトレードオフを知っていることを望んでいます。おそらく他のアプローチもあるかもしれませんが、ファクトテーブルにタイムゾーンごとに別の行があることを話している人を見たことがありますが、ファクトテーブルが数百万の行である場合、タイムゾーンを追加するためにそれを4倍にする必要があるという問題のようです。 15分の粒度を使用すると、日付時刻ディメンションテーブルに1年あたり131,400(24 * 15 * 365)行が含まれます。これは、パフォーマンスにとってそれほどひどく聞こえませんが、いくつかをテストするまで確実にはわかりません。プロトタイプクエリ。ファクトテーブルに個別のタイムゾーンキーがあることの他の問題は、クエリが目的のタイムゾーンに基づいてディメンションテーブルを別の列に結合する必要があることです。これはおそらくSSASが処理しますが、よくわかりません。 どんな考えにも感謝します、-Matt

2
SSISスクリプトコンポーネント-Output0Bufferを変更する方法
SQL Azureデータベーステーブルからのレコードを受け入れるスクリプトコンポーネントがあります。次にスクリプトはWebサービスを呼び出し、Webサービスは失敗したレコードと成功したレコードの数を返します。 すべてのレコードについて、「成功」または「失敗」のいずれかを含むステータスフィールドを追加します。これにより、スクリプトコンポーネントから出力が取得されます。 次に、それらの出力をテキストファイルに記録します。 問題:Webサービスの呼び出しは実行後のみに発生するため、各入力レコードのステータスを追加できません。 私はこれを試しましたが、それでもうまくいきません: public override void Input0_ProcessInputRow(Input0Buffer Row) { listOfData.Add(new ClockData { TimeClockID=Row.TimeClockID, PersonID=Row.EmployeeCode, LocationCode=Row.ClockInServiceContextID, ClockInDateTime=Row.ClockInDateTime, ClockOutDateTime=Row.ClockOutDateTime }); } public override void CreateNewOutputRows() { MessageBox.Show("Test CreateNewOutputRows"); MessageBox.Show(listOfData.Count.ToString()); foreach (var item in listOfData) { Output0Buffer.AddRow(); Output0Buffer.EmployeeCode = item.PersonID; MessageBox.Show(item.PersonID); } }
10 sql-server  ssis 

4
SSISでスクリプトタスクのバージョンを変更する方法
VS2015のSSISプロジェクトにスクリプトタスクを追加しました。SQL Server 2016に展開すると、version 15.0スクリプトがサポートされていないというエラーメッセージが表示されました。 これはどこにありますversion 15 come fromか?スタックオーバーフローに関する他の同様の質問を読むと、プロジェクトのターゲットバージョンをSQL Server 2012に設定できることがわかります(私が行った(最終的な展開ターゲットはSQL Server 2012))。 また、スクリプトタスクを削除して再作成してみました。スクリプトの情報では、C#のV10を使用していると記載されています。 どうすればこれを解決できますか? スクリプトタスク:エラー: XMLからスクリプトタスクを読み込むときに例外が発生しました:System.Exception:スクリプトタスク "" ST_a1ad9dc5972c42b68c12a13155f10b6d ""は、このリリースのIntegration Servicesでサポートされていないバージョン15.0スクリプトを使用しています。パッケージを実行するには、スクリプトタスクを使用して新しいVSTAスクリプトを作成します。ほとんどの場合、%SQL_PRODUCT_SHORT_NAME%Integration ServicesでSQL Server Integration Servicesパッケージを開くと、サポートされているバージョンを使用するようにスクリプトが自動的に変換されます。Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML(XmlElement elemProj、IDTSInfoEvents events)で」 SSDT 2012でもプロジェクトを開き、別の名前で再構築しました。同じエラー。削除されていない参照などがあるはずです。 この質問の解決策(/programming/34893267/ssis-script-task-vs15-not-work-when-deploy-on-sql-server-2014)はどれも機能しませんでした。 スクリプトが含まれているパッケージのXMLを見ると、そのタスクを簡単に見つけることができます。バージョン15への参照はどこにもありません。 ===========編集 データベースをホストするマシンにプロジェクトをコピーし、VS2015を開いてそこからデプロイすると、パッケージが実行されます。 そして、私のマシンに戻ってそこでビルドするときは、そうではありません。 これはバグですか?または、ビルドがVSからのウィザードを使用するのと同じ展開ウィザードを生成することを期待して、私は何か愚かなことをしていますか? SQL Server 2016(13.0.4411.0)がssisdbあり、スキーマバージョン(13.0.1601.5)があります。 Visual Studio 2015で作成された統合サービスパッケージを使用しています。スクリプトコンポーネントにはパスがあります。C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstax統合サービスカタログからパッケージを実行することはできません(Zachのメッセージが原因です)。ただし、ファイルシステムから(SQLエージェントを使用して)実行できるようです。これが機能しているかどうかは不明ですが、パッケージが完了すると更新されます。
10 ssis 

2
SSISデータフローデータアクセスモード-「テーブルまたはビュー」と高速ロードのポイントは何ですか?
SQL Server Business Intelligence Development Studioを使用して、OLE DB宛先データフローへのフラットファイルを大量に実行して、SQL Serverテーブルにデータをインポートします。OLE DB宛先エディターの「データアクセスモード」では、デフォルトで「テーブルまたはビュー-高速ロード」ではなく「テーブルまたはビュー」になります。違いはなんですか; 認識できる唯一の違いは、高速のロードがデータをはるかに高速に転送することです。
9 ssis 

2
SSIS Excel接続マネージャーエラー0xC0209303を解決するにはどうすればよいですか?
ExcelファイルをSQL ServerテーブルにインポートするSSISパッケージを作成しました。 SSISパッケージを自分のマシンでローカルに実行すると問題なく実行されますが、パッケージがスケジュールされるサーバーで実行すると、次のエラーが発生します(テキストファイルから、SSISログを使用してエラーを出力しています)。 調査した後、私が見つけた唯一の推奨事項は、Run64BitRuntimeプロパティをfalseに設定することでしたが、それでもうまくいきませんでした。私が見つけた記事のように、エラーが64ビットに関して何も指定していないため、これが私のエラーの原因であるとは思いません。 また、サーバーに適切なExcelドライバーがないことも考えられますが、通常はエラーメッセージにドライバーが登録されていないというメッセージが表示されるため、そうではありません。 現在、サーバーへのリモートアクセスがありません。パッケージをフォルダーにアップロードするだけで、アプリケーションによって実行されるため、表示されるエラーメッセージは、作成したテキストエラーログの内容だけです。 エラーコードDTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。接続マネージャ "Envision"へのAcquireConnectionメソッドの呼び出しは、エラーコード0xC0209303で失敗しました。この前に、AcquireConnectionメソッドの呼び出しが失敗した理由の詳細を含むエラーメッセージが表示される場合があります。 "Envision"は、私のExcel接続マネージャーの名前です。 式を使用してExcelファイルパスと接続文字列を入力します。 接続文字列式は次のようになります。 "Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" + @ [User :: SourceFilePath] + "; Extended Properties = \" EXCEL 12.0 XML; HDR = YES \ ";" SSIS Pacakgeは、Windowsのユーザー名/アカウントによって実行されます。Webサービスアカウントの可能性があります。(BDS_sprtIIS) ローカルマシンでのみ機能するパッケージのこの問題を解決する方法に関する解決策や提案はありますか?パッケージが展開される実際のサーバーでは機能しませんか? 私は別のフォーラムで以下の回答を見つけました、それが私の問題の原因である可能性がありますか?彼らは基本的に、Excel接続マネージャーが何らかの理由でユーザーの一時フォルダーにアクセスしようとし、そのフォルダーへのアクセス権がない場合は失敗することを言っています。 https://social.msdn.microsoft.com/Forums/sqlserver/en-US/da77919c-0161-4eb5-bf89-7107d839435a/the-acquireconnection-method-call-to-the-connection-manager-excel-connection- manager-failed-with?forum = sqlintegrationservices Microsoft.JET.OLEDB.4.0ドライバーが、ログインしているユーザーのプロファイルの下にある一時ディレクトリを読み取ろうとすることにも気付きました。 。 ...下位レベルのドメインアカウントを使用してSQLエージェントを実行し、プロキシアカウントを使用してSSISパッケージを実行します。プロクモンも私のためにそれを確認したので、あなたは正しいです。プロキシアカウントにプロファイルの一時ディレクトリ(C:\ Documents and Settings …

1
ストアドプロシージャの結果をSSIS変数に割り当てる
ストアドプロシージャからSSIS変数に値を取得し、式を追加した場合に2つのSSISタスクが機能するかどうかをテストしています。したがって、例として、このストアドプロシージャを使用しようとしています。 おそらく、SSIS変数のプロパティを完全に間違って設定しているのかもしれません。これは、ストアドプロシージャの値をSSIS変数にインポートするための正しい方法でこれを行っているかどうかもわからないためです。他に何かスクリーンキャプチャが必要かどうか教えてください。 これがタスクの例です: そしてここに優先順位制約エディタのスクリーンキャプチャがあります: そして、これが最初のタスクのプロパティです: その条件に基づいて前進(または失敗)させたい。しかし、テストすると、プロセスは最初のタスクから2番目のタスクに関係なく流れ、最初のタスクの「100%完了」のみを示し、この式が真かどうかをチェックしたかどうかについては何も表示しません。どうすればこのようなことができますか?ストアドプロシージャから値を取得するために、SSISに 'orderCount'という変数があります。

2
SQLサーバーの最大メモリにSSISが含まれていますか?
次のサーバーにSQLサーバーの2つのインスタンスとSSISをインストールしました。 RAMの容量は384 GBに近いことに注意してください これは、2つのインスタンスに適用した最大および最小のメモリ設定です。私は両方のインスタンスが等しい量のリソースを使用すると仮定します。それが実際に当てはまる場合、180 GBである184,320 MBが私のメモリをセットアップするための適切な開始番号ですか? SSISにはどのくらいのメモリを割り当てますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.