Aracılığıyla paylaş


SQL Server ile bağlantı kurulmaya çalışılırken ağ ile ilişkili veya örneğe özgü bir hata oluştu

Şunlar için geçerlidir: SQL Server

Özet

Bu makale, bir SQL Server örneğine bağlandığınızda oluşan ağ ile ilgili veya örneğe özgü hataları gidermenize yardımcı olur. Bu hatalar genellikle SQL Server örneği çalışmadığında, sunucu veya örnek adı yanlış olduğunda, ağ protokolleri doğru yapılandırılmadığında veya güvenlik duvarları gerekli bağlantı noktalarını engellediğinde ortaya çıkar. Bu kılavuzda tanılama bilgilerinin nasıl toplandığı açıklanır ve temel denetimlerden başlayıp daha gelişmiş tekniklere geçerek yapılandırılmış bir sorun giderme yaklaşımı özetlenmiştir.

Yaygın SQL Server bağlantı hata iletileri

Hata iletilerinin tamamı, uygulamanın kullandığı istemci kitaplığına ve sunucu ortamına bağlı olarak değişir. Aşağıdaki hata iletilerinden biriyle karşılaşıp karşılaşmadığınızı denetlemek için her iletiyi genişletin:

sağlayıcı: Adlandırılmış Kanallar Sağlayıcısı, hata: 40 - SQL Server bağlantısı açılamadı (Microsoft SQL Server, Hata: 53) SQL Server ile bağlantı kurulmaya çalışılırken ağ ile ilişkili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğundan ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığından emin olun.
sağlayıcı: Adlandırılmış Kanallar Sağlayıcısı, hata: 40 - SQL Server bağlantısı açılamadı (Microsoft SQL Server, Hata: 53)
sağlayıcı: TCP Sağlayıcısı, hata: 0 - Böyle bir ana bilgisayar bilinmiyor. (Microsoft SQL Server, Hata: 11001)

sağlayıcı: SQL Ağ Arabirimleri, hata: 26 - Belirtilen Sunucuyu/Örneği Bulma Hatası SQL Server ile bağlantı kurulmaya çalışılırken ağ ile ilişkili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğundan ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığından emin olun.
sağlayıcı: SQL Ağ Arabirimleri, hata: 26 - Belirtilen Sunucuyu/Örneği Bulma Hatası

Oturum açma zaman aşımı süresi doldu SQL Server Native Client Veri Bağlantısı Hatası
[Microsoft SQL Server Native Client 10.0]: Oturum açma zaman aşımı süresi doldu
[Microsoft SQL Server Native Client 10.0]: SQL Server ile bağlantı kurulurken ağ ile ilgili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilebilir değil. Örnek adının doğru olup olmadığını ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırılıp yapılandırılmadığını denetleyin. Daha fazla bilgi için bkz. Çevrimiçi SQL Server Kitapları.
[Microsoft SQL Server Native Client 10.0]: SQL Server Ağ Arabirimleri: Belirtilen Sunucu/Örnek Bulunurken Hata Oluştu [xFFFFFFFF].

Bağlı taraf belirli bir süre sonra düzgün yanıt vermediğinden veya bağlı ana bilgisayar yanıt vermediğinden bağlantı kurulamadı ve bağlantı girişimi başarısız oldu SQL Server ile bağlantı kurulmaya çalışılırken ağ ile ilişkili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğundan ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığından emin olun.
sağlayıcı: TCP Sağlayıcısı, hata: 0
Bağlı taraf belirli bir süre sonra düzgün yanıt vermediğinden veya bağlı konak yanıt vermediğinden bağlantı kurulamadı ve bağlantı girişimi başarısız oldu.
Microsoft SQL Server, Hata: 10060

sağlayıcı: Adlandırılmış Kanallar Sağlayıcısı, hata: 40 - SQL Server bağlantısı açılamadı SQL Server ile bağlantı kurulmaya çalışılırken ağ ile ilişkili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğundan ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığından emin olun.
sağlayıcı: Adlandırılmış Kanallar Sağlayıcısı, hata: 40 - SQL Server'a bir bağlantı açılamadı
Microsoft SQL Server, Hata: 53
Ağ yolu bulunamadı

[Microsoft][SQL Server Native Client 11.0]TCP Sağlayıcısı: Hedef makine etkin bir şekilde reddettiğinden bağlantı yapılamadı SQL Server Native Client Veri Bağlantısı Hatası
\[Microsoft\][SQL Server Native Client 11.0]TCP Sağlayıcısı: Hedef makine etkin bir şekilde reddettiğinden bağlantı yapılamadı.
\[Microsoft\][SQL Server Native Client 11.0]Oturum açma zaman aşımı süresi doldu.
\[Microsoft\][SQL Server Native Client 11.0]SQL Server bağlantısı oluşturulurken ağ ile ilgili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilebilir değil. Örnek adının doğru olup olmadığını ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırılıp yapılandırılmadığını denetleyin. Daha fazla bilgi için bkz. Çevrimiçi SQL Server Kitapları.

"SQL Server yok veya erişim reddedildi"

Bu hata genellikle istemcinin SQL Server örneğini bulamadığını gösterir. Bu hata, aşağıdaki sorunlardan biri veya daha fazlası mevcut olduğunda oluşur:

  • SQL Server barındıran bilgisayarın adı yanlış.
  • Örnek doğru IP adresine çözümlenmiyor.
  • TCP bağlantı noktası numarası doğru belirtilmemiş.

Not

Yüksek kullanılabilirlik senaryolarındaki bağlantı sorunlarını gidermek için aşağıdaki makalelere bakın:

