Настройте тестовую компанию с копией динамических корпоративных данных для Microsoft Dynamics GP с помощью Microsoft SQL Server

В этой статье описывается, как настроить тестовую компанию с копией динамических данных компании с помощью microsoft SQL Server.

Применимо к: Microsoft Dynamics GP
Исходный номер базы знаний: 871973

Сводка

Чтобы проверить определенные проблемы, можно скопировать базу данных Live Company в базу данных Test Company.

Дополнительная информация

Примечания.

  • Если вы используете кадровые ресурсы для Microsoft Dynamics GP, сведения о настройке посещаемости не скопированы. Чтобы открыть это окно, выберите Инструменты, Настройка, Управление персоналом, Посещаемость и Настройка. Эта таблица (TAST0130) копируется поверх, но она содержит поле, которое по-прежнему ссылается на базу данных Live Company. Чтобы устранить эту проблему, можно повторно ввести данные в окне Настройка посещаемости в новой базе данных тестовой компании, чтобы они содержали те же сведения, что и раньше, и сохранить их. Вы также можете обновить поле COMPANYCODE_I в таблице TAST0130, чтобы вместо этого изменить ссылку на код компании на тестовую базу данных (которую можно найти в значении столбца INTERID для тестовой компании в Dynamics.). SY01500 таблице).

  • Если вы используете основные средства для Microsoft Dynamics GP, сведения о настройке компании с основными средствами не будут переданы в тестовую компанию. Чтобы устранить эту проблему, откройте окно Настройка компании с основными средствами в динамическую компанию и обратите внимание на параметры. Откройте окно Настройка компании с основными активами в тестовой компании и введите те же параметры, что и динамическая компания. Чтобы открыть окно, используйте следующее:

    • Microsoft Dynamics GP 10.0 или более поздней версии:
      Выберите Microsoft Dynamics GP, наведите указатель на Инструменты, Наведите указатель на Пункт Настройка, Система, Основные средства, а затем Выберите Компания.
  • Если вы используете журналы аудита для Microsoft Dynamics GP, необходимо удалить триггеры аудита из тестовой компании с помощью SQL, а не из внешнего интерфейса. Журналы аудита — это просто триггеры, которые копируются и по-прежнему указывают на ту же базу данных динамического аудита. Однако не удаляйте, не прекращайте и не удаляйте аудит в окне Обслуживание журнала аудита в тестовой компании, иначе он очистит журнал в таблице аудита и (или) удалит триггер в активной компании. Чтобы удалить триггеры журнала аудита из тестовой компании, ознакомьтесь с инструкциями, описанными в статье Как остановить обновление базы данных динамического аудита с помощью журналов аудита в Microsoft Dynamics GP.

  • Если вы используете аналитический учет (AA), необходимо сначала активировать AA в тестовой компании перед копированием по динамической базе данных (с активной базой данных AA). Выполните действия, описанные в статье Создание тестовой компании с установленным аналитическим учетом с помощью Microsoft Dynamics GP.

    Примечание.

    После восстановления не забудьте выполнить два скрипта, упомянутые в блоге: первый для обновления INTERID (из шага 6 ниже в этой статье, а также скрипт для обновления следующих доступных чисел, хранящихся в таблице AAG00102 (чтобы предотвратить ошибки повторяющихся ключей при создании новых транзакций).

  • Если вы используете Management Reporter 2012, необходимо остановить службы Management Reporter, которые можно выполнить с помощью любого из следующих параметров:

    1. В консоли конфигурации Management Reporter 2012 на первой странице вы увидите службу приложений Management Reporter 2012 и службу процессов Management Reporter 2012. Выберите Остановить под этими двумя службами, чтобы остановить их.

    2. Нажмите кнопку Пуск, выберите панель управления, а затем выберите Администрирование, а затем выберите , чтобы открыть Службы. В окне Службы выделите Службу приложений Management Reporter 2012 и щелкните ссылку Остановить эту службу. Кроме того, выделите Службу процессов Management Reporter 2012 и щелкните ссылку , чтобы остановить эту службу.

Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Она включает, помимо прочего, подразумеваемые гарантии товарной пригодности или пригодности для определенной цели. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут объяснить функциональность отдельной процедуры. Однако они не будут изменять эти примеры для предоставления дополнительных функциональных возможностей или создания процедур в соответствии с вашими конкретными требованиями.

Чтобы настроить тестовую компанию, выполните следующие действия.

  1. В разделе Служебные программы создайте базу данных компании, которую можно использовать в качестве тестовой компании. Убедитесь, что вы присвоите базе данных уникальный идентификатор базы данных или компании и название компании, которые обозначают базу данных как тестовую компанию. Например, можно использовать идентификатор базы данных или компании TEST и название компании TEST COMPANY.

    Примечание.

    Путь, по которому создаются .mdf и LDF-файлы базы данных. Эти сведения потребуются для шага далее в этой статье.

  2. Войдите в тестовую компанию. В Microsoft Dynamics GP выберите Microsoft Dynamics GP, Инструменты, Настройка, Система, а затем — Пользовательский доступ.

  3. В области Доступ пользователей выберите пользователя, которому вы хотите предоставить доступ к тестовой базе данных компании. Затем выберите поле проверка рядом с названием тестовой компании, чтобы предоставить доступ к базе данных тестовой компании. Повторите этот шаг для всех пользователей, которым вы хотите предоставить доступ к тестовой базе данных компании. Для этого выполните следующий шаг.

    • Microsoft Dynamics GP: выберите Microsoft Dynamics GP, выберите Сервис, выберите Программа установки, Система, а затем — Доступ пользователей.
  4. Создайте резервную копию динамической базы данных компании.

    Если вы используете SQL Server Management Studio, выполните следующие действия.

    1. Нажмите кнопку Пуск, а затем выберите Программы.
    2. Наведите указатель мыши на пункт Microsoft SQL Server, а затем выберите SQL Server Management Studio. Откроется окно Подключение к серверу.
    3. В поле Имя сервера введите имя экземпляра SQL Server.
    4. В списке Проверка подлинности выберите Проверка подлинности SQL.
    5. В поле Имя пользователя введите sa.
    6. В поле Пароль введите пароль для пользователя sa и нажмите кнопку Подключить.
    7. В разделе обозреватель объектов разверните узел Базы данных.
    8. Щелкните правой кнопкой мыши динамическую базу данных компании, наведите указатель на пункт Задачи, а затем выберите Резервное копирование.
    9. В области Назначение выберите Удалить, а затем — Добавить.
    10. В области Назначение на диске нажмите кнопку с многоточием .
    11. Найдите расположение, в котором нужно создать файл резервной копии, введите имя файла резервной копии, например LIVE.bak, а затем нажмите кнопку ОК.
    12. Нажимайте кнопку ОК несколько раз, пока не вернемся в окно Резервное копирование базы данных.
    13. Нажмите кнопку ОК , чтобы запустить резервное копирование.
  5. Восстановите файл динамической резервной копии компании, созданный на шаге 4, в тестовую базу данных компании.

    Если вы используете SQL Server Management Studio, выполните следующие действия.

    1. Нажмите кнопку Пуск, а затем выберите Программы.

    2. Наведите указатель мыши на пункт Microsoft SQL Server, а затем выберите SQL Server Management Studio. Откроется окно Подключение к серверу.

    3. В поле Имя сервера введите имя экземпляра SQL Server.

    4. В списке Проверка подлинности выберите Проверка подлинности SQL.

    5. В поле Имя пользователя введите sa.

    6. В поле Пароль введите пароль для пользователя sa и нажмите кнопку Подключить.

    7. В разделе обозреватель объектов разверните узел Базы данных.

    8. Щелкните правой кнопкой мыши тестовую базу данных компании, выберите Задачи, Восстановить, а затем — База данных.

    9. В области Источник для восстановления выберите с устройства, а затем нажмите кнопку с многоточием .

    10. В области Расположение резервного копирования выберите Добавить.

    11. Найдите расположение, в котором сохранен файл резервной копии, выберите LIVE.bak файл, а затем нажмите кнопку ОК.

    12. Нажмите ОК. Вы вернеесь в окно Восстановление базы данных.

    13. В разделе Выбор резервных наборов данных для восстановления выберите файл резервной копии, который требуется восстановить.

    14. В области Выбор страницы выберите Файл.

    15. В области Восстановление файлов базы данных как необходимо изменить расположение этих двух файлов из динамической базы данных на .mdf и LDF-файлы тестовой базы данных. По умолчанию они будут выбраны в .mdf и LDF-файлах базы данных Live.

      Примечание.

      Имя логического файла отражает имя динамической базы данных. Не изменяйте имя логического файла.

    16. Чтобы изменить эти расположения, выберите Ellipse (...) рядом с полем расположение файла.

    17. Перейдите по пути, который вы указали на шаге 1, где была создана тестовая база данных.

    18. Выделите соответствующий файл .mdf и нажмите кнопку ОК.

    19. Повторите шаги 16–18, выберите LDF-файл и нажмите кнопку ОК.

    20. Перейдите на вкладку Параметры, чтобы выбрать поле Перезаписать существующую базу данных проверка.

    21. Нажмите кнопку ОК , чтобы вернуться в окно Восстановление базы данных.

    Если вы используете Microsoft Dynamics GP 10.0 или более поздней версии, выполните следующие действия, чтобы скопировать разрешения на безопасность из динамической компании в тестовую компанию:

    1. Войдите в Microsoft Dynamics GP в качестве пользователя sa.

    2. Выберите Microsoft Dynamics GP, наведите указатель на Пункты Сервис, Настройка, Система, а затем — Пользовательский доступ.

    3. Выберите соответствующего пользователя, а затем убедитесь, что выбрано поле проверка для новой тестовой компании, чтобы указать, что доступ предоставлен.

      Примечание.

      Если при выборе компании появляется сообщение об ошибке, удалите пользователя из папки Пользователи в новой тестовой базе данных в SQL Server Management Studio.

    4. Выберите Microsoft Dynamics GP, наведите указатель на Сервис, Наведите указатель на Пункты Установки, Система, а затем — Безопасность пользователей.

    5. В окне Настройка задач безопасности выберите пользователя, которому требуется доступ к тестовой компании.

    6. В списке Компания выберите динамическую компанию.

    7. Выберите Копировать, выберите поле проверка рядом с тестовой компанией, а затем нажмите кнопку ОК.

      Разрешения пользователя в живой компании копируются в тестовую компанию.

  6. После восстановления динамической базы данных компании в верхней части базы данных тестовой компании тестируемая компания содержит ссылки, содержащие те же данные COMPANYID и INTERID, что и у живой компании. Чтобы правильно отразить сведения о тестовой компании, выполните приведенный ниже сценарий в тестовой компании в анализаторе запросов или в SQL Server Management Studio. Этот скрипт обновляет COMPANYID и INTERID в тестовой базе данных сведениями, перечисленными в системной базе данных SY01500 таблице для этой тестовой компании.

    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
    

    Примечание.

    Если этот скрипт завершается ошибкой с повторяющимся ключом, необходимо вручную изменить столбцы INTERID и COMPANYID в таблице, в которой вы получаете ошибку первичного ключа в тестовой компании.

    Например: ошибка ограничения первичного ключа в PKRVLPD033. Чтобы правильно выполнить поиск таблицы, префикс PK ссылается на первичный ключ и не является частью имени таблицы. В этом примере таблица, которую требуется проверить, RVLPD033 для этой базы данных.

    Примечание.

    Если вы используете отдел кадров, необходимо также изменить значение COMPANYCODE_I в таблице TAST0130. Дополнительные сведения см. в разделе ЗАМЕТКИ в верхней части этой статьи.

  7. Убедитесь, что владельцем тестовой базы данных является DYNSA. Для этого выполните следующий скрипт в тестовой компании в анализаторе запросов или в SQL Server Management Studio:

    sp_changedbowner 'DYNSA'
    
  8. Если вы используете функцию детализации в интегрированных отчетах SQL Server Reporting Services или Excel, необходимо выполнить следующие действия, чтобы обновить серверные ссылки, чтобы детализация работала после изменения базы данных:

    • Убедитесь, что все пользователи вышли из Microsoft Dynamics GP и закройте все экземпляры SQL Server Management Studio
    • На компьютере, где установлена Dynamics GP, нажмите кнопку Пуск, а затем наведите указатель на пункт Все программы. Выберите Microsoft Dynamics, затем GP и обслуживание базы данных.
    • Когда служебная программа откроется, выберите или введите экземпляр SQL Server, где хранятся базы данных Dynamics GP. Если вы вошли в систему как учетная запись домена с правами на этот экземпляр SQL Server, вы можете выбрать этот параметр. В противном случае выберите Проверка подлинности SQL и введите соответствующее имя пользователя и пароль. Затем нажмите кнопку Далее. >>
    • Выберите Пометить все, чтобы выбрать каждую из баз данных Dynamics GP, и нажмите кнопку Далее>>.
    • Выберите продукт Microsoft Dynamics GP, а затем нажмите кнопку Далее>>.
    • Выберите Функции, хранимые процедуры и представления, а затем нажмите кнопку Далее >>.
    • Просмотрите окно подтверждения и нажмите кнопку Далее >> , чтобы начать процесс.

    Тестовая компания теперь должна иметь копию динамических данных компании и быть готова к использованию.

Ссылки

Дополнительные сведения см. в статье Настройка тестовой компании с копией динамических данных компании с помощью Microsoft Dynamics GP в MSDE 2000, SQL Server 2005 Express, SQL Server 2008 Express или SQL Server 2012 Express.