Visual Studio Server Explorer'da LocalDB'ye nasıl bağlanılır?


240

Bir saatlik bir aramadan sonra buna bir çözüm bulamadığımı düşünemiyorum. Code First basit bir gözden geçirme veren Entity Framework 6.0 üzerinde bu makaleyi takip ediyorum . Projeyi oluşturdum ve derlemesi için en son EF Nuget paketini kurdum . Ayrıca Visual Studio 2013 ile birlikte gelen Microsoft SQL Server 2012 Express LocalDB yüklü olduğunu doğruladım. Yerel bilgisayarımda yüklü başka SQL örneği yok. Program çalışır ve girişler veritabanına eklenir ve konsolda çıkarılır. Ancak makale "localdb kontrol" dediğinde nasıl olduğunu söylemiyor! Proje klasörü altında oluşturulan '.mdf' veya '.ldf' dosyalarını görmüyorum. Visual Studio'yu bağlamak için her yolu denedim ' s Sunucu Gezgini - LocalDB. Sihirbaz bulunamıyor(localdb)veya Server Explorer'da herhangi bir sağlayıcı bulamıyor gibi (localdb)\v11.0;Integrated Security=true;gördüğüm gibi bağlantı dizesini StackOverflow birkaç yerde sordum ama hiçbir cevap çalışır veya yanıt olarak işaretlenmiş. Lütfen yardım et, bu kadar sinir bozucu olmak zorunda değil!

Visual Studio Server Explorer'ı LocalDB'ye bağlama adımları nelerdir?


70
Bu işe yeni giren insanlara sık sık acıyorum. 20 yıl önce, araçların kullanımı aslında çok daha kolaydı. Dokümantasyon da artık zar zor yeterli ve çoğu durumda daha az. Şimdi MSDN'de "foo" -> "Bu foo yöntemidir" gibi bir yöntemi açıklayan "dokümantasyon" görüyorum. Gerçekten, Microsoft? Teknik yazarlara ne oldu? Books Online'a (gerçekte) ne oldu?
Pittsburgh DBA

1
Visual Studio'yu yönetici olarak çalıştırdığınızdan emin olun.
Darren Griffith

4
Visual Studio'nun kullanarak yapmayı kabul ediyorsanız SQL Server Nesne Explorer yerine Sunucu Explorer . Daha basit bir çözüm (daha az manuel yapılandırma), cevabımı kontrol et: stackoverflow.com/a/41906391/3645638
Svek

Benim kurulum veritabanı localdb yerine sqlserverexpress içinde oluşturur. Buna ne sebep olur?
Jason Cheng

Yanıtlar:


282

Gelen Visual Studio 2012 tüm ı girmek edildi yapmak zorunda:

(localdb)\v11.0

Visual Studio 2015 ve Visual Studio 2017 olarak değiştirildi:

(localdb)\MSSQLLocalDB

Microsoft SQL Server Datakaynak eklerken sunucu adı olarak:

View/Server Explorer/(Right click) Data Connections/Add Connection

ve sonra veritabanı adları dolduruldu. Sunucu adı açılan kutuda otomatik olarak kullanılabilir olsaydı güzel olurdu, ancak kabul edilen yanıt diğer tüm adımları yapmak zorunda değildi.

Makinenizde bulunan LocalDB veritabanı adlarına aşağıdakileri kullanarak da göz atabilirsiniz:

View/SQL Server Object Explorer.

4
Evet, ilk kez çalışması gerekiyordu. Ama eğer olmadıysa, kabul edilen cevaptaki adımlar hizmete başlamalı ve çalışmasını sağlamalıdır.
orad

Belki de Entity Framework sunucu adının ne olduğunu bulmak için kullandığım gibi SQL Server Nesne Explorer benim için başlattı. Bu soruyu bulmuştum, ancak daha basit bir şey
umduğumdan

Ayrıntılara kör müsün, yoksa bunu kurmanın daha sezgisel olmaması son derece sinir bozucu mu? 2012 ya da 2015'te, IDE boyunca neredeyse böyle şeyler saklıyorlar gibi görünüyor.
Rex_C

teşekkür ederim. Cevabınızı bulana kadar beyinlerimi rafa atıyordum.
Alexandre N.