Windows hatası 233: Borunun diğer ucunda işlem yok

İletinin tamamı:

Sunucuyla başarıyla bağlantı kuruldu ancak oturum açma işlemi sırasında bir hata oluştu. (sağlayıcı: Paylaşılan Bellek Sağlayıcısı, hata: 0 - Borunun diğer ucunda işlem yok.) (Microsoft SQL Server, Hata: 233)

Bu ileti, SQL Server'ın Paylaşılan Bellek veya Adlandırılmış Kanallar protokolünde dinlemediği anlamına gelir.

SQL Server bağlantı hatalarını gidermek için bilgi toplama

Sorun gidermeye başlamadan önce bu bölümde listelenen bilgileri toplayın. Bu bilgileri toplamak için aşağıdaki seçeneklerden birini kullanabilirsiniz.

Gerekli bilgileri toplamak için SQL Denetimi aracını kullanma

SQL Server bilgisayarında yerel olarak oturum açabiliyorsanız ve yönetici erişiminiz varsa SQLCHECK kullanın. Bu araç, tek bir dosyada sorun giderme için gereken bilgilerin çoğunu sağlar. Aracı kullanma ve topladığı bilgiler hakkında daha fazla bilgi edinmek için aracın ana sayfasını gözden geçirin. Önerilen önkoşulları ve denetim listesi sayfasını da de kontrol edebilirsiniz.

Aşağıdaki yordamları kullanarak verileri tek tek toplayın

Örnek adını Yapılandırma Yöneticisi'nden alma

SQL Server örneğini barındıran sunucuda, örnek adını doğrulamak için SQL Server Yapılandırma Yöneticisi'ni kullanın:

Not

Yapılandırma Yöneticisi, SQL Server yüklendiğinde bilgisayara otomatik olarak yüklenir. Yapılandırma Yöneticisi başlatma yönergeleri, SQL Server ve Windows sürümlerine göre biraz değişiklik gösterir. Sürüme özgü ayrıntılar için bkz. SQL Server Yapılandırma Yöneticisi.

  1. SQL Server örneğini barındıran bilgisayarda oturum açın.

  2. SQL Server Yapılandırma Yöneticisi'ni başlatın.

  3. Sol bölmede, SQL Server Hizmetleri'ni seçin.

  4. Sağ bölmede veri tabanı altyapısı örneğinin adını doğrulayın.

    • SQL SERVER (MSSQLSERVER), varsayılan SQL Server örneğini gösterir. Varsayılan örneğin adı bilgisayar adıdır<>.
    • SQL SERVER (<örnek adı>), SQL Server'ın adlandırılmış bir örneğini gösterir. Adlandırılmış örneğin adı bilgisayar adı\örnek adıdır<><.>

Sunucunun IP adresini alın.

SQL Server örneğini barındıran bilgisayarın IP adresini almak için aşağıdaki adımları kullanın.

  1. Başlat menüsünde Çalıştır'ı seçin. Çalıştır penceresinde yazın cmdve Tamam'ı seçin.

  2. Komut İstemi penceresinde yazın ipconfig /all ve Enter tuşuna basın. IPv4 adresini ve IPv6 adresini not edin.

    Not

    SQL Server IP sürüm 4 protokolü veya IP sürüm 6 protokolü kullanarak bağlanabilir. Ağınız birine ya da her ikisine izin verebilir.

Örneğin TCP bağlantı noktasını alma

Çoğu durumda TCP protokolünü kullanarak başka bir bilgisayardaki Veri Tabanı Altyapısına bağlanırsınız. Örneğin TCP bağlantı noktasını almak için aşağıdaki adımları izleyin:

  1. SQL Server çalıştıran bilgisayarda SQL Server Management Studio'yu kullanın ve SQL Server örneğine bağlanın. Nesne Gezgini'nde Yönetim'i genişletin, SQL Server Günlükleri'ni genişletin ve ardından geçerli günlüğe çift tıklayın.

  2. Günlük Dosyası Görüntüleyicisi'nde, araç çubuğunda Filtre'yi seçin. İleti metin içeriyor kutusuna server is listening on yazın, Filtre uygula'yı ve ardından Tamam'ı seçin.

  3. "Sunucu '[ 'any' <ipv4> 1433] üzerinde dinliyor' gibi bir ileti görünmelidir."

    Bu ileti, SQL Server örneğinin bu bilgisayardaki tüm IP adreslerinde (IP sürüm 4 için) ve TCP bağlantı noktası 1433'te dinlediğini gösterir. TCP bağlantı noktası 1433 genellikle Veritabanı Altyapısı veya varsayılan SQL Server örneği tarafından kullanılan bağlantı noktasıdır. Bu bağlantı noktasını yalnızca bir SQL Server örneği kullanabilir. Birden fazla SQL Server örneği yüklerseniz, bazı örneklerin diğer bağlantı noktası numaralarını kullanması gerekir. Bağlanmaya çalıştığınız SQL Server örneği tarafından kullanılan bağlantı noktası numarasını not edin.

    Not

    • IP adresi 127.0.0.1 muhtemelen listelenmiştir. Buna geri döngü bağdaştırıcısı adresi denir. Yalnızca aynı bilgisayardaki işlemler bağlanmak için bu IP adresini kullanabilir.
    • SQL Server hata günlüğünü bir metin düzenleyicisi kullanarak da görüntüleyebilirsiniz. Varsayılan olarak, hata günlüğü Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG ve ERRORLOG.n dosyalarında bulunur. Daha fazla bilgi için bkz. ,SQL Server hata günlüğünü görüntüleme.

Örneği çalışıyor durumda olduğunu doğrulayın

