2016-04-25 21 views
5

Mam wbudowane usługi zespołu (było Visual Studio Online), z jednym krokiem programu MSBuild skonfigurowanym do budowania i wdrażania projektu bazy danych przy użyciu profilu publikowania. Nie mogę uwierzyć, że udało mi się to potwierdzić. Kiedy ustawiłem kolejkę definicji Team Services, jestem w stanie zbudować projekt DB i wyprodukować .dacpac. Jednak przyjdź czas publikacji i ten błąd jest następujący:Nieudane budowanie usług programu Visual Studio Teamset - projekt bazy danych do usługi SQL Azure SQL

C: \ a \ 1 \ s \ Źródło \ ShopDatabase \ bin \ Output \ MyDatabase.publish.sql (0,0): Błąd Deploy72002: Nie można połączyć się z główny lub docelowy serwer mydb. Musisz mieć użytkownika o tym samym haśle na serwerze głównym lub serwerze mydb.

Jesteśmy pewni, że użytkownik istnieje w mydb i głównym katalogu głównym na Azure.

docelowa: Azure SQL Database

projekt DB Platforma docelowa: Microsoft Azure SQL Database

Kiedy uruchomić profil publikowania bezpośrednio z Visual Studio, to działa. Ale w definicji budowania Team Services nie. Próbowałem je jako msbuild argumenty

/t: Budowanie; Publish /p:SqlPublishProfilePath="myproject.Dev.publish.xml”/ p: password = "moje_hasło"

i tak:

/t: Build; Publish /p: SqlPublishProfilePath="myproject.Dev.publish.xml "/ p: TargetConnectionString =" Źródło danych = myproject.database.windows.net; Persist Security Info = True; User ID = myuser ; Hasło = moje hasło; " /p:VisualStudioVersion=14.0/p: Nazwa = "mójużytkownik"/P: = hasło "mojehasło"

a to:

/t: Budowa; Publikacja /p:SqlPublishProfilePath="myproject.Dev .publish.xml "/ p: TargetConnectionString =" Źródło danych = myproject.database.windows.net; Persist Security Info = True; User ID = myuser; Hasło = mojehasło; " /p:VisualStudioVersion=14.0/p: TargetUserName = "myuser"/p: TargetPassword = "mojehaslo"

Ale nie zadziała. Pomóż mi T_T przeszukiwać sieć przez 6 godzin.

Odpowiedz

7

To jest kiepski komunikat o błędzie, który prawdopodobnie zmienia prawdziwy problem: musisz otworzyć zaporę ogniową do wdrożenia na platformie Azure SQL DB. Działa z Visual Studio, ponieważ masz włączony zakres adresów IP. Powinny pomóc kroki opisane w this guide to building & deploying from VSO, w szczególności wpis na stronie deploying from VSO here,. w szczególności dotyczy sposobu otwierania firewalla w ramach wdrażania.

+0

Dzięki Kevin, to wyjaśnia, dlaczego możemy wdrożyć w naszych maszynach (jawnie dodaliśmy nasze publiczne IP do białej listy). W rzeczywistości używamy kroku MSBuild, a nie wdrażania kroku SQL Azure (więc nie można przejść do firewalla AutoDetect). Czy wiesz, jak uzyskać adres IP hosta VSO zbudowanego hostem, możemy dodać to jako białą listę. –

+0

Po wykonaniu niektórych odczytów, puli Hostingu hostowanego nie ma ustalonego zakresu adresów IP, więc nie można dodać do białej listy puli w zaporze. Rozumiem, że musisz ustawić serwer na "Zezwalaj na dostęp do usług Azure" w portalu Azure. – Witchfinder

+0

Zmienione plany :) Zrobiliśmy krok "Wdrożenie platformy Azure SQL DB" i postępowaliśmy zgodnie z zaleceniami firewalla w linku powyżej. Działa jak marzenie! Dzięki za pomoc. –

3

Oczywistą odpowiedzią (czasami z perspektywy czasu!), Ale dla przyszłych Googlersami błąd You must have a user with the same password in master or target server

zdarza się również, jeśli są skierowane swoją Deploy do instancji, który nie istnieje. ie: Serwer nie został znaleziony.

0

Niedawno mieliśmy ten problem i rozwiązaliśmy go, usuwając nazwę serwera @ od końca wartości Server Admin Login w sekcji Szczegóły SQL DB zadania VSTS SQL Deploy. Niektóre przewodniki online mówią, że tego potrzebujesz, ale wydaje się, że coś się ostatnio zmieniło i nie jest już potrzebne.

1

Fwiw, generował skrypt z visual studio. Uruchamianie jako administrator sprawiło, że przestało to być bzdurą na ten temat. Co za strata mojego życia właśnie teraz ...