プロジェクトの開発プロセスでは、データベースの操作時にテーブル構造やストアド プロシージャなどの変更が頻繁に発生します。このとき、一般的な操作は SQL Server の Enterprise Manager を通じて直接実行されるか、クエリ アナライザーを通じて実行されます。実際のアプリケーションで安全を確保するために、データベースのプログラミング スタイルが適切であれば、通常はファイルの変更と更新のための SQL を生成します。 .NET プログラムを介したデータ テーブルとストアド プロシージャの利用がさらに便利になります。
まず、SQL ファイルを対応する WEB ディレクトリに転送する必要があります。このファイルは、リモート ユーザーが簡単にアクセスできない保護された場所にコピーするのが最善です。
Microsoft の SQL Server 製品グループがこの操作ページを作成しました。 http://www.codeplex.com/sqlhost/Wiki/View.aspx?title=UploadAndExecute ページにアクセスすると、RunSQL.aspx リンクが表示されます。 FileDownload.aspx という名前のページをダウンロードします。コードでは、定義されている 2 つのパラメーターが次のとおりです。
// 実行する T-SQL ファイルの URL
string fileUrl = @ "http://<>/<>.sql";
// 実行するサーバーへの接続文字列
String connectionString = @"<>";
fileUrl はアップロードされた SQL ファイルのストレージ パス アドレスと名前、connectionString はデータベース接続文字列を表します。次に、FileDownload.aspx をサーバーの WEB ディレクトリにアップロードする必要があります。このディレクトリには、ドメイン名を介して直接アクセスできる必要があります。
次に、ブラウザーを介してリモートの FileDownload.aspx Web ページにアクセスします。このとき、リモート サーバー上のページは .SQL ファイルを分析し、その中のすべての SQL ステートメントを実行します。 実行が成功すると、「T-SQL ファイルが正常に実行されました」というメッセージが表示されます。それ以外の場合は、特定のエラー情報が表示されます。
セキュリティのため、SQL スクリプト ファイルを実行した後、FileDownload.aspx Web ページと SQL ファイルをリモート サーバーから削除します。
この機能を維持する必要があり、メンテナンス中に一部の SQL ステートメント グループを頻繁に操作する可能性がある場合は、FileDownload.aspx を変更して次の改善を行うことができます:
1) 権限を増やす一部の機能は、不正なユーザーがこのページにアクセスすることを禁止します。バックグラウンド管理者のみが操作できるようにします
2) バックグラウンド経由でローカル SQL ファイルをアップロードし、サーバー上の指定されたディレクトリにアップロードすると、このページがそのファイルを動的に読み取ります
3) データベース接続文字列もWEB.CONFIGの形式で読み込むことでデータベースの一元管理を容易にします。
興味のある読者は、ここをクリックしてさらに展開してください。このようにして、.NET を通じて非常に柔軟なデータベース操作ページが構築されているため、製品をアップグレードまたはパッチ適用するたびに、データベース操作のメンテナンス用の SQL ファイル全体を作成できます。