Örneğin çalışmakta olduğunu doğrulamak için aşağıdaki yöntemlerden birini kullanın.

SQLCHECK çıkış dosyasını kullanma

  1. SQLCHECK çıkış dosyasında "SQL Server Bilgileri" araması yapın.
  2. "İlgi Çekici Hizmetler" başlıklı bölümde Ad ve Örnek (adlandırılmış örnekler için) sütunlarının altında SQL Server örneğinizi bulun ve Başlatıldı sütununu kullanarak durumunu denetleyin. Değer True ise hizmetler başlatılır. Aksi takdirde, hizmet şu anda çalışmıyor.
  3. Hizmet çalışmıyorsa SQL Server Management Studio, SQL ServerConfiguration Manager, PowerShell veya Hizmetler uygulamasını kullanarak hizmeti başlatın.

SQL Server Configuration Manager kullanma

Örneğin çalıştığını doğrulamak için SQL Server Yapılandırma Yöneticisi'nde SQL Server Hizmetleri'ni seçin ve SQL Server örneğindeki simgeyi denetleyin.

  • Yeşil ok, bir örneğin çalıştığını gösterir.
  • Kırmızı kare, bir örneğin durdurulduğunu gösterir.

Örnek durdurulursa örneğe sağ tıklayın ve Başlat'ı seçin. Ardından, sunucu örneği başlatılır ve gösterge yeşil bir oka dönüşür.

PowerShell komutlarını kullanma

Sistemdeki SQL Server hizmetlerinin durumunu denetlemek için PowerShell'de aşağıdaki komutu kullanın:

Get-Service | Where {$_.status -eq 'running' -and $_.DisplayName -like "sql server*"}

Hata günlüğü dosyasında şu dizeyi aramak için aşağıdaki komutu kullanın: "SQL Server artık istemci bağlantıları için hazır. Bu bilgilendirici bir iletidir; kullanıcı eylemi gerekmez.":

Get-ChildItem -Path "c:\program files\microsoft sql server\mssql*" -Recurse -Include Errorlog | Select-String "SQL Server is now ready for client connections."

SQL Server Browser hizmetinin çalıştığını doğrulayın

SQL Server Browser hizmetinin çalıştığını doğrulamak için aşağıdaki yöntemlerden birini kullanın.

Not

Bu adıma yalnızca adlandırılmış örneklerle ilgili bağlantı sorunlarını giderirken ihtiyacınız vardır.

SQLCHECK çıkış dosyasını kullanma

  1. SQLCHECK çıkış dosyasında "SQL Server Bilgileri" araması yapın.
  2. "İlgi Çekici Hizmetler" başlıklı bölümde Ad sütununda SQLBrowser arayın ve Başlatıldı sütununu kullanarak durumunu kontrol edin. Değer True ise hizmet başlatılır. Aksi takdirde, hizmet şu anda çalışmıyor ve hizmeti başlatmanız gerekiyor. Daha fazla bilgi için bkz. SQL Server hizmetlerini başlatma, durdurma, duraklatma, sürdürme, yeniden başlatma.

SQL Server Configuration Manager kullanma

Adlandırılmış örneğe bağlanmak için SQL Server Browser hizmetinin çalışıyor olması gerekir. SQL Server Yapılandırma Yöneticisi'nde SQL Server Browser hizmetini bulun ve çalıştığını doğrulayın. Çalışmıyorsa hizmeti başlatın. Varsayılan örnekler için SQL Server Browser hizmeti gerekli değildir.

Ortamınızda SQL Server Browser hizmetini kullanma hakkında daha fazla bilgi için bkz. SQL Server Browser hizmeti.

SQL Server hizmetlerini durdurma ve başlatma hakkında daha fazla bilgi için bkz. SQL Server hizmetlerini başlatma, durdurma, duraklatma, sürdürme, yeniden başlatma.

Not

Ortamınızda SQL Server Browser hizmetini çalıştıramıyorsanız bkz. SQL Server tarayıcı hizmeti olmadan sql server adlı örneğe bağlanma.

Bağlantı dizesindeki sunucu adını doğrulayın

Bağlantı dizesinde yanlış bir sunucu adı belirttiğinizde genellikle hatalarla karşılaşırsınız. Sunucu adının önceki adımlarda aldığınız adla eşleştiğinden emin olun.

Not

SQLCHECK aracını kullanıyorsanız, çıkış dosyasının Bilgisayar Bilgileri bölümündeki NetBios Adı/FQDN değerlerini gözden geçirin.

İstemci makinelerindeki diğer adları doğrula

Diğer adlar genellikle istemci ortamlarında, SQL Server'a alternatif bir adla bağlandığınızda veya ağda ad çözümleme sorunları olduğunda kullanılır. Bunlar SQL Server Yapılandırma Yöneticisi veya istemci ağ yardımcı programı kullanılarak oluşturulur. Yanlış bir diğer ad, uygulamalarınızdan gelen bağlantıların yanlış sunucuya bağlanmasına neden olarak hataya yol açabilir. Yanlış diğer adları denetlemek için aşağıdaki yöntemleri kullanın. İstemci makinesinde diğer adları ve diğer bağlantıyla ilgili çeşitli ayarları denetlemek için istemci makinesinde bir araç (SQLCHECK gibi) de kullanabilirsiniz.

Not

Aşağıdaki seçenekler yalnızca SQL Server'a bağlanmak için SQL Server Native Client kullanan uygulamalar için geçerlidir.

