SSDTを使用してAzureのSQL Serverデータベースに発行しようとしています。そうすると、次のエラーが表示されます。
マスターサーバーまたはターゲットサーバー 'DATABASE_NAME'に接続できません。マスターサーバーまたはターゲットサーバー「DATABASE_NAME」に同じパスワードを持つユーザーが必要です。
エラー内のサーバー名としてデータベース名をリストしているという事実を無視すると、それを解決する方法がわかりません。ターゲットデータベースを指定すると、接続を正常にテストできます。同じ資格情報を使用して、SSMS経由でデータベースに接続することもできます。
エラーを調査した後、Azureのデータベースのファイアウォールに、発行元のマシンのIPアドレスが含まれていないことが多いようです。 IPが含まれているだけでなく、すべてのIP(0.0.0.0-255.255.255.255)が問題の潜在的な原因としてファイアウォールを排除できるようにする別のファイアウォールルールを追加しました。
何か案は?
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をアップグレードする必要があります。
私の状況は、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
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を使用して成功しました。
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でデータベースを更新できます。 ;)
* Azure *のSQL Serverデータベースに発行するには、「Data Migration Assistant」(DMA)を使用できます。
試してみたところ、問題なくスムーズに動作します(ファイアウォールと互換性レベル)
このリンクを参照してください SQL ServerデータベースからAzure SQL Databaseへの移行
ステップバイステップ: 10。Azure Database Migration Serviceを使用してSQLデータベースをAzureに移行する方法
これが私に起こったとき、それは私が使用していたツールのバージョンによるものでした。 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