質問: ### 前提・実現したいこと Access2003よりODBCにてSQLServerに接続しているシステムがあり、 SQLServerにて作成したIDにてODBC接続を行い、テーブルを参照しております。 ### 発生している問題・エラーメッセージ 今回mdbを他のマシンに移行する予定なのですが、誰も上記IDのパスワードを 覚えておりません。 (SQLserver側、ODBC側共に) どこかに暗号化されず保存されていないものでしょうか。 ### 補足情報(言語/FW/ツール等のバージョンなど) OS:WindowsXP Pro ツール:Access2003 DB:SQLServer 2008R2 Standard(別のサーバー)
回答: 回答が付かないようなので、未検証ですが参考情報を。 Access : リンクテーブルで [パスワードの保存] が危険な理由 リンクテーブルでパスワードを保存する際、「セキュリティ接続を使用する」が未チェックであれば、mdbファイルをバイナリエディタで参照すればパスワードが見えるそうです。 ただ、これはこれでセキュリティ上、怖いですね。 コメントを受けての追記#1 セキュリティをきちんと考慮されていたようですね。 念のためですが、「セキュリティ接続を使用する」がチェックされている場合、`Trusted_Connection=Yes;`という文字列が確認できるようですが、ありましたでしょうか? まだ見つけていない場合、もう少し探してみると良いかもしれません。 さて、現状からの対処方法ですが、2つ考えてみました。 1. saのパスワードを変更する 2. 新しいmdb用のユーザを作成する #### saのパスワードを変更する リンクテーブルをsaで接続している場合、saのパスワードがわからない、ということだと思います。 その場合、SQLServerの管理ツールからパスワードの変更ができます。 * http://www.timetracker.jp/support/documents/KB/Content/Tips/KB101201_01.htm ただし、saのパスワードを変更するということは、他にもこちらを利用しているサービス等があった場合に、そちら側でも接続用のパスワード変更が必要になります。**注意して確認の上**、実施してください。 (他にもサービスがある場合、そちら側の設定を調査するのもいいかもしれません) #### 新しいmdb用のユーザを作成する 現状への影響を最小限にするのであれば、SQLServerに新規ユーザを作成し、新しいmdbではそちらを利用してみるのはいかがでしょうか? こちらのほうが変更範囲を限定的にでき、オススメです。 (saで接続している場合、saのパスワードは分からないままですが。。。)