SQLCHECK çıkış dosyasını kullanma

  1. SQLCHECK çıkış dosyasında dizesini SQL Aliasesarayın. Bu dize, dosyanın İstemci Güvenlik ve Sürücü Bilgileri bölümünde yer alır.
  2. Tablodaki girdileri gözden geçirin. Bilgisayarda herhangi bir girdi yoksa, takma ad yoktur. Bir giriş varsa sunucu adının ve bağlantı noktası numarasının doğru değerlere ayarlandığından emin olmak için bilgileri gözden geçirin.

Örnek çıkış:
SQL Diğer Adları:

Alias Name   Protocol   Server Name     Port   32-bit 

----------   --------   ------------    ----   ------ 

prodsql      TCP        prod_sqlserver  1430      

Çıkış, 1430 numaralı bağlantı noktasında çalışan adlı prodsql bir SQL Server için diğer ad olduğunu gösterirprod_sqlserver.

SQL Server Configuration Manager'da diğer adları kontrol et

  1. SQL Server Yapılandırma Yöneticisi'nde SQL Server Native Client Yapılandırma'yı genişletin ve Diğer Adlar'ı seçin.

  2. Bağlanmaya çalıştığınız sunucu için diğer adların tanımlanıp tanımlanmadığını denetleyin.

    Diğer adlar varsa şu adımları izleyin:

    1. Diğer adın Özellikler bölmesini açın.
    2. Diğer Ad alanındaki değeri yeniden adlandırın (örneğin, sunucu adınız MySQL ise MySQL_test olarak yeniden adlandırın) ve bağlantıyı yeniden deneyin. Bağlantı kuruluyorsa, diğer adınız yanlış ve artık gerekli olmayan eski bir yapılandırmadan geliyor olabilir. Bağlantı çalışmazsa diğer adı özgün adıyla yeniden adlandırın ve sonraki adıma geçin.
    3. Diğer adın bağlantı parametrelerini denetleyin ve doğru olduklarından emin olun. Aşağıdaki yaygın senaryolar bağlantı sorunlarına neden olabilir:
      • Sunucu alanı için yanlış IP adresi. IP adresinin SQL Server hata günlüğü dosyasındaki girişle eşleştiğinden emin olun.
      • Sunucu alanında yanlış sunucu adı. Örneğin, sunucu diğer adınız doğru sunucu adını gösterir. Ancak, sunucu adı parametresinin değeri yanlışsa bağlantılar başarısız olur.
      • Yanlış kanal adı biçimi (adlandırılmış kanallar diğer adı kullandığınız varsayılarak).
        • Mydefaultinstance adlı varsayılan örneğe bağlanırken kanal adı \\Mydefaultinstance\pipe\sql\query olmalıdır.
        • MySQL\Named adlı bir örneğe bağlanırken, kanal adı \\MySQL\pipe\MSSQL$Named\sql\query olmalıdır.

SQL Server İstemci Ağ Yardımcı Programı'nda takma adları denetleme

  1. Çalıştır komutuna cliconfg.exe yazarak SQL Server İstemci Ağ Yardımcı Programı'nı açın.
  2. SQL Server Configuration Manager'da diğer adları denetleme bölümünde 2. adımı izleyin.

Güvenlik duvarı yapılandırmasını doğrulama

Varsayılan örneğe veya adlandırılmış örneğe bağlı olarak güvenlik duvarı yapılandırmasını doğrulayabilirsiniz.

Not

Ağınızda üçüncü taraf güvenlik duvarları kullanıyorsanız, kavramlar geçerli olmaya devam eder. Ancak, SQL Server ile iletişim için gerekli bağlantı noktalarına izin vermek üzere güvenlik duvarını yapılandırma hakkında daha fazla bilgi için ağ yöneticinizle birlikte çalışmanız veya güvenlik duvarı ürününün belgelerine başvurmanız gerekebilir.

Varsayılan SQL Server örneği

Varsayılan bir örnek genellikle 1433 numaralı bağlantı noktasında çalışır. Bazı yüklemelerde SQL örneklerini çalıştırmak için standart olmayan (1433 dışında) bir bağlantı noktası da kullanılır. Güvenlik duvarı iki bağlantı noktasını da engelleyebilir. Bağlantı noktası numarasını denetlemek için şu adımları izleyin:

  1. SQL örneğinizin üzerinde çalıştığı bağlantı noktasını belirleyin, bkz. Örneğin TCP bağlantı noktasını alma.
  2. Güvenlik duvarı yapılandırmasını denetleyin:
    • SQL Server 1433 numaralı bağlantı noktasını dinleyecek şekilde yapılandırılmışsa istemci ile sunucu arasındaki ağda güvenlik duvarlarının bu bağlantı noktasında trafiğe izin verdiğinden emin olun. Veri Tabanı Altyapısı Erişimi için Windows Güvenlik Duvarı Yapılandırması makalesine bakın ve gerekli çözümleri uygulamak için ağ yöneticinizle birlikte çalışın.
    • SQL Server varsayılan örneğiniz 1433 numaralı bağlantı noktasını kullanmıyorsa, biçimi <servername>,<portnumber> kullanarak SQL Server bağlantı noktası numarasını sunucu adına eklemeyi deneyin ve çalışıp çalışmadığını denetleyin. Örneğin, SQL örneğinizin adı MySQLDefaultinstance ise ve 2000 numaralı bağlantı noktasında çalışıyorsa, sunucu adını MySQLServer,2000 olarak belirtin ve çalışıp çalışmadığını denetleyin.
      • Bağlantı çalışmazsa, güvenlik duvarı bağlantı noktasını engelliyordur. Veri Tabanı Altyapısı Erişimi için Windows Güvenlik Duvarı Yapılandırma makalesindeki yönergeleri izleyebilir veya bağlantı noktasını güvenlik duvarı dışlama listesine eklemek için ağ yöneticinizle birlikte çalışabilirsiniz.
      • Bağlantı çalışıyorsa, güvenlik duvarı bu bağlantı noktası üzerinden iletişime izin verir. Bağlantı dizenizi uygulamanızın bağlantı dizesinde bağlantı noktası numarasını ve sunucu adınızı kullanacak şekilde değiştirmeniz gerekir.

