SQL Server Express 2012 / 2016'da localhost'a bağlanılamıyor


99

SQL Express 2012'nin en son sürümünü yeni indirdim ancak localhost'a bağlanamıyorum. Localhost \ SQLExpress ve Windows kimlik doğrulamasını denedim ama bana bağlanılamıyor diyen bir hata mesajı veriyor. Burada bir şey mi kaçırıyorum? Daha önce SQL Server 2008 kullandım ve localhost'a bağlanırken hiç sorun yaşamadım. Görünüşe göre onu bulamıyor bile. Ayrıca Hizmetlerde sadece bir SQL Server VSS Yazıcısı görüyorum. Olması gereken bu mu? Yoksa bir şey mi kaçırıyorum? Teşekkürler


1
Kurulum iyi gitmemiş gibi görünüyor. Onarmayı / yeniden yüklemeyi denediniz mi?
Vikdor

1
Management Studio yükleyicisinin aksine, sunucu için yükleyiciyi bulduğunuzdan emin misiniz?
Damien_The_Unbeliever

Yanıtlar:


188

Aaron Bertand'a göre :

  1. SQL Server hizmetinin çalıştığını doğrulamanız gerekir. Bunu, Start > Control Panel > Administrative Tools > ServicesSQL Server ( SQLEXPRESS) hizmetinin çalışıp çalışmadığını kontrol ederek yapabilirsiniz . Değilse, başlatın.

  2. Hizmetler uygulamasındayken, SQL Browser hizmetinin başlatıldığından da emin olun . Değilse, başlatın .

  3. SQL Server'ın TCP / IP veya adlandırılmış yöneltme kullanmasına izin verildiğinden emin olmanız gerekir. SQL Server Configuration Manager'ı Start > Programs > Microsoft SQL Server 2012 > Configuration Tools(veya SQL Server Configuration Manager) içinde açarak bunları açabilir ve TCP / IP ve Named Pipes'ın etkinleştirildiğinden emin olabilirsiniz . Başlat Menüsünde SQL Server Yapılandırma Yöneticisi'ni bulamazsanız, MMC ek bileşenini manuel olarak başlatabilirsiniz. Sürümünüze göre ek bileşenin yolu için SQL Server Configuration Manager'ı kontrol edin .

    SQL Server Yapılandırma Yöneticisi

  4. SQL Server bağlantı kimlik doğrulama modunuzun bağlantı dizenizle eşleştiğini doğrulayın:

    • Bir kullanıcı adı ve parola kullanarak bağlanıyorsanız, SQL Server'ı "SQL Server Kimlik Doğrulama Modu" nu kabul edecek şekilde yapılandırmanız gerekir:

      -- YOU MUST RESTART YOUR SQL SERVER AFTER RUNNING THIS!
      USE [master]
      GO
      DECLARE @SqlServerAndWindowsAuthenticationMode INT = 2;
      EXEC xp_instance_regwrite
        N'HKEY_LOCAL_MACHINE',
        N'Software\Microsoft\MSSQLServer\MSSQLServer',
        N'LoginMode',
        REG_DWORD,
        @SqlServerAndWindowsAuthenticationMode;
      GO
      
    • "Integrated Security = true" (Windows Modu) kullanarak bağlanıyorsanız ve bu hata yalnızca web uygulamalarında hata ayıklarken ortaya çıkıyorsa , ApplicationPoolIdentity'yi bir SQL Server oturumu olarak eklemeniz gerekir :
  5. aksi takdirde, çalıştırın Start -> Run -> Services.mscEğer öyleyse, çalışıyor mu?

Çalışmıyorsa o zaman

Her şeyi kurmamışsın gibi görünüyor. Kurulum dosyasını başlatın ve "Yeni kurulum veya mevcut bir kuruluma özellikler ekle" seçeneğini seçin. Buradan, veritabanı motoru hizmetinin kurulduğundan emin olmalısınız.


2
@dido: Başlat-> Çalıştır-> Services.msc
Ravindra Bagale

3
Kontrol edilecek başka bir şey de örnek adıdır. SQL Server'ın nasıl kurulduğuna bağlı olarak, ana bilgisayardan sonra bir örnek adı sağlamanız gerekebilir veya gerekmeyebilir.
Arvo Bowen

"TCP / IP ve Named Pipes etkindir" ilk yüklemeden sonra gerekli gibi görünüyor
James A Möhler

4
Aptalcaydı ama benim için sorun, kurulumda ayarlandığı gibi "localhost \ SQLEXPRESS01" değil sunucu adı olarak "localhost" kullanmaktı
Guy s

