Veritabanı 782 sürümü olduğu için açılamıyor. Bu sunucu 706 ve önceki sürümleri desteklemektedir. Düşürme yolu desteklenmiyor


84

SQL Server 2014 Express kullanarak örnek bir veritabanı oluşturdum ve bunu Windows Form çözümüme ekledim. Açmak için üzerine çift tıkladığımda bu hatayı alıyorum.

Veritabanı 782 sürümü olduğu için açılamıyor. Bu sunucu 706 ve önceki sürümleri destekler. Düşürme yolu desteklenmiyor

Visual Studio 2013 kullanıyorum. Microsoft ürünlerinin en son iki sürümünü kullandığımı ve uyumsuz olduklarını gerçekten anlamıyorum. Bir şey mi kaçırıyorum? Bu veri tabanını nasıl açabilirim?

görüntü açıklamasını buraya girin


2
Visual Studio'yu SQL Server 2014 örneğinize yönlendirmeniz gerekir. İkisinin uyumsuz olmasından değil, Visual Studio'nun 2012 örneğini varsayılan olarak kullanması ve 2014'ten itibaren veritabanlarını desteklememesidir. 2012'yi varsayılan olarak kullanmasının nedeni: SQL Server 2014 , Visual Studio 2013 olduğunda mevcut değildi serbest bırakıldı.
Aaron Bertrand

@AaronBertrand teşekkürler. VS'yi SQL Server 2014'e nasıl işaret edebilirim? Yönlendirecek herhangi bir bağlantı var mı?
Omer K

5
Elbette, Visual Studio'yu (ve uygulamanızı) bir dosyaya (kullanarak AttachDBFileName) işaret etmeyi bırakın . Veritabanının yerel .\SQLEXPRESSörneğinize zaten eklenmiş olduğunu varsayarsak, bağlantı dizelerini o sunucuya ( Data Source=.\SQLEXPRESS;Initial Catalog=OMERDENEME;...) işaret edecek şekilde değiştirin ve kullanmayı bırakınAttachDBFileName .
Aaron Bertrand

Yanıtlar:


141

Değiştirmeyi deneyin Tools> Options> Database Tools> Data Connections> SQL Server Instance Name.

VS2013 için varsayılan değer (LocalDB)\v11.0.

İçin değiştirme (LocalDB)\MSSQLLocalDB, örneğin, iş gibi görünüyor - artık versiyonu 782 hatası.


2
Web ve Entity Framework 6 için Visual Studio 2013 Express ile benzer sorunlar yaşadım. EF, MDF dosyasını otomatik olarak oluşturdu ancak kullanırken VS'den bağlanamadım (LocalDB)\v11.0. Sunucu adının değiştirilmesi, (LocalDB)\MSSQLLocalDB# sürümleriyle ilgili bu hatanın ortadan kalkmasına neden oldu.
wrschneider

3
Ayrıca web.config dosyasındaki bağlantı dizesini (LocalDB) \ MSSQLLocalDB
Roger Harvest

11
VS Studio 2015'te, varsayılan (LocalDB) \ MSSQLLocalDB'dir. Yani, bu durumda bu yardımcı olmuyor
yararlı

2
Yukarıda belirtilen ayarı değiştirdikten sonra Visual Studio'yu yeniden başlatmak zorunda kaldım
Manoj Attal

1
@ Kun-yaoWang, yararlıBee tarafından belirtilen yukarıdaki yorum benim için çalıştı ve VS 2015 kullanıyorum.
Manoj Attal

10

Uyumluluk seviyesini değiştirmeye çalışın , benim için çalıştı.

Hangi seviyede olduğunu doğrulayın

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

Ardından eski sürümle uyumlu hale getirin

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

Varsayılan olarak, Sql Server 2014, Sql Server'ın @@ versionhangi sürüm olduğunu anlayabilmeniz gerektiğini kullanarak db sürüm uyumluluğunu yalnızca 2014 olarak değiştirecektir.

Ardından, sahip olduğunuz sürümü değiştirmek için yukarıdaki komutu çalıştırın.