SQL Server adlandırılmış örneği

SQL örneğiniz adlandırılmış bir örnekse, dinamik bağlantı noktalarını veya statik bağlantı noktasını kullanacak şekilde yapılandırılabilir. Her iki durumda da, temel alınan ağ kitaplıkları SQL Server makinenizde çalışan SQL Server Browser hizmetini UDP bağlantı noktası 1434 aracılığıyla sorgular ve adlandırılmış örneğin bağlantı noktası numarasını numaralandırır. İstemci ile sunucu arasındaki bir güvenlik duvarı bu UDP bağlantı noktasını engelliyorsa istemci kitaplığı bağlantı noktasını (bağlantı gereksinimi) belirleyemez ve bağlantı başarısız olur. Bunu Bağlantıyı denetlemek için aşağıdaki yöntemlerden birini kullanabilirsiniz:

  • 1. Yöntem: Bağlantı dizenizde bağlantı noktası numarasını belirterek bağlantıyı denetleyin.

    1. SQL örneğinizin üzerinde çalıştığı bağlantı noktasını belirleyin, bkz. Örneğin TCP bağlantı noktasını alma.
    2. Biçiminde <servername\instancename>,<portnumber> sunucu adına eklenen bağlantı noktası numarasını kullanarak adlandırılmış örneğe bağlanmayı deneyin ve bunun çalışıp çalışmadığını denetleyin. Örneğin, SQL örneğinizin adı MySQL\Namedinstance ise ve 3000 numaralı bağlantı noktasında çalışıyorsa sunucu adını MySQL\Namedinstance,3000 olarak belirtin.
      • Bağlantı çalışıyorsa, güvenlik duvarı UDP bağlantı noktası 1434'i engelliyordur veya örnek SQL Server Browser'dan gizlenir .
      • Bağlantı çalışmazsa, aşağıdaki durumlardan biri vardır:
        • UDP bağlantı noktası 1434 engelleniyor veya statik bağlantı noktası engelleniyor ya da her ikisi de. UDP bağlantı noktası mı yoksa statik bağlantı noktası mı olduğunu onaylamak için Portqry'yi kullanın.
        • Örnek, SQL Server Browser hizmetinden gizleniyor.
  • 2. Yöntem: PortQryUI aracını kullanarak bağlantıyı denetleyin.

    PortQryUI aracını adlandırılmış örneğinizle birlikte kullanın ve sonuçta elde edilen çıkışı gözlemleyin. UDP bağlantı noktası 1434'e filtre uygulandığını belirten bir ileti görebilirsiniz. Bu ileti, bağlantı noktasının ağda engellendiğini gösterir. Aracın nasıl kullanılacağına ilişkin yönergeler için bkz. PortQryUI Aracını SQL Server ile kullanma.

    Dinamik veya statik bağlantı noktalarında SQL Server'ın dinleyip dinlemediğini belirleyin. Ardından senaryonuzla ilgili aşağıdaki yöntemi kullanın. Emin değilseniz bkz. SQL Server dinamik bağlantı noktasında mı yoksa statik bağlantı noktasında mı dinlediğini denetleme.

    • 1. Senaryo: Dinamik bağlantı noktaları. Bu durumda, SQL Server Browser hizmetinin başlatıldığından ve istemci ile sunucu arasındaki güvenlik duvarında UDP bağlantı noktası 1434'ün engellenmediğinden emin olun. Bunlardan birini yapamazsanız, SQL Server örneğinizi statik bir bağlantı noktasına geçirin ve Sunucuyu Belirli bir TCP Bağlantı Noktasında Dinleyecek Şekilde Yapılandırma bölümünde belgelenen yordamı kullanın.
    • 2. Senaryo: Statik bağlantı noktası yapılandırması. SQL Server Browser çalışmıyor veya güvenlik duvarında UDP 1434 açılamıyor. Bu durumda, bağlantı dizenizde statik bağlantı noktasını belirttiğinizden ve güvenlik duvarının bağlantı noktasını engellemediğinden emin olun. Daha fazla bilgi için bkz. Veri Tabanı Altyapısı Erişimi için Windows Güvenlik Duvarı Yapılandırma.

SQL Server'da etkin protokolleri doğrulama

SQL Server'ın bazı yüklemelerinde, yöneticinin başka bir bilgisayardan Veritabanı Altyapısı'na bağlantıları el ile etkinleştirmesi gerekir. SQL Server Veritabanı Altyapısı'na uzak bağlantılara izin vermek için gerekli protokolleri denetlemek ve etkinleştirmek için aşağıdaki seçeneklerden birini kullanın.

