概要
GFI LanGuardのアップグレードまたはインストールを実行した際に、失敗して次のようなエラーが発生します。
Failed to upgrade the database. Installation will not continue in order to avoid damaging the integrity of the GFI LanGuard Engine.
(データベースのアップグレードに失敗しました。GFI LanGuard エンジンの整合性が損なわれるのを避けるため、インストールは続行されません。)
解決策
上記のエラーは、GFI LanGuardのアップグレード時や、まれにインストール時に発生することがあります。これは、データベースが正常に動作するために必要な要件を満たしていないことに関連しています。
Microsoft SQL サーバーデータベースバックエンドを使用する
Microsoft SQL バックエンドの場合、最も一般的な原因は次のとおりです。
- データベースとの認証のために入力された資格情報が正しくないために、SQL サーバーへの接続が確立されない。
- アカウントに、SQL サーバーへの接続またはデータベースの作成に必要な権限がない。
- SQL サーバーが起動していない。
以下の手順で対処してください。
- SQLサーバーの接続を確認してください。
- SQLサーバーマネジメントスタジオを使ってSQLサーバーに接続し、SQLサーバーが稼働しており、接続できることを確認してください。
- また、コントロールパネル管理ツールデータソース(ODBC)ツールを使ってSQLサーバーへ接続し、ODBC接続テストを行うこともできます。
- SQLデータベースへの接続時にGFI LanGuardデータベースメンテナンスを介して提供された認証情報が有効でなくなったかどうか、ユーザーが無効になったか、パスワードが変更されたかどうかを確認してください。
- GFI LanGuardアプリケーションを開き、構成データベースメンテナンスオプションに進み、SQLサーバーの有効な認証情報を指定してください。
資格情報が検証されたら、アプリケーションを終了し、アップグレードを再度開始してください。 - SQL SAアカウントの認証情報は、権限を持っている可能性が高いです。SAアカウントの認証情報を入力し、アップグレードプロセスを進めてください。
- GFI LanGuardアプリケーションを開き、構成データベースメンテナンスオプションに進み、SQLサーバーの有効な認証情報を指定してください。
- 上記の認証情報を使って、実際にSQL Server上に新しいデータベースを作成できるかどうかをテストしてください。
- 以前インストールに失敗したときのデータベースファイルが存在するかどうかを確認してください。インストールログの
%temp%\lanss_vXXX_lnssinstsql.csv
に以下のように表示されることがあります。
error ","CreateDbOnSQLServerEx - Failed to create the database 'LNSSScanResults12'. Result 7. Additional error details Cannot create file 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL11.SQLE2012ACMP\MSSQL\DATA\LNSSScanResults12.mdf' because it already exists. Change the file path or the file name, and retry the operation... (エラー", "CreateDbOnSQLServerEx - データベース「LNSSScanResults12」の作成に失敗しました。結果 7. エラーの詳細 ファイルを作成できません 'C:ʻProgram Files (x86)ʻMicrosoft SQL Server\MSSQL11.SQLE2012ACMP\MSSQL\DATA\LNSSScanResults12.mdf' はすでに存在しています。ファイルパスやファイル名を変更して、再度操作してください。)
このような場合は、データベースをSQLから切り離し、LNSSScanResults12データベース用に以前作成したMDFファイルおよびLDFファイルを削除または名前変更してください。
LanGuard データベースが古い SQL サーバーのバージョンを使用して作成され、新しい SQL サーバーでアップグレードされた場合、プロセスが失敗する可能性があります。このような場合、以前のSQLサーバーのバージョンに戻すことが可能かどうかを検証し、LanGuardのアップグレード処理を行ってください。
Microsoft Accessデータベースのバックエンドを使用する場合
Microsoft Accessバックエンドの場合、このエラーは通常、データベースが使用できなくなったことを意味します。すなわちMicrosoft Accessデータベース(デフォルトでは、%ProgramDataFolder%\GFI\LanGuard XX\scanresults.mdb
にあります)が削除されたか、現在利用できない場所(リモートのSharePoint、リムーバブルドライブなど)に保存されていることを示します。
- コンフィグレーションデータベースメンテナンスオプションで指定したAccess MDBファイルの場所が有効であること、およびそのファイルにアクセスできることを確認してください。パスを修正するか、バックアップからデータベースを復元してください。
確認方法
問題のあった操作を再度行い、正常に完了するかどうか確認してください。問題が解決しない場合は、最新の SQL Express などの新しい SQL サーバーをインストールし、それをバックエンドとして LanGuard のインストールをしてみてください。それでも問題が解決しない場合は、GFI LanGuard サポートにお問い合わせください。