5
Neden Microsoft, neden? Neden adı değiştirip belgelerinizi güncellemiyorsunuz? (VS 2015 yolu için teşekkürler)
Thibault D.

256

Tamam, kendi soruma cevap veriyorum.

LocalDB'yi Visual Studio Server Explorer'a bağlama adımları

  1. Komut istemini aç
  2. Çalıştırmak SqlLocalDB.exe start v11.0
  3. Çalıştırmak SqlLocalDB.exe info v11.0
  4. Np: \ ... ile başlayan Örnek boru adını kopyalayın .
  5. Visual Studio'da ARAÇLAR> Veritabanına Bağlan ... seçeneğini seçin.
  6. Sunucu Adı için şunu girin (localdb)\v11.0. Bu işe yaramadıysa, daha önce kopyaladığınız Örnek kanal adını kullanın . Bunu SQL Management Studio'ya bağlanmak için de kullanabilirsiniz.
  7. Bir sonraki açılır listeden veritabanını seçin
  8. Tamam'ı tıklayın

resim açıklamasını buraya girin


86
Bugünlerde MS platformundaki hemen hemen her eylem, biraz sihir veya önceden ezberlenmiş bilgi içeriyor ... yepyeni bir sihir seti olduğunda 5 yıl içinde bunları kim destekleyecek?
tbone

34
Teşekkür ederim! Sadece bu mükemmel cevaba (ve mükemmel soruya) eklemek için: SqlLocalDb infotüm sunucu adlarını listeler. Benim durumumda, EF kod ilk büyü sonra, benim veritabanı MSSQLLocalDBdeğil sona erdi v11.0, bu yüzden (localdb)\MSSQLLocalDBBağlantı Ekle iletişim kutusuna girdim .
biscuit314

1
SqlLocalDb.exe sistem yolumda iki kez görünüyor - önce C: \ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn ve sonra C: \ Program Files \ Microsoft SQL Server \ 120 \ Tools \ Binn. Bu nedenle sadece önceki sürüm çağrılır! Hem VS2012 hem de VS 2013 yüklü.
John Pankowicz

2
Giderek daha fazla insanın Microsoft programlarından diğer programlama dillerine yöneldiğine inanıyorum. Bu basit yapılandırma ve dosya konumu, diğer dillerdeki eksikliklerden daha zor hale geldi. Eğer hiç eksikliği varsa.
JustJohn

4
Bütün öğleden sonra başımı kaşıyorum. Eskiden bu kadar kanlı olduğu için neden bu kadar karmaşık hale getirmek zorundalar? Yardım için teşekkürler.
George Williams

71

Seçiniz:

  1. Veri kaynağı: Microsoft SQL Server (SqlClient)
  2. Sunucu adı: (localdb)\MSSQLLocalDB
  3. Sunucuda oturum açın: Use Windows Authentication

Veritabanı adını almak için Yenile düğmesine basın :)

Ekran görüntüsü


1
her nasılsa 28/04/2015
maazza

4
Burada aynı vs2015 .. Bu cevap .. Sanırım localDb yeniden adlandırdı?
punkouter

1
Bu, Win 8.1'de VS2015 RC için yaptı.
ScottG


Ayrıca vs2017 de çalışır.
Toke Breer-Mortensen

25

Bunun yerine SQL Server Nesne Gezgini'ni (SSOX) kullanın

Diğer cevapların aksine, bu yaklaşım şunları kullanır:
- Özel komutlar yok.
- Karmaşık yapılandırmalar yok.
Sadece SQL Server Nesne Gezgini'ni kullanın

Oldukça basit ...

  • Gönderen Görünüm menüsünden, açık SQL Server Object Explorer .

bir

  • Tabloya sağ tıklayın {YourTableName}> Tasarımcıyı Görüntüle

iki

Bitti.


16

Benim için çalıştı.

  1. Komut istemini aç
  2. "SqlLocalDB.exe başlangıç" çalıştırın
  3. Sistem yanıtı "LocalDB örneği" mssqllocaldb "başladı."
  4. VS , Görünüm / Sunucu Gezgini / (Sağ Tıklama) Veri Bağlantıları / Bağlantı Ekle
    • Veri Kaynağı: Microsoft SQL Server (SqlClient)
    • Sunucu adı: (localdb) \ MSSQLLocalDB
    • Sunucuda oturum açın: Windows Kimlik Doğrulaması'nı kullanın
  5. "Bağlantıyı Test Et", ardından Tamam'a basın.