1
Benim durumumda SQLBrowser devre dışı bırakıldı ve yapılandırma aracı sql tools klasöründe listelenmedi. Yapılandırma aracını cmd aracılığıyla başlatmak için https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-configuration-manager?view=sql-server-2017 Yapılandırma ise SQLBrowser'ı otomatik olarak başlatmak için araç /programming/21375014/i-cannot-start-sql-server-browser
steven87vt

127

Goto Başlat -> Programlar -> Microsoft SQL SunucusuYYYY -> Yapılandırma Araçları -> SQL Sunucusu YYYY Yapılandırma Yöneticisi veya "SQLServerManager12.msc" dosyasını çalıştırın.

İstemci Protokolleri altında TCP / IP'nin etkinleştirildiğinden emin olun.

Ardından "SQL Server Ağ Yapılandırması" na gidin ve TCP / IP'ye çift tıklayın. "IP Adresleri" sekmesini tıklayın ve en alta kaydırın. "IP Tümü" altında, varsa TCP Dinamik Bağlantı Noktalarını kaldırın ve TCP Bağlantı Noktasını 1433 olarak ayarlayın. Tamam'a tıklayın ve ardından "SQL Sunucu Hizmetleri" ne geri dönün ve SQL Server örneğini yeniden başlatın. Artık en azından ben yapabiliyorum localhost üzerinden bağlanabilirsiniz.

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

Bu hatanın elbette diğer uygulamalardan bağlanırken de meydana gelebileceğini unutmayın. Normal bir C # web uygulaması Web.configbağlantı dizesi örneği :

<connectionStrings>
    <add name="DefaultConnection" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>

4
Sonunda, bu benim için çalıştı! Bağlantı noktasını IP1, IP2'de değiştirdim ... ancak IPAll'de değiştirmedim. Başardı, teşekkürler!
George

2
@George tam olarak seninle aynı. Güvenlik duvarını bile devre dışı bıraktım ve hiçbir şey işe yaramadı. TCP Dinamik Bağlantı Noktalarında bir 40xxx bağlantı noktası vardı. Onu kaldırdım ve IPAll için TCP Portuna 1433 koydum, bu da yaptı. Teşekkürler!
Alisson

Bu benim için de önemliydi.
Erik Olson

1
Saatlerce kafamı duvara çarptıktan sonra, sonunda işe yaradı. Teşekkür ederim.
Top Cat

Harika çözüm. Günümü kurtarıyor. Çok teşekkürler!
Lavande

14

SQL SERVER EXPRESS 2012'de Veri Kaynağı adı olarak "(localdb) \ MSSQLLocalDB" kullanmalısınız, örneğin bağlantı dizesini şu şekilde kullanabilirsiniz

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;

Harika! (Localdb) \ MSSQLLocalDB kullanmak, localhost çalışmadığında SSMS'ye bağlanmak için çalıştı
Ben

10

Benzer bir problemim vardı - belki çözümüm yardımcı olabilir. MSSQL EX 2012'yi (varsayılan kurulum) kurdum ve VS2012 EX ile bağlanmayı denedim. Neşe yok. Daha sonra hizmetlere baktım ve SQL Server'ın (SQLEXPRESS) gerçekten çalıştığını doğruladım.

Ancak, devre dışı bırakılan SQL Server Browser adlı başka bir ilginç hizmet gördüm. Etkinleştirdim, ateşledim ve ardından VS2012 EX'te yeni bir bağlantıda sunucu adını alıp bağlanabildim.

VS'nin bağlanması için gereken bir hizmeti devre dışı bırakmaları garip.


Bağlanmak gerekli değildir; Devre dışı bıraktım ve iyi bağlanabiliyorum. Bu şeylerin diğer yazılımlar tarafından sorgulanmasına izin verdiği için, bağlanacağınız kesin ana bilgisayar / örnek adını bilmediğinizde işleri kolaylaştırır.
Simon Morgan

8

Önce Ravindra Bagale tarafından sağlanan en popüler çözümü deneyin .

Localhost'tan veritabanına bağlantınız hala aşağıdakine benzer bir hatayla başarısız oluyorsa:

SQL Server DB'ye bağlanılamıyor. Hata: Ana bilgisayar [IP adresi], 1433 numaralı bağlantı noktasına TCP / IP bağlantısı başarısız oldu. Hata: "Bağlantı reddedildi: bağlan. Bağlantı özelliklerini doğrulayın. Ana bilgisayarda SQL Server örneğinin çalıştığından ve bağlantı noktasında TCP / IP bağlantılarını kabul ettiğinden emin olun. Bağlantı noktasına yapılan TCP bağlantılarının bir güvenlik duvarı tarafından engellenmediğinden emin olun . "

  1. SQL Server Configuration Manager'ı açın.
  2. Söz konusu sunucu örneği için SQL Server Ağ Yapılandırmasını genişletin.
  3. "TCP / IP" ye çift tıklayın.
  4. "Protokol" bölümü altında, "Etkin" i "Evet" olarak ayarlayın.
  5. "IP Adresleri" bölümü altında, "IP Tümü" altında TCP bağlantı noktasını ayarlayın (varsayılan olarak 1433'tür).
  6. "IP Adresleri" bölümü altında, 127.0.0.1 IP adresli (IPv4 için) ve :: 1 (IPv6 için) alt bölümleri bulun ve hem "Etkin" hem de "Etkin" i "Evet" ve TCP bağlantı noktasını 1433 olarak ayarlayın.

    TCP / IP Özellikleri

  7. Start > Control Panel > Administrative Tools > ServicesSQL Server hizmetine ( SQLEXPRESS) gidin ve yeniden başlatın .


Buraya gelmeden önce yukarıdaki diğer çözümleri denedim. Bu benim için düzeltti! Ayrıca, psping adlı bir şeyi indirmenin bağlantıyı test etmeme yardımcı olduğunu öğrendim. Örnek: psping 127.0.0.1:1433
JMI MADISON

7

Öncelikle SQL Server Hizmetinin Çalıştığını veya durdurulduğunu kontrol edin, eğer durdurulmuşsa sadece başlatın, bunu yapmak için ... sadece aşağıdaki adımları izleyin.

1. Başlat -> Çalıştır -> Services.msc

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

  1. Hizmetler panelinde Standart sekmesine gidin ve ardından SQl Sunucusunu (SQL2014) arayın

"SQL2014" benim tarafımdan verilmiştir, sizin durumunuzda başka bir isim olabilir

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

SQL Hizmetini başlattıktan sonra yerel veritabanına bağlanabilirsiniz.

umarım birine yardımcı olur.


4

Tüm hizmetlerim beklendiği gibi çalışıyordu ve yine de bağlanamadım.

SQL Server Express protokollerim için SQL Server Configuration Manager'daki TCP / IP özellikleri bölümünü güncellemem ve sunucuya beklendiği gibi bağlanmak için IPALL bağlantı noktasını 1433 olarak ayarlamam gerekiyordu .

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


3

Windows kimlik doğrulamasından karma moda geçmeyi deneyin


1

Bu garip, benim de benzer bir problemim var. Araçları ile SQL 2012 Express paketini indirdim ancak Veritabanı Motoru kurulmadı.

Diğerini MS sitesinden yükledim ve bu veritabanı motorunu kurdu. Yeniden başlatmanın ardından hizmetler listelenmiş ve kullanıma hazır hale gelmiştir.


1

Benim durumum

  • SQL Server Management Studio'da boş Örnek Adı> veritabanı motorunuzu seçin> Sağ Fare Düğmesi> Özellikler (Sunucu Özellikleri)> Bağlantı Görünümü bağlantı özellikleri> Ürün> Örnek Adı boş

  • Veri Kaynağı =. \ SQLEXPRESS çalışmadı => web.config içinde localhost kullanın (aşağıya bakın)

Çözüm : web.config içinde

xxxxxx = .mdf olmadan veritabanımın adı yyyyyy = VS2012 veritabanı gezginindeki veritabanımın adı

Bağlantı dizesindeki sunucu adına tcp: önekini ekleyerek veya localhost kullanarak paylaşılan bellek yerine TCP kullanımını zorlayabilirsiniz.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx


1

Aynı sorunu yaşadım ve bunun SQL 2012 için bir güncelleme yükledikten sonra olduğunu fark ettim. Benim için düzelten şey, programlara ve özelliklere girip üzerinde bir onarım çalıştırmaktı.


1

Benim için sorun, belirtmememdi .\. Ben sadece örneğin adını belirtiyordum:

  • işe yaramadı: SQL2016
  • çalıştı: .\SQL2016

1

@ Ravindra Bagale tarafından belirtilen adımları uyguladıktan sonra bu adımı deneyin. Server name: localhost\{Instance name you were gave}

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


0

Hizmetin sahibi olan Kullanıcıyı Yerel Sistem olarak değiştirmeyi deneyin veya yönetici hesabınızı kullanın.

Services altında, Service SQL Server (MSSQLSERVER) Log On'u NT Service \ Sql ... den Local System olarak değiştirdim. Hizmete sağ tıklayın ve Oturum Açma Sekmesine gidin ve Yerel Sistem Hesabı radyo düğmesini seçin. Daha iyi uyuyorsa başka bir Kullanıcıyı da çalıştırmaya zorlayabilirsiniz.

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.