SQLCHECK çıkış dosyasını kullanma

  1. SQLCHECK çıkış dosyasında "SQL Server örneği ayrıntıları" bölümünü arayın ve SQL Server örneğinizin bilgi bölümünü bulun.

  2. Bu bölümünde, SQL Server protokollerinin etkinleştirilip etkinleştirilmediğini belirlemek için aşağıdaki tabloda listelenen değerleri bulun:

    Değer adı Dolaylı Daha Fazla Bilgi
    Paylaşılan Bellek Etkin Doğru veya yanlış olabilir. Yalnızca yerel bağlantıları etkiler. Paylaşılan Bellek Protokolünü Kullanarak Geçerli Bir Bağlantı Dizesi Oluşturma
    Adlandırılmış Kanallar Etkin Eğer yanlışsa, "Adlandırılmış Kanallar" kullanan hem yerel hem de uzak bağlantılar başarısız olur. Ağ Protokolü Seçme
    TCP Etkin False ise, TCP/IP kullanan hem yerel hem de uzak bağlantılar başarısız olur.
    Not: Çoğu SQL Server yüklemesi, sunucu ve istemci arasındaki iletişim protokolü olarak TCP/IP kullanır.
    Ağ Protokolü Seçme
  3. SQL Server Yapılandırma Yöneticisini veya SQL Server PowerShell'i kullanarak gerekli protokolleri etkinleştirin. Daha fazla bilgi için bkz. Sunucu Ağ Protokolünü Etkinleştirme veya Devre Dışı Bırakma.

    Not

    Bir protokolü etkinleştirdikten sonra, değişikliğin etkili olması için Veritabanı Altyapısı'nı durdurmanız ve yeniden başlatmanız gerekir.

SQL Server Configuration Manager kullanma

SQL Server Yapılandırma Yöneticisi kullanarak başka bir bilgisayardan bağlantıları etkinleştirmek için şu adımları izleyin:

  1. SQL Server Yapılandırma Yöneticisi açın.
  2. Sol bölmede SQL Server Ağ Yapılandırması'nı genişletin ve bağlanmak istediğiniz SQL Server örneğini seçin. Sağ bölmede kullanılabilir bağlantı protokolleri listelenir. Paylaşılan Bellek normalde etkindir. Yalnızca aynı bilgisayardan çalışır, bu nedenle çoğu yükleme Paylaşılan Bellek'i etkin bırakır. Başka bir bilgisayardan SQL Server'a bağlanmak için TCP/IP kullanın. TCP/IP etkin değilse TCP/IP'ye sağ tıklayın ve Etkinleştir'i seçin.
  3. Herhangi bir protokolün etkinleştirme ayarını değiştirirseniz Veritabanı Altyapısı'nı yeniden başlatın. Sol bölmede, SQL Server Hizmetleri'ni seçin. Sağ bölmede, Veritabanı Altyapısı örneğine sağ tıklayın ve Yeniden Başlat'ı seçin.

TCP/IP bağlantısını test etme

TCP/IP kullanarak SQL Server'a bağlanmak için Windows'un bağlantıyı kurması gerekir. Ping aracını kullanarak TCP bağlantısını test etmek için aşağıdaki adımları kullanın.

  1. Başlat menüsünde Çalıştır'ı seçin. Çalıştır penceresinde yazın cmd ve Tamam'ı seçin.
  2. Komut İstemi penceresinde, ping ve SQL Server çalıştıran bilgisayarın IP adresini yazın. Örneğin:
    • IPv4: ping 192.168.1.101
    • IPv6: ping fe80::d51d:5ab5:6f09:8f48%11
  3. Ağınız doğru yapılandırıldıysa, ping ardından ek bilgiler döndürür Reply from <IP address> . Eğer pingDestination host unreachable veya Request timed out döndürürse TCP/IP doğru yapılandırılmamış demektir. Bu noktadaki hatalar, istemci bilgisayar, sunucu bilgisayar veya ağ ile ilgili bir sorun olduğunu (yönlendirici gibi) gösterir. Ağ sorunlarını gidermek için bkz. TCP/IP sorunları için gelişmiş sorun giderme.
  4. ping testi IP adresini kullanarak başarılı olursa, bilgisayar adının TCP/IP adresine çözümlenip çözümlenemeyeceğini test edin. İstemci bilgisayarda, Komut İstemi penceresinde SQL Server çalıştıran bilgisayarın adını yazın ping . Örneğin, ping newofficepc.
  5. IP adresine ping başarılı olur ancak bilgisayar adına ping Destination host unreachable veya Request timed out döndürürse, istemci bilgisayarda önbelleğe alınmış eski (eskimiş) ad çözümleme bilgileriniz olabilir. DNS (Etki Alanı Adı Sistemi) önbelleğini temizlemek için yazın ipconfig /flushdns . Ardından bilgisayara yeniden adı ile ping gönderin. DNS önbelleği boş olduğunda istemci bilgisayar, sunucu bilgisayarın IP adresiyle ilgili en son bilgileri denetler.
  6. Ağınız doğru yapılandırıldıysa, ping ardından ek bilgiler döndürür Reply from <IP address> . Sunucu bilgisayara IP adresine göre başarıyla ping atabiliyorsanız ancak veya bilgisayar adına göre ping işlemi yaparken gibi Destination host unreachableRequest timed out bir hata alıyorsanız, ad çözümlemesi doğru yapılandırılmamış olabilir. Daha fazla bilgi için bkz. Temel TCP/IP Sorunlarını Giderme. SQL Server'a bağlanmak için başarılı ad çözümlemesi gerekmez. Ancak, bilgisayar adı bir IP adresine çözümlenemiyorsa, bağlanırken IP adresini belirtmeniz gerekir. İsim çözümlemesini daha sonra düzeltebilirsiniz.

Not

TCP bağlantısını bilgisayarda yüklü olan PowerShell sürümüne göre test etmek için Test-NetConnection veya Test-Connection cmdlet'ini de kullanabilirsiniz. PowerShell cmdlet'leri hakkında daha fazla bilgi için bkz. Cmdlet'e Genel Bakış.

Yerel bağlantıyı test et