8

Aşağıdaki SQLServer Express 2016 kullanarak Windows 10 üzerinde Visual Studio 2017 Community Edition ile çalışır.

O kullanarak ne denir PowerShell çek aç SqlLocalDB.exe infove onunla Running olup olmadığını SqlLocalDB.exe info NAME. Makinemde şöyle görünüyor:

> SqlLocalDB.exe info
MSSQLLocalDB
> SqlLocalDB.exe info MSSQLLocalDB
Name:               mssqllocaldb
Version:            13.0.1601.5
Shared name:
Owner:              DESKTOP-I4H3E09\simon
Auto-create:        Yes
State:              Running
Last start time:    4/12/2017 8:24:36 AM
Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query
>

Çalışmıyorsa, onu başlatmanız gerekir SqlLocalDB.exe start MSSQLLocalDB. Çalışırken Instance pipe name:hangisinin başladığını görürsünüz np:\\. Bu boru dizesini kopyalayın. VS2017 içinde görünümü açın Server Explorerve yeni bir tür bağlantı oluşturun Microsoft SQL Server (SqlClient)(tam yağ bağlantı türünü istediğiniz diğer dosya türleri tarafından aldanmayın) ve Server name:PowerShell'den kopyaladığınız örnek boru adı olarak ayarlayın .

Ben de kullanarak kurulan Connect to databasebenim Dotnet Core / Entity Framework Core projesinde çalışan bağlantı dizesinde aynı veritabanı olarak ayarlayın dotnet ef database update.

sqlcmdVe adlı kanal dizesini kullanarak giriş yapabilir ve bir veritabanı oluşturabilirsiniz :

sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO

Https://docs.microsoft.com/en-us/sql/tools/sqllocaldb-utility adresinden uygulamanız için nasıl kullanıcı oluşturacağınıza ilişkin talimatlar vardır.


7

Visual Studio 2015 RC, LocalDb 12 yüklü, daha önce benzer talimatlar var, ancak yine de 'büyü' bilmek gerekli olmamalı, bunu kullanmadan önce varsayılan örnek açılmış olmalı ... Rant tamamlandı, çözüm için hayır :

cmd> sqllocaldb start

Hangisi gösterilecek

LocalDB instance "MSSQLLocalDB" started.

Sizin örnek adı farklı olabilir. Her iki şekilde de VS'ye gidin ve Sunucu Gezgini'ni açın, Veri Bağlantıları'nı sağ tıklayın, Ekle'yi seçin, SQL Server'ı seçin, sunucu adı türünde:

(localdb)\MSSQLLocalDB

Bir DB adı girmeden 'Test Bağlantısı'nı tıklayın.


6

Düzeltme çalışmıyor.

Tam olarak örnek çizimde olduğu gibi, tüm bu adımlar sadece "sistem" veritabanlarına erişim sağlar ve erişmek istediğiniz mevcut kullanıcı veritabanlarını seçme seçeneği yoktur.

Yerel (Express Edition değil) bir Microsoft SQL sunucusu örneğine erişim çözümü, SQL Server tarafında bulunur:

  1. Çalıştır iletişim kutusunu aç (WinKey + R)
  2. Aşağıdakini yazın: "services.msc"
  3. SQL Server Tarayıcısını Seçin
  4. Özellikler'i tıklayın
  5. "Devre dışı" seçeneğini "Manuel" veya "Otomatik" olarak değiştirin
  6. "Başlat" hizmet düğmesi etkinleştirildiğinde, üzerine tıklayın.

Bitti! Artık Bağlantı Özellikleri'ndeki Sunucu Adı listesinden yerel SQL Server'ınızı seçebilirsiniz.


7
Bu StackOverflow Q / A, LocalDB hakkındadır . Cevabınızın diğer SQL örneklerini etkinleştirmek olduğunu düşünüyorum.
orad

