MSDE 2000、SQL Server 2005 Express、SQL Server 2008 Express、または SQL Server 2012 Express で Microsoft Dynamics GP を使用して、ライブ企業データのコピーを持つテスト会社を設定する

特定の問題をテストするには、会社のライブ データを使用してトラブルシューティング手法を使用できます。 これを行うには、ライブ企業データベースをテスト会社データベースにコピーできます。

この記事では、ライブ企業データのコピーを持つテスト会社を作成する方法について説明します。 これを行うには、Microsoft Dynamics GP または Microsoft Business Solutions - SQL Server デスクトップ エンジン (MSDE 2000 とも呼ばれます)、Microsoft SQL Server 2005 Express、またはMicrosoft SQL Server 2008 Expressで実行されている大平原を使用できます。

適用対象: Microsoft Dynamics GP
元の KB 番号: 872370

注:

  • Microsoft Dynamics GP 9.0 は、SQL Server 2008 ではサポートされていません。 Microsoft Dynamics GP 2010 は、SQL Server 2000 ではサポートされていません。
  • 既存のライブ会社でレコード レベル ノートを使用し、テスト会社で使用する予定の場合は、NoteFix を実行する必要があります。 詳細については、Microsoft Dynamics のテクニカル サポート (888) 477-7877 までお問い合わせください。
  • Microsoft Dynamics GP の人事を使用する場合、出席セットアップ情報はテスト会社にコピーされません。 このウィンドウを開くには、次のいずれかの操作を行います。
    • Microsoft Dynamics GP 10.0 以降で、[Microsoft Dynamics GP>Tools> SetupHuman Resources]> を選択し、[セットアップ] を選択します
    • Microsoft Dynamics GP 9.0 で、[ツール] を選択し、[人事の>出席セットアップ>] をポイントして、[セットアップ] を選択します
      TAST0130 テーブルにはライブ企業データベースへの参照が含まれているため、出欠セットアップ情報はコピーされません。 この問題を解決するには、新しいテスト会社データベースの [出席セットアップ] ウィンドウを更新して、ライブ データベースに含まれているのと同じ情報を含めます。
  • Microsoft Dynamics GP の固定資産を使用する場合、固定資産会社のセットアップ情報はテスト会社にコピーされません。 この問題を解決するには、ライブ会社の [固定資産会社のセットアップ] ウィンドウを開き、設定をメモします。 テスト会社で [固定資産会社のセットアップ] ウィンドウを開き、ライブ会社と同じ設定を入力します。 [固定資産会社のセットアップ] ウィンドウを開くには、次のいずれかのオプションを使用します。
    • Microsoft Dynamics GP 10.0 以降で、[ Microsoft Dynamics GP>Tools>Setup>System>Fixed Assets>Company] を選択します。
    • Microsoft Dynamics GP 9.0 で、[ツール]> [セットアップ>][固定資産] の順に選択し、[会社] を選択します。
  • Microsoft Dynamics GP の監査証跡を使用する場合、ライブ企業データベースに対する監査があるテーブルには、テスト会社データベースにも監査が含まれます。 テスト会社データベースで監査を削除するには、Microsoft Dynamics のテクニカル サポート (888) 477-7877 までお問い合わせください。 Microsoft SQL Server 7.0/2000/2005 を使用して、ライブ企業データのコピーを持つテスト会社を設定する方法の詳細については、「Microsoft SQL Serverを使用して Microsoft Dynamics GP のライブ企業データのコピーを持つテスト会社を設定する」を参照してください。

詳細

