LoginSignup
0
0

More than 5 years have passed since last update.

「-2147467259:このログインで要求されたデータベース"xxx"を開けません。ログインに失敗しました。」解決手順

Posted at

起こったこと。

テスト環境構築のため、データベース(以下DB)をテスト版として設けた。
ExcelVBAからテスト版のDBへ接続しようとすると、「-2147467259:このログインで要求されたデータベース"xxx"を開けません。ログインに失敗しました。」と表示されて、処理が出来なかったため、対応開始。
キャプチャ_Excel_ログイン失敗メッセージ.PNG

環境

  • SQL Server 2014
  • Management Studio 2014(以下SSMS)
  • Excel 2010
  • ExcelとSQL ServerはADOを使用して接続。Windows認証を使用。

行なったこと。

1. DBのプロパティを比較

SSMSで、本番環境、テスト環境のDBのプロパティを比較してみた。
その結果、テスト環境のDBにはguestユーザーの権限がなかった。

2. 権限を追加

SSMSで、テスト環境のDBに、guestユーザーの権限を追加。
そして、権限を許可する項目は本番環境DBのそれと同じにした。
以下の8項目。

  • 更新
  • 削除
  • 参照
  • 実行
  • 接続
  • 選択
  • 挿入
  • 変更

許可をチェック→[OK]の後に再度プロパティを確認したところ、権限の許可者が「dbo」になっていた。
これは本番環境のDBも同様なのでOKと見なした。

結果。

ExcelVBAから該当処理が問題なく行なえるか実行したところ、全て処理出来るようになった。

疑問点

今回テスト環境のDBを作成した時、sa権限で実行した。その時にguestユーザーの権限付与も合わせて行なえるように出来たら、追加で権限付与する必要がなくなって良いなと思った。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0