none
MSSQL2005SP2 DBファイルのアクセス権について RRS feed

  • 質問


  • MSSQL2005SP2を使用しているシステムで以下の事象が“稀に発生”する事があり、原因調査に難航しています。

    1.PC電源ON時、自動起動したMSSQLサービスがDBファイル(mdf)へアクセス出来ない事がある(と思われる)。
     この現象は、稀にのみ発生します。
     ユーザーアプリからSQL Serverへの接続には成功しますが、useステートメントの実行で応答が無くコマンドタイムアウト(60sec)となります。
     SQLログは時間消失しており、Windowsイベントログには異常らしきメッセージは見当たりません。

    2.二次災害?のようにも思えますが「1」の事象が発生した際にDB削除し、Create databaseを実施すると以下のエラーになる事がある。

     こちらの現象も、稀にのみ発生します。
     事前情報として、DBファイル格納先フォルダのパーミッションはEveryoneにファイル作成権限があり、CREATOR OWNERはフルコントロールになっています。
     ① Windows認証にてCreate Database→エラー262
     ② SQLServer認証にてCreate Database→エラー5133
     ③ Cドライブ直下にエクスプローラからDBファイル格納先のTestフォルダを新規作成し
       SQLServer認証にてCreate Database→エラー1802、5123
     ④ MSSQLの起動アカウントをNT Serviceからローカルシステムアカウントへ変更した後に
       SQLServer認証にてCreate Database→DB作成成功
    MSSQL2005SP2の不具合を疑っていますが、SP3、SP4の問題ノートを確認してもアクセス権やセキュリティ関係のバグFIXは見当たりませんでした。
    どのような事が原因、または調査すべき項目として考えられますでしょうか。
    不足情報ありましたら御教示下さい。


    OS:Windows XP Pro SP2
    DB:SQL Server 2005 Express Edition SP2



    • 編集済み Shazuna 2020年2月28日 8:54
    2020年2月28日 8:52

すべての返信

  • 発生しているエラーから想定すると、SQL Server 側の問題ではなく、PC側のディスクなどに何らかの問題があるのかもしれません。

    次回現象発生時に、現象発生時の SQL Server エラーログを参照して、どのようなエラーが発生しているかを確認すると良いかと思います。

    また、何らかの理由で該当の環境を維持されているのだと思いますが、SQL Server 2005 及び Windows XPは、マイクロソフトの延長サポートも終わっている製品なので、早めに上位のOS、SQL Serverに移行されることをお勧めします。

    262 1041 16 0 %1! 権限がデータベース '%2!' で拒否されました。
    1802 1041 16 0 CREATE DATABASE が失敗しました。一覧されたファイル名の一部を作成できませんでした。関連するエラーを確認してください。
    5123 1041 16 0 物理ファイル '%2!' を開くとき、または作成中に CREATE FILE でオペレーティング システム エラー %1! が発生しました。
    5133 1041 16 0 オペレーティング システム エラー %2! により、ファイル "%1!" のディレクトリ参照に失敗しました。


    • 編集済み NOBTA 2020年2月28日 14:07
    2020年2月28日 13:59
  • 1点、追加となりますが、該当環境にウィルスソフトがインストールされており、SQL Server 関連のファイルがスキャンの対象から除外されていない場合は、除外して様子をみてみるのも良いかもしれません。

    SQL Server を実行しているコンピューター上で実行するウイルス対策ソフトウェアを選択する方法
    https://support.microsoft.com/ja-jp/help/309422/choosing-antivirus-software-for-computers-that-run-sql-server
    + ウイルス スキャンから除外するディレクトリおよびファイル拡張子します。

    2020年2月28日 14:11
  • 起動アカウントを変更することで解決するのであれば、起動アカウントを設定したときに自動的に設定してくれるパラメーターが何かしらの原因で書き換えられてる可能性が高いですね。

    以下は起動アカウントを手動で設定するときの項目です。何が書き換えられてるのか確認したいのであればリンク先に記載されている項目を事象発生前と後で比べると良いかもしれません。

    https://support.microsoft.com/ja-jp/help/283811/how-to-change-the-sql-server-or-sql-server-agent-service-account-witho


    • 回答の候補に設定 kaz8629 2020年3月1日 19:38
    • 回答の候補の設定解除 kaz8629 2020年3月1日 19:38
    • 編集済み kaz8629 2020年3月1日 19:40
    2020年3月1日 19:22
  • Shazunaさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    2016年4月12日、SQL Server 2005のサポート終了が正式になります。
    Microsoftは延長サポートを終了しています。つまり、機能の更新、アプリケーションの修正、セキュリティパッチはありません。
    まだSQL Server 2005を実行していることは、データの破損やシステムの破損のリスクがあります。
    SQL Serverの新しいバージョンにアップグレードすることをお勧めします。
    このブログでこの情報を入手できます。

    Windows XPのサポートは終了しました。OSを新しいバージョンにアップグレードすることをお勧めします。
    このドキュメントを参照してください。

    どうぞよろしくお願いいたします。

    MSDN/ TechNet Community Support Haruka
    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2020年3月4日 8:32
    モデレータ