BCPエラーのトラブルシューティング

このページでは、Windows環境でBCP(バルクコピープログラム)のエラーへの対処法をご案内します。

 

エラー1

[OpManager_Home]\binフォルダーにbcp.exeまたはbcp.rllファイルが見つからない

解決策

  1. MS SQLのインストール場所\binフォルダー 内の bcp.exe および bcp.rllファイル をコピーし、[OpManager_Home]\binフォルダーに貼り付け
  2. bcp.exeファイルが複数ある場合は、MS SQLに適したバージョンを維持し、古いバージョンを削除
    ※bcp.exeのバージョンを確認するには、コマンド プロンプトを開き、OpManager_Home\bin\フォルダーで「bcp.exe -v」コマンドを実行

 

エラー2

BCPログインの失敗

解決策

  1. MS SQLサーバーのパスワードに「;」などの特殊文字が含まれていないことを確認
  2. [OpManager_Home]\binフォルダーのDBConfiguration.batを実行して、NetFlow AnalyzerでMS SQLユーザー名とパスワードを更新

  3. DBConfiguration.batの手順

    1. 製品サービスを停止
    2. コマンドプロンプトを開き、[OpManager_Home]\binフォルダーでDBConfiguration.batを実行
    3. 正しい認証ユーザー名とパスワードを入力

    4. 「データベース名」フィールドにデータベース名を入力し、「OK」をクリック後、「データベースを使用するかどうかを確認するプロンプト」が表示されたら、「OK」を押下
      ※データ保存用の新しいデータベースを作成する場合は、該当のデータベース名を入力し、「OK」を押下
    5. DBConfigurationが完了したら、製品サービスを起動

 

エラー3

BCPとMS SQLサーバーのバージョンの不一致

解決策

  1. MS SQLのインストール場所\binフォルダー から、MS SQLと同じバージョンのbcp.exeおよびbcp.rllファイルをコピーし、[OpManager_Home]\binフォルダーに貼り付け
    ※bcp.exeのバージョンを確認するには、コマンド プロンプトを開き、OpManager_Home\bin\フォルダーで「bcp.exe -v」コマンドを実行
    ※「SELECT SERVERPROPERTY('productversion') as 'Version'」クエリを実行しMS SQLバージョンを確認するか、SQL Server Management Studioに移動してインスタンス名を右クリックし、「プロパティ」を選択
  2. Microsoftネイティブ クライアントがインストールされている場合、MicrosoftネイティブクライアントのバージョンがMS SQLバージョンと一致していることを確認

 

エラー4

BCPログインタイムアウト

解決策

  1. オブジェクトエクスプローラーでサーバーを右クリックし、「プロパティ」を選択
  2. 「接続」ノードをクリック
  3. 「リモートサーバー接続」の「リモートクエリのタイムアウト」でSQLServerがタイムアウトするまで待機できる最大時間を設定

 

エラー5

BCPの互換性およびその他の一般的なトラブルシューティング法

解決策

  1. アンチウイルスによるbcp.exeのファイル権限を確認し、bcp.exeの実行を許可
  2. MS SQLサーバーがローカルシステムでホストされている場合、MS SQLサーバー名を該当のシステム名に変更
  3. ユーザー(Windows/MS SQL)にBCPファイルを実行する権限がない場合、ODBC接続でSQL Server認証を使用していることを確認
    ※SQL Server認証を使用せずにWindows認証のみを使用する場合、BCPは開始されません
  4. ODBCBCP.dllファイルとSQLSRV32.dllファイルを確認
    ※これらのファイルは同じバージョンである必要があります。バージョンが異なる場合は、SQLSRV32.dllファイルの名前を変更してからMDAC(ODBC)を再インストールする必要があります。ODBCBCP.dllおよびSQLSRV32.dllファイルは、WINNT\System32フォルダーに位置し、これらのファイルのバージョン番号は同じでなければなりません
  5. MS SQLサーバーがリモートサーバーにインストールされ、ネイティブクライアントがローカルシステムにインストールされていない場合、MS SQLサーバーに適したネイティブクライアントをローカルシステムにインストール
    ※ネイティブクライアントのインストールの詳細については、Microsoftのドキュメントをご参照ください
  6. [OpManager_Home]\binフォルダーでbcp.exeを実行する際に「msvcr120.dll、msodbcsql13.dllファイルが見つかりません」というエラーメッセージが表示される場合は、以下2つの理由が考えられます
    1. Visual Studio用のVisual C ++再頒布可能パッケージがない:この場合、こちらからVisual Studio用のVisual C ++再頒布可能パッケージをインストール
    2. SQL Server®用のMicrosoft® ODBCドライバーがない:この場合、こちらからSQL Server®用Microsoft® ODBCドライバーをインストール

 

エラー6

MS SQLサーバーのトランザクションログがフルになる

解決策

  1. MS SQLデータベースに接続し、データベース名を右クリック
  2. プロパティをクリックし、オプションで「復旧モード」を「シンプル」として選択
  3. データベース名を右クリックして、「タスク」 > 「圧縮」 > 「ファイル」の順に選択し、「OK」をクリックして圧縮

 

参照:Microsoftドキュメント:BCPユーティリティ使用中にエラーが発生する(データがサーバーに正しくコピーされていない)