web-dev-qa-db-ja.com

SSDTの公開の失敗:「マスターサーバーまたはターゲットサーバーに接続できません」

SSDTを使用してAzureのSQL Serverデータベースに発行しようとしています。そうすると、次のエラーが表示されます。

マスターサーバーまたはターゲットサーバー 'DATABASE_NAME'に接続できません。マスターサーバーまたはターゲットサーバー「DATABASE_NAME」に同じパスワードを持つユーザーが必要です。

エラー内のサーバー名としてデータベース名をリストしているという事実を無視すると、それを解決する方法がわかりません。ターゲットデータベースを指定すると、接続を正常にテストできます。同じ資格情報を使用して、SSMS経由でデータベースに接続することもできます。

エラーを調査した後、Azureのデータベースのファイアウォールに、発行元のマシンのIPアドレスが含まれていないことが多いようです。 IPが含まれているだけでなく、すべてのIP(0.0.0.0-255.255.255.255)が問題の潜在的な原因としてファイアウォールを排除できるようにする別のファイアウォールルールを追加しました。

何か案は?

7
im1dermike

これは既知の問題です。これは、新しく作成されたSQL Azureデータベースの新しい互換性レベル140が原因で発生します。この問題は文書化されています here およびSSDTを here から最新バージョンに更新すると、問題が解決する場合があります。

または、データベースの互換性レベルを130に変更できます。

ALTER DATABASE database_name   
SET COMPATIBILITY_LEVEL =  130;

お役に立てれば。

12
Alberto Morillo
Initializing deployment (Start)
Initializing deployment (Failed)
*** Could not deploy package.
Unable to connect to master or target server 'DbName'. You must have a user with the same password in master or target server 'DbName'.

VisualStudio-2015を介してビルドを展開しているときに問題が発生し、バージョンが2016年までのデータベースサーバーでデータベースを公開することをサポートしています。

ソリューション:SQL Server 2017の場合、Visual Studia 2017のみでデータベースを発行する必要があります。 SSDTをアップグレードする必要があります。

3
Komal Bisen

私の状況は、exportedAzureデータベース(compatレベル140)fromSQL Azureを使用して、ローカルのSQL Server 2017インストールにインポートしようとしました-昨日インストールした最新のSSMS 2017を使用してjust昨日インストールしても、まだこのメッセージが表示されます。

最新のSSMSがインストールされていたが、実際にはopening誤ってSSMS 2016!そのため、正しいバージョンを選択して固定し、再度発生しないようにしてください。 Windowsの[スタート]メニューに「SSMS」と入力するだけでは、両方が表示されない場合があります。

したがって、SSMSを使用してインポートする場合は、最新バージョンのみが必要であり、個別のツールは必要ありません。


脚注:正しいSSMSバージョンを開いた後でも、別のエラーが発生しました-包含データベースに関する何かです。

Azureデータベースは「包含」データベース(または少なくとも私のデータベース)であり、そのユーザーログインはデータベースに埋め込まれています。これは、明らかに標準のSQL Server 2017ではデフォルトで有効になっていません。

masterのローカルSQLで this を実行した後、正常にインポートできました。

sp_configure 'contained database authentication', 1;
GO
RECONFIGURE;
GO
1
Simon_Weaver

SSMSを介してローカルSQL ServerからAzure SQL DBにDBをデプロイしようとしたときに同じ問題に直面しました。

ソースDBの互換性レベルを130に変更しようとしましたが、それでも同じエラーが発生しました。

同じユーザーログインをマスターDBに追加しようとしましたが、助けはありません。

最終的に、他のアプローチを探し始めました。 https://docs.Microsoft.com/en-us/Azure/sql-database/sql-database-cloud-migrate の指示に従って、Data Migration Assistantを使用して成功しました。

1
potsi

Visual StudioデータベースプロジェクトからローカルSQL Serverデータベースを更新しようとしたときに、同じエラーが発生しました(つまり、i Azureではありません)。 Visual Studio 2015を使用しているときにVisual Studio 2017でSSDTを実行していたことが問題でした。VisualStudioはSSDTの更新バージョンを検出しました(たまたま通知に表示されます!)。正しいVisual Studioバージョンを指しています。今では動作します!

私のセットアップ:BizTalk Server 2016では、Visual Studio 2015を使用する必要があります。ローカルデータベースはSQL Server 2017上にあります。VisualStudio 2015でSSDTを使用すると、SQL Server 2017でデータベースを更新できます。 ;)

0
JERKER

* Azure *のSQL Serverデータベースに発行するには、「Data Migration Assistant」(DMA)を使用できます。

試してみたところ、問題なくスムーズに動作します(ファイアウォールと互換性レベル)

このリンクを参照してください SQL ServerデータベースからAzure SQL Databaseへの移行

ステップバイステップ: 10。Azure Database Migration Serviceを使用してSQLデータベースをAzureに移行する方法

0
Daleman

これが私に起こったとき、それは私が使用していたツールのバージョンによるものでした。 C:\Program Files (x86)\Microsoft SQL Serverで見つかった最新の_SqlPackage.exe_が機能せず、Visual Studioからのパブリッシュが機能しなかったのは奇妙だと思いました。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\150\SqlPackage.exe

0
Jason Goemaat