MsDE 2000、Microsoft SQL Server 2005 Express、Microsoft SQL Server 2008 Express、または Microsoft SQL Server 2012 Express で実行されている Microsoft Dynamics GP または Microsoft Business Solutions - Great Plains を使用して、ライブ企業データのコピーを持つテスト会社を作成するには、次の手順に従います。

  1. テスト会社として使用する会社データベースをユーティリティに作成します。 データベースに、テスト会社としてデータベースを識別する名前を付けます。 たとえば、ライブ企業データベースが The World Online, Inc. (TWO) の場合、テスト会社データベースには TWOT または TEST という名前を付けることができます。

    テスト会社を作成した後は、変更を加えずにテスト会社を使用できます。 残りの手順に進み、ライブ会社のデータを使用してテスト会社を読み込みます。

  2. ライブ企業データベースのバックアップを作成します。 これを行うには、次の手順を実行します。

    1. Microsoft Dynamics GP 10.0 以降で、Microsoft Dynamics GP メニューの [メンテナンス] をポイントし、[バックアップ] を選択します。 Microsoft Dynamics GP 9.0 で、[ファイル] メニューの [バックアップ] を選択します。
    2. バックアップするライブ会社を選択します。
    3. バックアップの場所のパスを確認し、[OK] を選択します
  3. 手順 2 で作成したバックアップをテスト会社データベースに復元します。 これを行うには、適切な手順に従います。

    MSDE 2000 の使用

    1. サポート管理者コンソールで次のスクリプトを実行します。

    注:

    サポート管理者コンソールのドロップダウン リストで TEST データベースを選択しないでください。

    RESTORE DATABASE [<TEST>] 
     FROM DISK = N'C:\Program Files\Dynamics\Backup\TWO_Mar5-2003.bak'
     WITH FILE = 1, NOUNLOAD,
     STATS = 10, RECOVERY, REPLACE,
     MOVE N'GPSTWODat.mdf' TO N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\GPSTESTDat.mdf',
     MOVE N'GPSTWOLog.ldf' TO N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\GPSTESTLog.ldf'
    

    注:

    • TEST> プレースホルダーを<テスト会社の名前に置き換えます。
    • コードの 2 行目で、パスをライブ会社のバックアップの物理パスに置き換えます。
    • 最初の MOVE ステートメントは、.mdf ファイルの場所を指定します。 最初の.mdf ファイルを、ライブ運用データベースの.mdf ファイルに置き換えます。 この例では、ライブ運用データベースは TWO です。 したがって、.mdf ファイルはGPSTWODat.mdfされます。
      "TO" に従って、パスをテスト データベースの.mdf ファイルの物理パスに置き換えます。 この例では、テスト データベースは TEST で、.mdf ファイルは C:\Program Files\Microsoft SQL Server\MSSQL\Data にあります。
    • 2 番目の MOVE ステートメントは、.ldf ファイルの場所を指定します。 最初の .ldf ファイルを、ライブ運用データベースの .ldf ファイルに置き換えます。 この例では、ライブ運用データベースは TWO です。 したがって、.ldf ファイルは GPSTWOLog.ldf です。
      "TO" に従って、パスをテスト データベースの .ldf ファイルの物理パスに置き換えます。 この例では、テスト データベースは TEST で、.ldf ファイルは C:\Program Files\Microsoft SQL Server\MSSQL\Data にあります。

    Microsoft SQL Server 2008 Expressまたは Microsoft SQL Server 2005 Express の使用

    1. 次のいずれかの操作を行います。
      • Microsoft SQL Server 2008 Expressまたは Microsoft SQL Server 2012 Express を使用する場合は、[スタート] を選択し、[プログラム] をポイントし、[Microsoft SQL Server 2008] をポイントして、[SQL Server Management Studio] を選択します。
      • Microsoft SQL Server 2005 Express を使用する場合は、[スタート] を選択し、[プログラム] をポイントし、[Microsoft SQL Server 2005] をポイントして、[SQL Server Management Studio] を選択します。
    2. [サーバー名] ボックスに、SQL Serverのインスタンスの名前を入力します。
    3. [認証] リストで、[SQL Server 認証] を選択します。
    4. [ ユーザー名 ] ボックスに「 sa」と入力します。
    5. [ パスワード ] ボックスに sa ユーザーのパスワードを入力し、[ 接続] を選択します。
    6. [オブジェクト エクスプローラー] 領域で、[データベース] をダブルクリックします
    7. テスト会社データベースを右クリックし、[ タスク] をポイントし、[ 復元] をポイントして、[データベース] を選択 します
    8. [ 復元のソース ] 領域で、[ デバイスから] を選択し、ルックアップ ボタンを選択します。
    9. [ バックアップの場所 ] 領域で、[追加] を選択 します
    10. ライブ バックアップ ファイルを見つけてファイルを選択し、[OK] 2 回選択します。
    11. [ 復元するバックアップ セットの選択 ] 領域で、 復元 するバックアップ ファイルの [復元] を選択します。
    12. [ ページの選択 ] 領域で、[ オプション] を選択します。
    13. [ データベース ファイルをとして復元する ] 領域で、.mdf ファイルの名前と [ 復元名 ] 列の .ldf ファイルが、テスト会社の.mdf ファイルと .ldf ファイルの名前と一致することを確認します。
    14. [OK] を選択します。
  4. 復元プロセスが完了すると、テスト会社の COMPANYID 情報と INTERID 情報が、ライブ会社の COMPANYID 情報と INTERID 情報と一致します。 この情報は、テスト会社の COMPANYID 情報と INTERID 情報を正しく反映するように更新する必要があります。 サポート管理者コンソールまたはテスト会社に対してSQL Server Management Studioで次のスクリプトを実行して、COMPANYID 情報と INTERID 情報を更新します。

    if exists 
    (
       select
          1 
       from
          INFORMATION_SCHEMA.COLUMNS 
       where
          TABLE_NAME = 'SY00100'
    )
    begin
       declare @Statement varchar(850) 
       select
          @Statement = 'declare @cStatement varchar(255)
    
          declare G_cursor CURSOR for 
          select
             case
                when
                   UPPER(a.COLUMN_NAME) in 
                   (
                      ''COMPANYID'',
                      ''CMPANYID''
                   )
                then
                   ''
                   update
                      '' + a.TABLE_NAME + '' 
                   set
                      '' + a.COLUMN_NAME + '' = '' + cast(b.CMPANYID as char(3)) 
                   else
                      ''
                      update
                         '' + a.TABLE_NAME + '' 
                      set
                         '' + a.COLUMN_NAME + '' = '''''' + db_name() + '''''''' 
             end
                      from
                         INFORMATION_SCHEMA.COLUMNS a, '+rtrim(DBNAME)+'.dbo.SY01500 b 
                      where
                         UPPER(a.COLUMN_NAME) in 
                         (
                            ''COMPANYID'', ''CMPANYID'', ''INTERID'', ''DB_NAME'', ''DBNAME''
                         )
                         and b.INTERID = db_name() 
                         and COLUMN_DEFAULT is not null 
                         and rtrim(a.TABLE_NAME) + '' - '' + rtrim(a.COLUMN_NAME) <> ''SY00100 - DBNAME'' 
                      order by
                         a.TABLE_NAME 
                      set
                         nocount 
                         on OPEN G_cursor FETCH NEXT 
                      FROM
                         G_cursor INTO @cStatement WHILE (@@FETCH_STATUS <> - 1) 
                         begin
                            exec (@cStatement) FETCH NEXT 
                      FROM
                         G_cursor INTO @cStatement 
                         end
                         close G_cursor DEALLOCATE G_cursor 
                      set
                         nocount off'
    
                      from
                         SY00100 exec (@Statement) 
    end
    else
       begin
          declare @cStatement varchar(255) 
          declare G_cursor CURSOR for 
          select
             case
                when
                   UPPER(a.COLUMN_NAME) in 
                   (
                      'COMPANYID',
                      'CMPANYID'
                   )
                then
                   'update ' + a.TABLE_NAME + ' set ' + a.COLUMN_NAME + ' = ' + cast(b.CMPANYID as char(3)) 
                else
                   'update ' + a.TABLE_NAME + ' set ' + a.COLUMN_NAME + ' = ''' + db_name() + '''' 
             end
          from
             INFORMATION_SCHEMA.COLUMNS a, DYNAMICS.dbo.SY01500 b 
          where
             UPPER(a.COLUMN_NAME) in 
             (
                'COMPANYID', 'CMPANYID', 'INTERID', 'DB_NAME', 'DBNAME'
             )
             and b.INTERID = db_name() 
             and COLUMN_DEFAULT is not null 
          order by
             a.TABLE_NAME 
          set
             nocount 
             on OPEN G_cursor FETCH NEXT 
          FROM
             G_cursor INTO @cStatement WHILE (@@FETCH_STATUS <> - 1) 
             begin
                exec (@cStatement) FETCH NEXT 
          FROM
             G_cursor INTO @cStatement 
             end
             close G_cursor DEALLOCATE G_cursor 
          set
             nocount off 
       end
    
  5. サポート管理者コンソールで TEST データベースに対して次のスクリプトを実行して、TEST データベースの所有者が DYNSA であることを確認します。

    sp_changedbowner 'DYNSA'
    

これらの手順を完了すると、テスト会社にライブ会社データのコピーが作成されます。 そのため、テスト会社は Microsoft Dynamics GP で使用する準備ができています。

関連情報

SQL Express のSQL Server Management Studioをダウンロードするには、「SQL Server Management Studioのダウンロード (SSMS)」を参照してください。