SQL Server ile bağlantı kurulurken ağ ile ilgili veya örneğe özgü bir hata gerçekleşti

Şunlar için geçerlidir: SQL Server

bir SQL Server örneğine bağlanırken aşağıdaki hata iletilerinden biriyle veya daha fazlası ile karşılaşabilirsiniz. Bu makalede, basitten karmaşığa değişen sorunlara göre sağlanan ve bu hataları gidermenize yardımcı olacak bazı adımlar sağlanmaktadır.

Yaygın hata iletileri

Hata iletilerinin tamamı, uygulamada ve sunucu ortamında kullanılan istemci kitaplığına bağlı olarak değişir. Aşağıdaki hata iletilerinden biriyle karşılaşıp karşılaşmadığınızı görmek için aşağıdaki ayrıntıları kontrol edebilirsiniz:

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ı kurulurken ağ ile ilgili veya örneğe özgü bir hata gerçekleşti. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığını doğrulayın.
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 - Sunucu/Örnek Bulma Hatası Belirtildi SQL Server ile bağlantı kurulurken ağ ile ilgili veya örneğe özgü bir hata gerçekleşti. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığını doğrulayın.
sağlayıcı: SQL Ağ Arabirimleri, hata: 26 - Sunucu/Örnek Bulma Hatası Belirtildi

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 bağlantısı 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ıldığı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/Örneği Bulma Hatası [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ığından bağlantı girişimi başarısız oldu SQL Server ile bağlantı kurulurken ağ ile ilgili veya örneğe özgü bir hata gerçekleşti. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığını doğrulayın.
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 bağlantı girişimi başarısız oldu veya bağlı ana bilgisayar yanıt vermediğinden kurulan bağlantı kesildi.
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ı kurulurken ağ ile ilgili veya örneğe özgü bir hata gerçekleşti. Sunucu bulunamadı veya erişilebilir değildi. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığını doğrulayın.
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 olarak 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 ile bağlantı kurulurken ağ ile ilgili veya örneğe özgü bir hata gerçekleşti. 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ıldığı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 sorun aşağıdaki sorunlardan en az biri varsa oluşur:

  • SQL Server barındıran bilgisayarın adı yanlış.
  • Örnek doğru IP'yi çözümlemiyor.
  • 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 Paylaşılan Bellek veya Adlandırılmış Kanallar protokolünde dinlemediği anlamına gelir.

Hata sorununu gidermek için bilgi toplama

Hatayı gidermeye yönelik gerçek adımlara geçmeden önce aşağıdaki seçeneklerden birini kullanarak bu bölümde listelenen bilgileri toplamanızı öneririz.

1. Seçenek: Gerekli bilgileri toplamak için SQL Check aracını kullanın

SQL Server bilgisayarda yerel olarak oturum açabiliyorsanız ve yönetici erişimine sahipseniz SQLCHECK kullanın. Bu araç, tek bir dosyada sorun giderme için gereken bilgilerin çoğunu sağlar. Aracı ve topladığı bilgileri kullanma hakkında daha fazla bilgi için aracın giriş sayfasını gözden geçirin. Ayrıca önerilen önkoşulları ve denetim listesi sayfasını da denetleyebilirsiniz.

2. Seçenek: Aşağıdaki yordamları kullanarak verileri tek tek toplama

Ö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 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ı kullanabilirsiniz.

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

  2. Komut İstemi penceresinde ipconfig/all yazın 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 listelenmelidir.

    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üklüyse, 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.

1. Adım: Örneğin çalıştığını doğrulayın

1. Seçenek: SQLCHECK çıkış dosyasını kullanma

  1. "SQL Server Bilgileri" için SQLCHECK çıkış dosyasını Arama.
  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ıyordur.
  3. Hizmet çalışmıyorsa SQL Server Management Studio, SQL Server Yapılandırma Yöneticisi, PowerShell veya Services uygulamasını kullanarak hizmeti başlatın.

2. Seçenek: SQL Server Yapılandırma Yöneticisi 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.

3. Seçenek: PowerShell komutlarını kullanma

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

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."

2. Adım: SQL Server Browser hizmetinin çalıştığını doğrulayın

Not

Bu adım yalnızca adlandırılmış örneklerle ilgili bağlantı sorunlarını gidermek için gereklidir.

1. Seçenek: SQLCHECK çıkış dosyasını kullanma

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

2. Seçenek: SQL Server Yapılandırma Yöneticisi 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 Hizmetlerini durdurma ve başlatma hakkında daha fazla bilgi için bkz. SQL Server hizmetleri 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 Browser hizmeti olmadan SQL server adlandırılmış örneğine bağlanma.

3. Adım: Bağlantı dizesindeki sunucu adını doğrulama

Bağlantı dizesinde yanlış bir sunucu adı belirtildiğinde 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.

4. Adım: İstemci makineleri üzerindeki diğer adları doğrulayın

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.

1. Seçenek: SQLCHECK çıkış dosyasını kullanma

  1. SQLCHECK çıkış dosyasında SQL Diğer Adları dizesini arayın. (Bu dize dosyanın İstemci Güvenliği ve Sürücü Bilgileri bölümünde olacaktır)
  2. Tablodaki girdileri gözden geçirin. Mevcut değilse bilgisayarda diğer 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ı prod_sqlserver bir SQL Server diğer adı olduğunu gösterirprodsql.

2. Seçenek: SQL Server Yapılandırma Yöneticisi'nde diğer adları denetleme

  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ı çalışıyorsa diğer adınız yanlıştır ve artık gerekli olmayan eski bir yapılandırmadan gelebilir. 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.

3. Seçenek: SQL Server İstemci Ağı Yardımcı Programı'nda diğer adları denetleme

  1. Çalıştır komutuna cliconfg.exe yazarak SQL Server İstemci Ağ Yardımcı Programı'nı açın.
  2. 2. Seçenek: SQL Server Yapılandırma Yöneticisi'nde diğer adları denetleme bölümünde 2. adımı izleyin.

5. Adım: 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, güvenlik duvarını SQL Server ile iletişim için gerekli bağlantı noktalarına izin verecek şekilde 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ı her iki bağlantı noktasını da engelleyebilir. Bağlantı noktası numarasını daha da 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.
    • 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'ü kullanmıyorsa <servername>,<portnumber> biçimini kullanarak sunucu adına SQL Server bağlantı noktası numarasını eklemeyi deneyin ve çalışıp çalışmadığına bakın. Örneğin, SQL örneğinizin adı MySQLDefaultinstance ve 2000 numaralı bağlantı noktasında çalışıyor. Sunucu adını MySQLServer, 2000 olarak belirtin ve çalışıp çalışmadığına bakın.
      • Çalışmıyorsa güvenlik duvarının bağlantı noktasını engellediğini gösterir. 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.
      • Çalışırsa güvenlik duvarının bu bağlantı noktası üzerinden iletişime izin verildiğini gösterir. Bağlantı noktası numarasını ve uygulamanızın bağlantı dizesindeki sunucu adınızı kullanmak için bağlantı dizenizi 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. <servername\instancename>,<portnumber> biçiminde sunucu adına eklenen bağlantı noktası numarasını kullanarak adlandırılmış örneğe bağlanmayı deneyin ve bunun çalışıp çalışmadığına bakın. Ö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.
      • Çalışırsa güvenlik duvarının UDP bağlantı noktası 1434'i engellediğini veya örneğin SQL Server Browser'dan gizlendiğini gösterir.
      • Çalışmazsa aşağıdaki durumlardan birini gösterir:
        • 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. Bunların ikisini de yapamazsanız SQL Server örneğinizi statik bir bağlantı noktasına geçirmeniz ve Sunucuyu Belirli bir TCP Bağlantı Noktasında Dinleyecek Şekilde Yapılandırma bölümünde belgelenen yordamı kullanmanız gerekir.
    • 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.

6. Adım: SQL Server'de etkin protokolleri doğrulama

Bazı SQL Server yüklemelerinde, yönetici el ile etkinleştirmediği sürece başka bir bilgisayardan Veri Tabanı Altyapısına bağlantılar etkinleştirilmez. SQL Server Veri Tabanı Altyapısı'na uzak bağlantılara izin vermek adına gerekli protokolleri denetlemek ve etkinleştirmek için aşağıdaki seçeneklerden birini kullanabilirsiniz.

1. Seçenek: SQLCHECK çıkış dosyasını kullanma

  1. "SQL Server örneğinin ayrıntıları" bölümü için SQLCHECK çıkış dosyasını Arama 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 True ya da false 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 False ise 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 SQL Server yüklemelerinin çoğu, 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 Veri Tabanı Altyapısı durdurulmalı ve yeniden başlatılmalıdır.

2. Seçenek: SQL Server Yapılandırma Yöneticisi 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 kullanılabilir, 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.

7. Adım: TCP/IP bağlantısını test edin

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ı kullanabilirsiniz.

  1. Başlat menüsünde Çalıştır'ı seçin. Çalıştır penceresinde cmd yazın 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 düzgün yapılandırılmışsa ping, ardından bazı ek bilgilerle beraber Reply from <IP address> döndürür. 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 - yönlendirici gibi - bir sorun olduğunu 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 ping ve SQL Server çalıştıran bilgisayarın adını yazın. Ö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 (Dinamik Ad Çözümlemesi) önbelleğini temizlemek için ipconfig /flushdns yazın. 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 düzgün yapılandırılmışsa ping, ardından bazı ek bilgilerle beraber Reply from <IP address> döndürür. Sunucu bilgisayara IP adresiyle başarılı ping gönderebiliyor ancak bilgisayar adıyla ping gönderdiğinizde Destination host unreachable veya Request timed out gibi bir hata alıyorsanız, ad çözümlemesi doğru yapılandırılmamış demektir. 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ğlantılar IP adresi belirtilerek yapılmalıdır. Ad çözümlemesi daha sonra düzeltilebilir.

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'i hakkında daha fazla bilgi için bkz. Cmdlet Genel Bakış.

8. Adım: Yerel bağlantıyı test edin

Başka bir bilgisayardan bağlantı sorununu gidermeden önce, SQL Server çalıştıran bilgisayarda yerel olarak yüklü bir istemci uygulamasından bağlanma 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.exe yardımcı programını kullanarak bağlantıyı test edebilirsiniz. sqlcmd.exe, Veritabanı Altyapısı ile yüklenir. sqlcmd.exe hakkında bilgi için bkz. sqlcmd Yardımcı Programı.

  1. SQL Server'a erişebilen bir oturum açma bilgisi kullanarak SQL Server'ın yüklü olduğu bilgisayarda oturum açın. Yükleme sırasında SQL Server, en az bir SQL Server yöneticisi olarak belirtilmiş oturum açma bilgisi ister. 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'ı ve ardından 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ğlanırken paylaşılan bellek protokolü kullanılır. Paylaşılan bellek, yerel adlandırılmış bir kanal türüdür, bu nedenle bazen kanallarla ilgili hatalarla karşılaşırsınız.

  4. Bu noktada bir hata alırsanız devam etmeden önce bu hatayı çözmeniz gerekir. Oturum açma bilgileriniz, bağlanma yetkisine sahip olmayabilir. Varsayılan veritabanınız eksik olabilir.

    Not

    Bazı hata iletileri kasıtlı olarak istemciye geçirildiğinden, yeterli bilgi olmadan sorunu gideremezsiniz. Bu, 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. hata 18456 Kullanıcı için oturum açma başarısız oldu hatasını alırsanız Çevrimiçi Kitaplar MSSQLSERVER_18456 makalesi, 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'nin Yönetim bölümündeki SSMS'yi kullanarak (bağlanabiliyorsanız) görüntüleyebilirsiniz. Bunu dışında, Windows Not Defteri programıyla 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.MSSQLSERVER\MSSQL\Log\ERRORLOG'dur.

  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: Örneğin:
    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ğlanabiliyorsanız ancak TCP'yi kullanamıyorsanız TCP sorununu çözmeniz gerekir. En olası sorun TCP'nin etkinleştirilmemiş olmasıdır. TCP'yi etkinleştirmek için bkz. 6. Adım: SQL Server'daki etkin protokolleri doğrulama.

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

9. Adım: Uzak bağlantıyı test edin

Aynı bilgisayarda TCP kullanarak bağlanabildiğinizde, istemci bilgisayardan bağlanmayı denemenin zamanı gelmiştir. Herhangi bir istemci uygulamasını kullanabilirsiniz ancak karmaşıklığı önlemek için SQL Server Yönetim araçlarını istemciye 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ı, IP adresi virgül bağlantı noktası numarası biçiminde 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 birine sahipsiniz:
  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ını dinleyen bir varsayılan örneğe bağlanırsanız ya bağlantı dizesinde bağlantı noktası numarasını kullanmanız ya da varsayılan örneğe bağlanmak için istemci makinede bir takma ad oluşturmanız gerekir. SQL Server Browser hizmeti, varsayılan örneğin bağlantı noktalarını numaralandıramıyor.
    • 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. tarayıcıyı, SQL Server Yapılandırma Yöneticisi'de 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. 5. Adım: 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üldüğünden, istemci işletim sistemi UDP trafiğini düşürebilir. Bu eylem, "gevşek kaynak eşlemesini" engelleyen bir güvenlik özelliğidir. Daha fazla bilgi için, Çevrimiçi Kitaplar makalesinin Birden Çok Sunucu IP Adresi bölümüne bakın . Sorun Giderme: Zaman Aşımı Süresi Doldu. (Bu makale SQL Server 2008 R2'den alınıyor, ancak sorumlular hala geçerli. İ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. PAYROLL adlı adlandırılmış bir örnek için bu bilgisayarda tcp:ACCNT27\PAYROLL kullanın. IP adresini kullanarak bağlanabiliyor ancak bilgisayar adını kullanarak bağlanamıyorsanız, bir ad çözümleme sorununuz vardır. 7. Adım: TCP/IP bağlantısını test edin 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, bir varsayılan örnek için sadece CCNT27 gibi bir bilgisayar adı kullanın. Adlandırılmış bir örnek için bilgisayar adını ve örnek adını ACCNT27\PAYROLL gibi kullanın. TCP'yi zorlarken bağlanabiliyor 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 gidermek için 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ı genişletin ve ardından İ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.

10. Adım: Kullanıcı izinlerini denetleme

Bağlanmak için Adlandırılmış Kanallar kullanıyorsanız, kullanıcının Windows'ta oturum açma izinleri olup olmadığını denetleyin. Daha fazla bilgi için bkz. Adlandırılmış Kanallar bağlantı sorunlarını giderme.

Ayrıca bkz.