Başka bir bilgisayardaki bağlantı sorununu gidermeden önce, SQL Server çalıştıran bilgisayarda yerel olarak yüklü bir istemci uygulamasından bağlanabilme yeteneğinizi test edin. Yerel bağlantı, ağlarla ve güvenlik duvarlarıyla ilgili sorunları önler.

Bu yordam SQL Server Management Studio gerektirir. Management Studio yüklü değilse bkz. SQL Server Management Studio'yu (SSMS) İndirin.

Management Studio'yu yükleyemiyorsanız sqlcmd yardımcı programını kullanarak bağlantıyı test edebilirsiniz. Dosya sqlcmd.exe , Veritabanı Altyapısı ile birlikte yüklenir.

  1. SQL Server'a erişimi olan bir oturum açma kullanarak SQL Server'ın yüklü olduğu bilgisayarda oturum açın. Yükleme sırasında SQL Server, SQL Server yöneticisi olarak en az bir oturum açma belirtilmesi gerekir. Bir yönetici tanımıyorsanız bkz. Sistem Yöneticileri Kilitlendiğinde SQL Server'a Bağlanma.

  2. Başlangıç sayfasında SQL Server Management Studio yazın veya Windows'un eski sürümlerinin Başlat menüsünde Tüm Programlar>Microsoft SQL Server> Management Studio'yu seçin.

  3. Bağlan açılan menüsünde Veritabanı Altyapısı'nı seçin. Kimlik Doğrulaması kutusunda Windows Kimlik Doğrulaması'nı seçin. Sunucu adı kutusuna aşağıdaki bağlantı türlerinden birini yazın:

    Bağlanacak yer Tür Örnek
    Varsayılan örnek <computer name> ACCNT27
    Adlandırılmış örnek <computer name\instance name> ACCNT27\PAYROLL

    Not

    Aynı bilgisayardaki bir istemci uygulamasından SQL Server'a bağlandığınızda, paylaşılan bellek protokolü kullanılır. Paylaşılan bellek yerel adlandırılmış kanal türüdür, bu nedenle bazen kanallarla ilgili hatalarla karşılaşabilirsiniz.

  4. Bu noktada bir hata alırsanız devam etmeden önce sorunu çözün. Oturum açma yetkiniz olmayabilir veya varsayılan veritabanınız eksik olabilir.

    Not

    Bazı hata iletileri kasıtlı olarak istemciye geçirildiğinden, sorunu yeterli bilgi olmadan gideremezsiniz. Bu davranış, bir saldırgana SQL Server hakkında bilgi sağlamaktan kaçınmaya yönelik bir güvenlik özelliğidir. Hatayla ilgili ayrıntıları görüntülemek için SQL Server hata günlüğüne bakın.

  5. 18456 Kullanıcı için oturum açma başarısız oldu hatasını alırsanız, MSSQLSERVER_18456 makale hata kodları hakkında ek bilgiler içerir. Aaron Bertrand'ın blogu, Hata 18456'ı Giderme (dış bağlantı) bölümünde hata kodlarının kapsamlı bir listesine de sahiptir. Hata günlüğünü, Nesne Gezgini'ninYönetim bölümünde SSMS kullanarak (bağlanabiliyorsanız) görüntüleyebilirsiniz. Aksi takdirde, Not Defteri'ni kullanarak hata günlüğünü görüntüleyebilirsiniz. Varsayılan konum sürümünüzle değişir ve kurulum sırasında değiştirilebilir. SQL Server 2019 (15.x) için varsayılan konum C:\Program Files\Microsoft SQL Server\MSSQL15'dir. MSSQLSERVER\MSSQL\Log\ERRORLOG.

  6. Paylaşılan belleği kullanarak bağlanabiliyorsanız TCP kullanarak bağlanmayı test edin. Addan önce tcp: belirterek TCP bağlantısını zorlayabilirsiniz. İşte birkaç örnek:

    Bağlanacak yer: Şunu yazın: Örnek:
    Varsayılan örnek tcp:<computer name> tcp:ACCNT27
    Adlandırılmış örnek tcp:<computer name/instance name> tcp:ACCNT27\PAYROLL
  7. Paylaşılan belleği kullanarak bağlanabiliyor ancak TCP kullanamıyorsanız TCP sorununu düzeltin. En olası sorun TCP'nin etkinleştirilmemiş olmasıdır. TCP'yi etkinleştirmek için bkz. SQL Server'da etkin protokolleri doğrulama.

  8. Amacınız yönetici hesabı dışında bir hesap kullanarak bağlanmaksa, yönetici olarak bağlanarak başlayın. Ardından, istemci uygulamasının kullandığı Windows Kimlik Doğrulaması oturum açma veya SQL Server Kimlik Doğrulaması oturum açma ile yeniden bağlanmayı deneyin.

Uzak bağlantıyı test edin

