データベースに接続文字列を格納するというアイデアは、間違った考えですが、最初に聞いてください。 web.configファイルで接続文字列を暗号化するのがベストプラクティスだとわかっていますが、web.configファイルを完全にスキップするだけの場合はどうすればよいでしょうか?Webサービス経由での接続文字列へのアクセス
数ヶ月前に、あるサーバーから別のサーバーにデータベースを移動するように求められました。これは、これらのさまざまなデータベースにアクセスするすべてのプログラムで接続文字列を更新する必要があることを意味していました。これは2年で3回目ですが、データベースをあるサーバーから別のサーバーに移動しなければなりませんでした。だから、私はデータベースに接続文字列を格納し、それぞれのGUIDにWebサービス経由でアクセスするように割り当てることを考えました。 web.configに接続文字列を配置する代わりに、web.configに接続文字列GUIDを格納し、接続文字列を要求できるように接続文字列Webサービスを参照するだけで済みます。暗号化はアプリケーションレベルで実行でき、接続文字列はデータベースに暗号化されて保存されます。
私は概念証明を作成しましたが、それは正常に動作します(ローカルイントラネット上であり、インターネットに公開されていない)。
利点は私には明らかです。 Webアプリケーションに触れることなく接続文字列を素早く更新することができます。つまり、データベース内の接続文字列を編集するためだけにWebアプリケーションを構築し、DBAがそこで使用することができるため、データベースを移動するときにプログラマが気にする必要はありません。
しかし、私が関心を持っているのは興味がありません。私はここのみんながこういうことをやっていると思っていることに興味がありますか?
私はそれが素晴らしいアイデアだとは思わないのですが、質問するのは良い質問だと思います! –
データベースを移動するときにDBAがなぜ開発者を悩ませる必要があるのでしょうか?設定ファイルを更新するだけです。 DBを移動するだけでコードを再構築する必要がある場合は、デザインが悪いです。つまり、非常に広く分散されたシステムを使用している場合、configの集中化には利点があります。 – Joe
私は、デベロッパーがデータベースの移動に煩わされるべきではないことに同意しますが、私がいるところの「DBA」はSQLとSQLサーバーを恐怖に感じます。その声明が沈むのを待ってください。私が実際に冗談を言っていたらいいのに。 – Adam