マシン上に SQL Server の古い/競合する名前付きインスタンスが多数あったため、それらを削除し、SQL Server 2016 Express の新しい既定のインスタンスを作成することにしました。
それは無数の問題を引き起こしました...
まず、コードで移行を実行しようとしましたが、エラーが発生しました
データ接続を追加できません。ファイルまたはアセンブリを読み込めませんでした Microsoft.SqlServer.management.sdk.sfc
2016年および2014年の機能パックから共有管理オブジェクトを検索してダウンロードする丸一日の後(役に立たなかった)、最終的に2012年の機能パックからダウンロードしようとしました(どこかの小さなコメントで示唆されているように)そしてそれはトリックをしました-やっとサーバー エクスプローラーでデータ接続を作成できました。
しかし今...まだ正しいサーバーに接続できないようです。サーバー エクスプローラーにサーバーが一覧表示されますが、テーブルは表示されません。また、移行を実行できません。次のエラーが表示されます。
SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索中にエラーが発生しました)
Visual Studio のサーバー エクスプローラーは次のとおりです。
(Visual Studio のサーバー エクスプローラー)
これは私のapp.config
ファイルの接続文字列です:
<connectionStrings>
<add name="DefaultConnection"
connectionString="data source=.\SQLEXPRESS; initial catalog=EFChallenge2; integrated security=SSPI"
providerName="System.Data.SqlClient"/>
</connectionStrings>
また、SSMS は問題なくサーバーに接続します。問題なくデータベースとテーブルを作成できます。
JenProWin
以前と同じように、SQL Server Express の新しい既定のインスタンスに名前を付けました。Visual Studio が同じ名前の古い名前付きインスタンスを参照している可能性はありますか? もしそうなら、どうすれば更新できますか?(注:サーバーを削除して再度追加しようとしましたが、問題は残ります。)