2017-05-16 2 views
0

私は奇妙なユースケースであるように見えますが、私はGoogleでも答えを見つけることができませんでした。私は、Web上の最新情報を保持するために、異なるクライアントから毎晩いくつかの異なるデータベースのコピーを取得するSQLサーバーバックエンドを持つWebサイトを持っています。ウェブサイトは14の異なるストアドプロシージャを利用して、ユーザーがサイトをナビゲートする際に必要なすべての情報を取得します。複数のストアドプロシージャを夜間にすべてのデータベースにインポート

これまで、私は各顧客データベースでこれらの手順を手動で更新して、常に最新のものであることを確認しています。しかし、私はそれぞれに大きな遠隔接続を持たず、IT部門との調整が必要なものもあるため、これは難しいです。代わりに私の目標は、フォルダ内を見て、すべてのデータベースに対してフォルダ内のすべての.sqlファイルを実行する夜間のタスクやスクリプトをセットアップすることです。

これは私が前進することができなかったところですが、SQLCMDを使用してタスクスケジューラを介してプロシージャを実行する方法を知っていますが、データベースの動的リストを使用する際にその方法を知りません。私は既に、各データベースの復元操作をサーバーにFTPで送信される.batファイルから実行することができます。これは、xp_cmdshellを使用して、変数に格納されたデータベースに対してフォルダ内の各ファイルを実行することは可能ですか?その他の提案はありますか?

+0

SSISはオプションですか?これを行うには、サーバー名または接続文字列をパラメータとして渡します。 –

+0

悲しいことに、私たちは私たちのウェブサイトを顧客に無料で提供しているので、私はエクスプレス版しか使用できません。これは、SQLCMDとbatファイル、またはxp_cmdshellのいずれかを使ってすべてを行う必要があることを意味します。 – dducharme

答えて

0

Powershellとプログラムは、必要に応じて使用できます。あなたは、PowerShellスクリプトからあなたが望むものすべてを行うことができます。 Powershellで必要なものだけをGoogleに提供すれば、答えが得られます。また、powershellでsqlcmdを使用して、任意のデータベースに対してSQLクエリを実行できます。それだけでなく、各ファイルをフォルダから読み込んで1つずつ実行することもできます。

最後に、夜間に実行するようにPowerShellスクリプトをスケジュールする必要があります。タスクスケジューラ、ノード、カスタムプログラムまたはカスタムサービスのいずれかの方法があります。

正しいキーワードでgoogleするだけで、たくさんのリソースが得られます。

あなたは今すぐ進むためにいくつかのアイデアがあるといいですね。

関連する問題