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

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

Согласно этой ссылке, пример команды для генерации DACPAC приведен ниже.

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 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
  • The machine where commands are executed and where Azure DevOps Server running is the same
    • so, DataSource=localhost should be correct, I think
  • Отсоединил мою коллекцию с помощью консоли управления Azure DevOps Server.
  • SQL Server Express для моего сервера Azure DevOps работает

person masskaneko    schedule 31.03.2020    source источник
comment
имя коллекции в консоли управления обычно является именем каталога базы данных, возможно с префиксом tfs_. Если это не так, попробуйте с помощью sql server management studio подключиться к серверу и узнать названия коллекций каталгос.   -  person Mario Dietner    schedule 31.03.2020
comment
Я попробовал SQL Server Management Studio. Успешно подключился к базе данных и нашел имя AzureDevOps_DefaultCollection. Спасибо.   -  person masskaneko    schedule 01.04.2020


Ответы (2)


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

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

person Daniel Mann    schedule 31.03.2020
comment
Я нашел имя базы данных AzureDevOps_DefaultCollection в консоли управления Azure DevOps при выборе функции присоединения. Сначала я написал: `` Мне не удалось найти имя базы данных сбора в консоли управления Azure DevOps Server. `` Но, это моя ошибка. Ты прав. Спасибо. - person masskaneko; 01.04.2020

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

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

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'.

Огромное спасибо! Марио Дитнер, Даниэль Манн.

person masskaneko    schedule 01.04.2020