バージョン782であるため、データベースを開くことができません。このサーバーはバージョン706以前をサポートしています。ダウングレードパスはサポートされていません


84

SQL Server 2014 Expressを使用してサンプルデータベースを作成し、それをWindowsフォームソリューションに追加しました。それをダブルクリックして開くと、このエラーが発生します。

バージョン782であるため、データベースを開くことができません。このサーバーはバージョン706以前をサポートしています。ダウングレードパスはサポートされていません

Visual Studio 2013を使用しています。最新バージョンの2つのMicrosoft製品を使用していて、互換性がないことを本当に理解していません。私は何かが足りないのですか?このデータベースを開くにはどうすればよいですか?

ここに画像の説明を入力してください


2
VisualStudioをSQLServer2014インスタンスに向ける必要があります。それはVisual Studioは、デフォルトではその2012年のインスタンスを使用している、そしてそれはそれがデフォルトとして2012を使用しています2014年の理由からデータベースをサポートしていないということですが、2に互換性がないということではありません:SQL Serverの2014と、Visual Studioの存在していなかった2013解放された。
アーロンベルトラン

@AaronBertrandありがとう。SQL Server 2014でVSをポイントするにはどうすればよいですか。ガイドとなるリンクはありますか?
Omer K

5
もちろん、Visual Studio(およびアプリケーション)をファイルに向けるのはやめてください(を使用してAttachDBFileName)。データベースがすでにローカル.\SQLEXPRESSインスタンスに接続されていると仮定すると、接続文字列をそのサーバー(Data Source=.\SQLEXPRESS;Initial Catalog=OMERDENEME;...)を指すように変更し、の使用AttachDBFileName停止します。
アーロンベルトラン

回答:


141

変更してみてくださいTools> Options> Database Tools> Data Connections>SQL Server Instance Name

VS2013のデフォルトは (LocalDB)\v11.0です。

(LocalDB)\MSSQLLocalDBたとえば、に変更すると機能するようです。バージョン782エラーは発生しません。


2
Visual Studio 2013 Express forWebとEntityFramework 6でも同様の問題が発生しました。EFはMDFファイルを自動的に作成しましたが、使用時にVSから接続できませんでした。 (LocalDB)\v11.0。サーバー名を変更して、(LocalDB)\MSSQLLocalDBバージョン番号に関するエラーをなくしました。
wrschneider 2015年

3
また、web.configファイルの接続文字列を(LocalDB)\ MSSQLLocalDBに変更する必要がありました
Roger Harvest

11
VS Studio 2015では、デフォルトは(LocalDB)\ MSSQLLocalDBです。したがって、この場合、これは役に立ちません
役に立つBee 2015年

2
上記の設定を変更した後、Visual Studioを再起動する必要がありました
Manoj Attal

1
@ Kun-yaoWang、helpfulBeeが言及した上記のコメントは私のために働き、私はVS 2015を使用しています。–
Manoj Attal

10

互換性レベルを変更してみてください、私のために働いた。

それがどのレベルかを確認します

USE VJ_DATABASE;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'VJ_DATABASE';
GO

次に、古いバージョンと互換性を持たせます

ALTER DATABASE VJ_DATABASE
SET COMPATIBILITY_LEVEL = 110;   
GO
  • 100 = Sql Server 2008
  • 110 = SQL Server 2012
  • 120 = SQL Server 2014

デフォルトでは、SQL Server 2014はdbバージョンの互換性を2014のみに変更します。これを使用すると、SQLServerのバージョン@@ versionを確認できます。

次に、上記のコマンドを実行して、使用しているバージョンを変更します。

追加の手順:DBのアクセシビリティがリセットされていないことを確認します。これを行うには、フォルダーとデータベースのプロパティを右クリックします。(アクセスが拒否されないように、権限があることを確認してください)


2

私にとっては、によって提供されるソリューションを使用しています codedomががしませんでした。ここでは、既存のデータベースの互換性バージョンのみを変更できます。

しかし、実際の問題は、ストレージ形式の変更により内部データベースのバージョンが一致しないことです。

SQL Serverのバージョンとその内部DBバージョン&Dbとの互換性レベルの詳細について確認しますここを あなたが使用してデータベースを作成する場合、それは良いでしょうだから、SQL Server 2012のExpressのバージョン以下を。または、Visual Studio2015プレビューの使用を開始します。


2

このソリューションは私の問題を解決します:(から:https//msdn.microsoft.com/en-us/library/ms239722.aspx

データ接続ノードからデータベースファイル(.mdf)を永続的に添付するには

  1. データ接続のショートカットメニューを開き、[新しい接続の追加]を選択します。

    [接続の追加]ダイアログボックスが表示されます。

  2. [変更]ボタンを選択します。

    [データソース変更]ダイアログボックスが表示されます。

  3. 選択してMicrosoft SQL Serverを選択しますOKをボタンを押します。

    [接続追加]ダイアログボックスが再表示され、[データソース]テキストボックスにMicrosoft SQL Server(SqlClient)が表示されます。

  4. [サーバー名]ボックスに、SQLServerのローカルインスタンスへのパスを入力または参照します。次のように入力できます。

    • 「。」コンピュータのデフォルトインスタンス用。
    • SQL Server Express LocalDBのデフォルトインスタンスの場合は「(LocalDB)\ v11.0」。
    • SQL ServerExpressのデフォルトインスタンスの場合は「。\ SQLEXPRESS」。

    SQL Server ExpressLocalDBおよびSQLServer Expressの詳細については、「ローカルデータの概要」を参照してください。

  5. [ Windows認証を使用する]または[SQLServer認証を使用する]を選択します。

  6. [データベースファイルの添付]、[参照]の順に選択し、既存の.mdfファイルを開きます。

  7. [ OK ]ボタンを選択します。

    新しいデータベースがサーバーエクスプローラーに表示されます。明示的に切り離すまで、SQLServerに接続されたままになります。


1
この解決策は私のために働いた。tool-option-database tools-> data connection-> sql server name =(LocalDB)\ MSSQLLocalDBでVs2012のデフォルトの接続設定を変更しました。次に、上記の手順に従います。ステップ4で、ny sql 2014インスタンス名を(LocalDB)\ MSSQLLocalDBとして入力しました。そして、すべてが大丈夫です。ありがとう兄貴。
abdul hameed 2018

1

別の解決策は、SQL Server Manager 2014などからDBを「エクスポート」するときに、データベースを2012などに移行することです。これは、メニューの[タスク]-> [DB]を右クリックしてスクリプトを生成することで実行されます。この指示に従ってください:

https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/

すべてを含むスクリプトを生成してから、SQL Server Manager(2012など)で、命令で指定されているとおりにスクリプトを実行します。私はテストを成功裏に実行しました。


0

VS 2017を使用しています。デフォルトでは、SQL Serverインスタンス名は(LocalDB)\ MSSQLLocalDBです。ただし、@ user3390927の回答のように、データベースの互換性レベルを110にダウングレードすると、サーバー名を「localhost \ SQLExpress」として選択して、VSでデータベースファイルを添付できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.