Aynı bilgisayarda TCP kullanarak bağlandıktan sonra istemci bilgisayardan bağlanmayı deneyin. Herhangi bir istemci uygulamasını kullanabilirsiniz, ancak karmaşıklığı önlemek için istemciye SQL Server Yönetim araçlarını yükleyin. Yüklemeden sonra SQL Server Management Studio'yu kullanmayı deneyin.

  1. İstemci bilgisayarda SQL Server Management Studio'yu kullanın ve IP adresini ve TCP bağlantı noktası numarasını biçiminde <IP address>,<port number>kullanarak bağlanmayı deneyin. Örneğin, 192.168.1.101,1433. Bu bağlantı başarısız olursa, büyük olasılıkla aşağıdaki sorunlardan biriyle karşılaşırsınız:
  2. IP adresini ve bağlantı noktası numarasını kullanarak bağlandıktan sonra aşağıdaki senaryoları gözden geçirin:
    • 1433 dışında herhangi bir bağlantı noktasında dinleyen bir varsayılan örneğe bağlanırsanız, varsayılan örneğe bağlanmak için bağlantı dizesindeki bağlantı noktası numarasını kullanmanız veya istemci makinesinde bir diğer ad oluşturmanız gerekir. SQL Server Browser hizmeti, varsayılan örneğin bağlantı noktalarını numaralandıramaz.
    • Adlandırılmış bir örneğe bağlanırsanız örneğe, IP adresi ters eğik çizgi örneği adı biçiminde bağlanmayı deneyin. (Örneğin, 192.168.1.101\<instance name>.) Bu eylem işe yaramazsa, bağlantı noktası numarasının istemciye döndürülmediğini anlamına gelir. Sorun, istemciye adlandırılmış örneğin bağlantı noktası numarasını sağlayan SQL Server Browser hizmetiyle ilgilidir. Çözümler şunlardır:
      • SQL Server Browser hizmetini başlatın. SQL Server Configuration Manager'da SQL Server Browser'ı başlatma yönergelerine bakın.
      • SQL Server Browser hizmeti güvenlik duvarı tarafından engelleniyor. Güvenlik duvarında UDP bağlantı noktası 1434'ü açın. Güvenlik duvarı yapılandırmasını doğrulama bölümüne geri dönün. TCP bağlantı noktasını değil, UDP bağlantı noktası açtığınızdan emin olun.
      • UDP bağlantı noktası 1434 bilgileri, bir yönlendirici tarafından engelleniyor. UDP iletişimi (kullanıcı veri birimi protokolü), yönlendiricilerden geçecek şekilde tasarlanmamıştır ve ağın düşük öncelikli trafikle dolmasını engeller. Yönlendiricinizi, UDP trafiğini iletecek şekilde yapılandırabilir veya her bağlandığınızda bağlantı noktası numarasını sağlayabilirsiniz.
      • İstemci bilgisayar Windows 7, Windows Server 2008 veya daha yeni bir işletim sistemi kullanıyorsa, sunucudan gelen yanıt sorgulanandan farklı bir IP adresinden döndürüldiğinden istemci işletim sistemi UDP trafiğini bırakabilir. Bu davranış, "gevşek kaynak eşlemesini" engelleyen bir güvenlik özelliğidir. Daha fazla bilgi için Sorun Giderme: Zaman Aşımı Süresi Doldu'nunBirden Çok Sunucu IP Adresi bölümüne bakın. Bu makale SQL Server 2008 R2'den alınsa da ilkeler hala geçerlidir. İstemciyi doğru IP adresini kullanacak şekilde yapılandırabilir veya her bağlandığınızda bağlantı noktası numarasını sağlayabilirsiniz.
  3. IP adresini (veya adlandırılmış örneğin IP adresini ve örnek adını) kullanarak bağlandıktan sonra, bilgisayar adını (veya adlandırılmış örneğin bilgisayar adını ve örnek adını) kullanarak bağlanmayı deneyin. BIR TCP/IP bağlantısını zorlamak için bilgisayar adının önüne tcp: koyun. Örneğin, ACCNT27 adlı bir bilgisayardaki varsayılan örnek için tcp:ACCNT27 kullanın. Bu bilgisayardaki BORDRO adlı adlandırılmış örnek için kullanın tcp:ACCNT27\PAYROLL. IP adresini kullanarak bağlanabiliyor ancak bilgisayar adını kullanarak bağlanamıyorsanız, bir ad çözümleme sorununuz vardır. TCP/IP bağlantısını test etme bölümüne geri dönün.
  4. TCP'yi zorlayarak bilgisayar adını kullanıp bağlandıktan sonra, TCP'yi zorlamadan bilgisayar adını kullanarak bağlanmayı deneyin. Örneğin, varsayılan örnek için ACCNT27 gibi bir bilgisayar adı kullanın. Adlandırılmış örnek için bilgisayar adını ve ACCNT27\BORDRO gibi örnek adını kullanın. TCP'yi zorlarken bağlanabiliyorsanız ancak TCP'yi zorlamadan bağlanamıyorsanız, istemci büyük olasılıkla adlandırılmış kanallar gibi başka bir protokol kullanıyordur. Bu sorunu düzeltmek için şu adımları izleyin:
    1. İstemci bilgisayarda SQL Server Yapılandırma Yöneticisi kullanın. Sol bölmede SQL Yerel İstemci <sürümü Yapılandırması'nı>ve İstemci Protokolleri'ni seçin.
    2. Sağ bölmede, TCP/IP'nin etkinleştirildiğinden emin olun. TCP/IP devre dışıysa TCP/IP'ye sağ tıklayın ve Etkinleştir'i seçin.
    3. TCP/IP için protokol sırasının adlandırılmış kanallar (veya eski sürümlerde VIA) protokollerinden daha küçük bir sayı olduğundan emin olun. Genellikle paylaşılan belleği sıra 1 ve TCP/IP'yi sıra 2 olarak bırakmanız gerekir. Paylaşılan bellek yalnızca istemci ve SQL Server aynı bilgisayarda çalışırken kullanılır. Tüm etkin protokoller, bir tanesi başarılı olana kadar sırayla deneniyor ancak bağlantı aynı bilgisayarda olmadığında paylaşılan bellek atlanıyor.

Kullanıcı izinlerini denetleyin

Bağlanmak için Adlandırılmış Kanallar kullanıyorsanız, bir kullanıcının Windows'ta oturum açma yetkisine sahip olup olmadığını kontrol edin. Daha fazla bilgi için bkz . Adlandırılmış Kanallar bağlantıları sorununu giderme.