Ek adım: DB'nin erişilebilirliğine baktığınızdan emin olun, bunu klasörün ve veritabanının özelliklerine sağ tıklayarak yapın. (erişim hakkınız olduğundan emin olun, böylece erişiminiz reddedilmez)


2

Benim için codedom tarafından sağlanan çözümü kullanmak işe yaramadı. Burada yalnızca çıkan veritabanının uyumluluk sürümünü değiştirebiliriz.

Ancak asıl sorun, depolama formatındaki değişiklikler nedeniyle uyuşmayan dahili veritabanı sürümüdür.

SQL Server sürüm ve iç db sürümü ve Db uyumluluk düzeyi hakkında daha fazla ayrıntı göz atın burada sen kullanarak veritabanı oluşturmak eğer iyi olurdu Yani SQL Server 2012 Express aşağıda sürümü veya. Veya Visual Studio 2015 Önizleme'yi kullanmaya başlayın.


2

Bu çözüm sorunumu çözüyor: ( https://msdn.microsoft.com/en-us/library/ms239722.aspx )

Veri Bağlantıları düğümünden kalıcı olarak bir veritabanı dosyası (.mdf) eklemek için

  1. Veri Bağlantıları için kısayol menüsünü açın ve Yeni Bağlantı Ekle'yi seçin.

    Ekleme Bağlantı iletişim kutusu görüntülenir.

  2. Değiştir düğmesini seçin .

    Değişim Veri Kaynak iletişim kutusu görüntülenir.

  3. Seç Microsoft SQL Server ve seçim OK düğmesine basın.

    Bağlantı Ekle ile iletişim kutusu tekrar görülür, Microsoft SQL Server (SqlClient) görüntülenen Veri kaynağı metin kutusuna.

  4. Sunucu Adı kutusuna SQL Server'ın yerel örneğinin yolunu yazın veya bu yola göz atın. Aşağıdakileri yazabilirsiniz:

    • "." bilgisayarınızdaki varsayılan örnek için.
    • SQL Server Express LocalDB'nin varsayılan örneği için "(LocalDB) \ v11.0".
    • SQL Server Express'in varsayılan örneği için ". \ SQLEXPRESS".

    SQL Server Express LocalDB ve SQL Server Express hakkında bilgi için bkz. Yerel Verilere Genel Bakış .

  5. Windows Kimlik Doğrulamasını Kullan veya SQL Sunucu Kimlik Doğrulamasını Kullan'ı seçin .

  6. Veritabanı dosyası ekle'yi seçin , Gözat'ı seçin ve mevcut bir .mdf dosyasını açın.

  7. Tamam düğmesini seçin .

    Yeni veritabanı Sunucu Gezgini'nde görünür. Siz açıkça ayırana kadar SQL Server'a bağlı kalacaktır.


1
Bu çözüm benim için çalıştı. Tool-option-database tools-> data connection -> sql server name = (LocalDB) \ MSSQLLocalDB'de Vs2012 varsayılan bağlantı ayarımı değiştirdim. ve sonra yukarıdaki adımı takip etti. ve 4. adımda ny sql 2014 örnek adını (LocalDB) \ MSSQLLocalDB olarak girdim. ve her şey yolunda. sağ ol, kanka.
abdul,

1

Diğer bir çözüm de, örneğin Sql Server Manager 2014'ten DB'yi "dışa aktardığınızda" veritabanını örneğin 2012'ye taşımaktır. Bu, Görevler-> DB'ye sağ tıklandığında komut dosyaları oluştur menüsünde yapılır. Sadece şu talimatı izleyin:

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

Her şeyi içeren bir komut dosyası oluşturur ve sonra SQL sunucu yöneticinizde, örneğin 2012 komut dosyasını talimatta belirtildiği gibi çalıştırın. Testi başarıyla gerçekleştirdim.


0

VS 2017 kullanıyorum. Varsayılan olarak SQL Server Örneği adı (LocalDB) \ MSSQLLocalDB'dir. Ancak, veritabanının uyumluluk düzeyini @ user3390927'nin cevabında olduğu gibi 110'a düşürerek, veritabanı dosyasını VS'ye ekleyerek Sunucu Adı'nı "localhost \ SQLExpress" olarak seçebilirim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.