You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Важно

Обязательное условие - ключи шифрования хранилища и структура пользовательских каталогов (их идентификаторы) обоих инстансов должны совпадать


Информация

Используется штатный набор инструментов SQL Server (SSMS).

Миграция осуществляется по шагам, интерактивно, прозрачно для DBA.

Используется инструментарий экспорта данных БД - Export Wizard.


Подготовка базы данных Indeed AM 8.1

  1. Создайте отдельную БД для хранилища системы Indeed AM 8.1
  2. Создайте иерархию таблиц в БД, с помощью Мастера конфигурации (Настройка с помощью мастера конфигурации)
  3. Принудительно очистите базу от всех данных

Миграция базы данных Indeed AM 7.x

По умолчанию, данные мы читаем из своего запроса [Query] и пишем в таблицу [Query], это необходимо изменить, выбрав соответствующую готовую таблицу из списка.
Список таблиц для миграции:

  • DbInstanceProperties
  • DbLicenses
  • DbUserAuthenticators
  • DbHardwareDevices
  • DbHardwareDeviceProperties

Все шаги повторяются для каждой мигрируемой таблицы.


  1. Выбираем источник данных - базу данных хранилища 7.x
  2. Выбираем приемник - базу данных хранилища 8.1
  3. Выбираем получение данных для экспорта пользовательским запросом
  4. Указываем запрос для выборки данных

    Информация

    Общая особенность экспорта - конвертирование формата идентификаторов записей таблиц из nvarchar(128) и nvarchar(max) в uniqueidentifier.
    Текстовый вид uniqueidentifier обязательно должен содержать фигурные скобки {}, иначе конвертация sql server не сможет обработать строковое значение.

  5. Далее выбираем таблицы для экспорта и импорта

  6. В настройках маппинга на этом же экране указываем, что нужно удалять данные из таблицы - приемника
  7. Выбираем preview, чтобы убедится, что мы собираемся перенести нужные данные и запрос корректен
  8. Далее, проверяем набор полей и видим предупреждения о конвертировании данных
  9. Запускаем процедуру экспорта

Запросы получения данных из хранилища 7.x

  1. Запрос к таблице DbInstanceProperties

    Текст запроса
    select CONCAT('{', id, '}') as Id
          ,Name
    	  ,Value 
      from dbo.dbinstanceproperties
  2. Запрос к таблице DbLicenses

    Текст запроса
    SELECT CONCAT('{', id, '}') as Id
          ,[LicenseUid]
          ,[InstanceId]
          ,[Type]
          ,[AmountValue]
          ,[BeginDate]
          ,[EndDate]
          ,[Description]
          ,[Issuer]
          ,[IssuedTo]
          ,[IssueDate]
          ,[ControlValue]
      FROM [dbo].[DbLicenses]
  3. Запрос к таблице DbUserAuthenticators

    Текст запроса
    SELECT CONCAT('{', id, '}') as Id
          ,[UserId]
          ,CONCAT('{', ModeId, '}') as ModeId
          ,[ModeTypeName]
          ,[ModeDeviceName]
          ,[ModeType]
          ,[CreatedOn]
          ,[TemplateRawData]
          ,[Description]
          ,[IsDisabled]
          ,[ExpirationDate]
          ,[AuthenticationCountLimitValue]
          ,[Flags]
          ,[IsLocked]
          ,[SerialNumber]
      FROM [dbo].[DbUserAuthenticators]
  4. Запрос к таблице DbHardwareDevices

    Текст запроса
    SELECT CONCAT('{', id, '}') as Id
          ,CONCAT('{', CAST(Type as nvarchar(128)), '}') as Type
          ,CAST(SerialNumber as nvarchar(256)) as SerialNumber
          ,[RegistrationDate]
          ,[IsEnabled]
          ,[Comment]
          ,[Model]
      FROM [dbo].[DbHardwareDevices]
  5. Запрос к таблице DbHardwareDeviceProperties

    Текст запроса
    SELECT CONCAT('{', id, '}') as Id
          ,CONCAT('{', CAST(HardwareDeviceId as nvarchar(128)), '}') as HardwareDeviceId
          ,[PropertyId]
          ,[Value]
      FROM [dbo].[DbHardwareDeviceProperties]

  • No labels