Bu düzeltmeyi yerel ortamda denedim ve gönderilen orijinal soru için beklendiği gibi FIX'i yapıyor, ne düşündüğünüzü değil. Enterprise Edition = Enterprise ortamı olduğunu varsaymayın. Bazılarımız bu sürümü bir çalışma grubu makinesinde yerel gelişim için kullanıyoruz.
alejandrob

Tarayıcı kullanmak yerine (localdb) girmek zorunda kalmama rağmen, bu aslında benim için düzeltildi, bu yüzden soruyu güzelce cevaplıyor.
PeterJ

4

CMD'yi yönetici olarak çalıştırın.

  1. başlat menüsünden 'cmd' - bulmasını bekleyin.
  2. Cmd'ye sağ tıklayın ve yönetici olarak aç'ı seçin
  3. tür: cd C: \ Program Dosyaları \ Microsoft SQL Server \ 120 \ Tools \ Binn
  4. tür: SqlLocalDB başlangıç
  5. şimdi yazın: SqlLocalDB info
  6. Mevcut çalışan sql örneklerini gösterir ... ne istediğinizi seçin ...
  7. örnek türü hakkında daha fazla bilgi edinmek için: SqlLocalDB info instanceName

  8. şimdi VS'den bağlantınızı kurabilirsiniz VS , View / Server Explorer / (Sağ tıklama) Veri Bağlantıları / Bağlantı Veri Ekle Kaynak: Microsoft SQL Server (SqlClient) Sunucu adı: (localdb) \ MSSQLLocalDB Sunucuda oturum açın: Windows kullanın Kimlik Doğrulama "Bağlantıyı Test Et" ve ardından Tamam tuşlarına basın.

  9. iş bitmiş


3

Visual Studio 2017'de en hızlı yol Araçlar -> SQL Server -> Yeni sorguya gitmektir. Yerel veritabanları arasından seçim yapın ve alttaki istediğiniz Veritabanı adını seçin.

Alternatif yol

Visual Studio 2017 Sunucu adı:

(localdb)\MSSQLLocalDB

Araçlar -> Veritabanına Bağlan ... menüsünü kullanarak yeni bağlantı ekleyin.


SQLExpress'i varsayılan bir örneğe yüklemediyseniz ... '(localdb)' da deneyebilirsiniz
Jason Geiger

1

Yukarıdaki adımları izledim, ancak SQL Server 2014 LocalDB'yi Visual Studio 2015 yapılandırmasından önce yüklemeyi unuttum.

Adımlarım aşağıdaki gibidir:

  1. SQL Server 2014 LocalDB'yi yükleyin;
  2. Visual Studio 2015'i ve ardından SQL Server Nesne Gezgini'ni açın ;
  3. SQL Server etiketi altında LocalDB'nizi bulun.

Umarım bu herkese yardım eder.


0

Senaryo: Windows 8.1, VS2013 Ultimate, SQL Express Yüklü ve çalışıyor, SQL Server Tarayıcı Devre Dışı. Bu benim için çalıştı:

  1. İlk önce SQL Server Tarayıcısını hizmetler altında etkinleştirdim.
  2. Visual Studio'da: Paket Yöneticisi Konsolu'nu açın ve şunu yazın: Enable-Migrations ; Sonra VS'de Migrations klasörünü oluşturan Enable-Migrations -ContextTypeName YourContextDbName yazın.
  3. Migrations klasörünün içinde "Configuration.cs" dosyasını bulacaksınız, otomatik geçişleri şu şekilde açın: AutomaticMigrationsEnabled = true;
  4. Uygulamanızı yeniden çalıştırın, ortam bir DefaultConnection oluşturur ve bağlamınızdan yeni tabloları görürsünüz. Bu yeni bağlantı localdb'yi göstermektedir. Oluşturulan bağlantı dizesi şunu gösterir: Veri Kaynağı = (LocalDb) \ v11.0 ... (oluşturulan mdf dosyasına daha fazla parametre ve yol)

Artık Sunucu adı ile yeni bir bağlantı oluşturabilirsiniz: (LocalDb) \ v11.0 (hit refresh) Bir veritabanına bağlanma: Açılır listeden yeni veritabanınızı seçin.

Umut ediyorum bu yardım eder.


-1

SQL Server 2017 ve Visual Studio 2015 ile, localhost\SQLEXPRESS

resim açıklamasını buraya girin

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.