Как определить начальный каталог (имя базы данных коллекции) на этапе миграции Azure DevOps Server в службы? - PullRequest
0 голосов
/ 31 марта 2020

Я являюсь администратором Azure DevOps Server 2019 Обновление 1.1 в организации. Я перенесу нашу коллекцию с локального сервера на Azure DevOps Services. В настоящее время я нахожусь на этапе использования SqlPackage.exe для создания файла DACPA C. https://docs.microsoft.com/en-us/azure/devops/migrate/migration-import?view=azure-devops

Согласно этой ссылке пример команды для генерации DACPA C выглядит следующим образом.

SqlPackage.exe /sourceconnectionstring:"Data Source=localhost;Initial Catalog=Foo;Integrated Security=True" /targetFile:C:\DACPAC\Foo.dacpac /action:extract /p:ExtractAllTableData=true /p:IgnoreUserLoginMappings=true /p:IgnorePermissions=true /p:Storage=Memory

Однако я не могу понять, что такое Initial Каталог. Ссылка гласила Initial Catalog - Name of the collection database. Но я не смог найти имя базы данных коллекции в Azure Консоль управления DevOps Server.

Я ссылался на другую статью на dev.to
https://dev.to/timothymcgrath/the-great-azure-devops-migration-part-6-import-2obc
В этой статье Initial Catalog=[COLLECTION_NAME] и именем коллекции на моем Azure сервере DevOps является «DefaultCollection» (имя по умолчанию).

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

C:\Program Files (x86)\Microsoft Visual Studio\2017\SQL\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130> ./SqlPackage.exe /sourceconnectionstring:”Data Source=localhost;Initial Catalog=DefaultCollection;Integrated Security=True” /targetFile:C:\DefaultCollection.dacpac /action:extract /p:ExtractAllTableData=true /p:IgnoreUserLoginMappings=true /p:IgnorePermissions=true /p:Storage=Memory
Connecting to database 'DefaultCollection' on server 'localhost'.
Extracting schema
Extracting schema from database
*** Error extracting database:Could not connect to database server.

(provider: Named Pipes Provider, error: 40

Эта ошибка вызвана неправильным исходным каталогом?
Как найти правильный начальный каталог - имя базы данных коллекции?

Среда и предварительные условия

  • Windows 10 Pro
  • SqlPackage.exe, установленный из SSDT для Visual Studio 2017
  • Машина, на которой команды выполняются и там, где Azure DevOps Server работает одинаково
    • , поэтому DataSource=localhost должно быть правильным, я думаю
  • Отделил мою коллекцию от Azure Консоль управления сервером DevOps
  • SQL Сервер Express для моего Azure Сервер DevOps работает

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Решено. Имя базы данных в этом случае - «AzureDevOps_DefaultCollection». Его можно найти с помощью Azure DevOps Management Console в функции выбора вложения. (Уровень приложения -> Коллекции командных проектов) Или, используя SQL Server Management Studio, мы также можем найти «AzureDevOps_DefaultCollection».

И, в моем случае, DataSource=localhost неверно, DataSource=<hostname>\SQLEXPRESS - это правильный. Я заметил этот ответ при подключении к своей базе данных SQL Server Management Studio. Наконец, я успешно сгенерировал файл DACPA C.

Connecting to database 'AzureDevOps_DefaultCollection' on server '<my machine host name>\SQLEXPRESS'.
Extracting schema
Extracting schema from database
Resolving references in schema model
Validating schema model for data package
Validating schema
Exporting data from database
Exporting data
Processing Export.
Processing Table '[dbo].[tbl_PropertyValue]'.
Processing Table '[Task].[tbl_LibraryItemString]'.
...
...
...
Processing Table '[Search].[tbl_FileMetadataStore]'.
Processing Table '[dbo].[SequenceIds]'.
Successfully extracted database and saved it to file 'C:\DACPAC\DefaultCollection.dacpac'.

Большое спасибо! Марио Дитнер, Даниэль Манн.

0 голосов
/ 31 марта 2020

Посмотрите на консоль администратора вашего уровня приложений. Это показывает вам все базы данных.

Для чего стоит стандартное имя для базы сбора данных по умолчанию - Tfs_DefaultCollection. В вашем случае это может отличаться, но это безопасная ставка.

...