Важно

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


Информация

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

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

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

Миграция базы данных логов системы Indeed AM 7.x  

Скопируйте базу данных логов системы с новым именем (например: "indeed_am_81_log"), одним из следующих способов:

  • Через Мастер копирования базы данных:

https://docs.microsoft.com/ru-ru/sql/relational-databases/databases/use-the-copy-database-wizard?view=sql-server-ver15

  • Через Копирование баз данных путем создания и восстановления резервных копий:

https://docs.microsoft.com/ru-ru/sql/relational-databases/databases/copy-databases-with-backup-and-restore?view=sql-server-ver15

  • Через Мастер импорта и экспорта данных SQL Server:

https://docs.microsoft.com/ru-ru/sql/integration-services/import-export-data/import-and-export-data-with-the-sql-server-import-and-export-wizard?view=sql-server-ver15

По завершении копирования, укажите для новой БД логин MS SQL сервера, с правами владельца:

Далее, при настройке Log Server'a Indeed AM 8.1, для событий системы, укажите данную БД  (например: "indeed_am_81_log") и учетную запись MS SQL сервера (Установка и настройка Indeed AM Log Server с хранилищем в БД)

Миграция базы данных логов AM AirKey Cloud Server версии 7.x  

Скопируйте базу данных логов AM AirKey Cloud Server с новым именем (например: "indeed_akc_81_log"), одним из следующих способов:

  • Через Мастер копирования базы данных:

https://docs.microsoft.com/ru-ru/sql/relational-databases/databases/use-the-copy-database-wizard?view=sql-server-ver15

  • Через Копирование баз данных путем создания и восстановления резервных копий:

https://docs.microsoft.com/ru-ru/sql/relational-databases/databases/copy-databases-with-backup-and-restore?view=sql-server-ver15

  • Через Мастер импорта и экспорта данных SQL Server:

https://docs.microsoft.com/ru-ru/sql/integration-services/import-export-data/import-and-export-data-with-the-sql-server-import-and-export-wizard?view=sql-server-ver15

По завершении копирования, укажите для новой БД логин MS SQL сервера, с правами владельца:

Далее, при настройке Log Server'a Indeed AM 8.1, для AM AirKey Cloud Server, укажите данную БД  (например: "indeed_akc_81_log") и учетную запись MS SQL сервера (Indeed Key Server)

Миграция базы данных хранилища AM AirKey Cloud Server версии 7.x  

Скопируйте базу данных логов AM AirKey Cloud Server с новым именем (например: "indeed_akc_81"), одним из следующих способов:

  • Через Мастер копирования базы данных:

https://docs.microsoft.com/ru-ru/sql/relational-databases/databases/use-the-copy-database-wizard?view=sql-server-ver15

  • Через Копирование баз данных путем создания и восстановления резервных копий:

https://docs.microsoft.com/ru-ru/sql/relational-databases/databases/copy-databases-with-backup-and-restore?view=sql-server-ver15

  • Через Мастер импорта и экспорта данных SQL Server:

https://docs.microsoft.com/ru-ru/sql/integration-services/import-export-data/import-and-export-data-with-the-sql-server-import-and-export-wizard?view=sql-server-ver15

По завершении копирования, укажите для новой БД логин MS SQL сервера, с правами владельца:

Далее, при настройке Log Server'a Indeed AM 8.1, для AM AirKey Cloud Server, укажите данную БД  (например: "indeed_akc_81") и учетную запись MS SQL сервера (Indeed Key Server)


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

  1. Запустите Мастер конфигурации на сервере Indeed AM 7.x

  2. Пройдите в нём без изменений полей, до создания ключа шифрования, и сохраните резервную копию ключа
  3. Перенесите полученный файл на сервер  Indeed AM 8.1 
  4. Создайте отдельную БД для хранилища системы Indeed AM 8.1 (в примере используется название базы данных "indeed_am_81")

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

  6. Остановите IIS сервер, с Indeed AM server 8.1

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

Список таблиц для миграции:

  • DbInstanceProperties
  • DbLicenses
  • DbUserAuthenticators
  • DbHardwareDevices
  • DbHardwareDeviceProperties

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


Запускаем экспорт данных БД - Export Wizard


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

  3. Выбираем получение данных для экспорта пользовательским запросом
  4. Указываем запрос для выборки данных (список всех запросов приведён в пункте "Запросы получения данных из хранилища 7.x")

    Информация

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

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

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

Запросы получения данных из хранилища 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