SQL Server için Kerberos Configuration Manager genel bakış

Şunlar için geçerlidir:  SQL Server

Özgün KB numarası: 2985455

Ağınızdaki hatalı bir Kerberos yapılandırması Microsoft SQL Server'da çeşitli bağlantı hatalarıyla neden olabilir. SQL Server için Kerberos Configuration Manager, SQL Server, SQL Server Reporting Services (SSRS) ve kerberos ile ilgili bağlantı sorunlarını gidermenize yardımcı olan bir tanılama aracıdır SQL Server Analysis Services (SSAS). Bu makalede, Kerberos Configuration Manager aracının nasıl kullanılacağı ve SQL Server etkileyen Kerberos sorunlarını düzeltmek için araçtan çıkışın nasıl yorumılacağı hakkında bilgi sağlanır.

Kerberos Configuration Manager işlevleri

Kerberos Configuration Manager aşağıdaki görevleri gerçekleştirebilir:

  • Bir sunucuya yüklenen işletim sistemi, Microsoft SQL Server örnekleri ve Always On Kullanılabilirlik Grubu Dinleyicileri hakkında bilgi toplayın.
  • Sunucudaki tüm Hizmet Asıl Adı (SPN) ve temsilci yapılandırmalarını bildirin.
  • SPN'lerde ve temsilcilerde olası sorunları belirleme.
  • Olası SPN sorunlarını düzeltin.

Kullanım senaryoları

Bu araç aşağıdaki özel durumları gidermenize yardımcı olur:

  • 401

    Not: Bu hata iletisi HTTP hataları, SSRS hataları ve diğer benzer hatalar içindir.

  • SSPI Bağlamı oluşturulamıyor
  • 'NTAUTHORITY\ANONYMOUS LOGON' kullanıcısı için oturum açılamadı
  • '(null)' kullanıcısı için oturum açılamadı
  • Kullanıcı için oturum açılamadı (boş)

Not

Sorunları gidermeye başlamadan önce önkoşulları gözden geçirmenizi ve ardından bağlantıyla ilgili hataları gidermek için genel denetim listesini incelemenizi öneririz.

Not

SQL Server tabanlı bilgisayarınıza yönetici erişiminiz varsa, bu bilgisayarda SQL Bağlantı Ayarları Denetimi aracını da çalıştırabilir ve ardından sql server örneğinizin SPN yapılandırmasını denetlemek için çıkışı gözden geçirebilirsiniz.

Aracı indirme

Bu araç Microsoft İndirme Merkezi'nden indirilebilir:

SQL Server için Microsoft Kerberos Configuration Manager

Not

Aracı etki alanınızdaki SQL Server tabanlı bilgisayara bağlanabilen herhangi bir bilgisayara indirebilir ve yükleyebilirsiniz.

İzinler

SQL, SSRS ve SSAS'yi etkileyen bağlantı sorunlarını gidermek için, o bilgisayarda yönetici izinlerine sahip bir etki alanı kullanıcı hesabı kullanarak hedef bilgisayara (hizmeti barındıran) bağlanın.

İsteğe bağlı: Araç tarafından tanımlanan SPN sorunlarını düzeltmek için aracı kullanmak istiyorsanız, etki alanı hesabının Hizmet ilkesi adına doğrulanmış yazma iznine sahip olması gerekir.

Aracı kullanma

Yükleme tamamlandıktan sonra yükleme klasörüne giderek KerberosConfigMgr.exe ikili dosyasını başlatın. Varsayılan olarak, konum SQL Server için C:\Program Files\Microsoft\Kerberos Configuration Manager'dir.

Bir uygulamayı yönetici veya farklı bir kullanıcı olarak başlatma hakkında bilgi için bkz. Uygulamayı yönetici olarak başlatmak için Çalıştır'ı kullanma.

Sorun gidermeye başlamak için aşağıdaki seçeneklerden birini kullanın:

  • Uzak SQL Server tabanlı bir bilgisayara bağlanmak için Sunucu Adı, Etki Alanı Kullanıcı Adı ve Parola için uygun değerleri girin.

    Not

    Kerberos Configuration Manager aracı, SQL Server bilgisayarın Kerberos yapılandırmasıyla ilgili bilgileri sorgulamak ve görüntülemek için bir Windows API'si kullanır. Bu nedenle, adlandırılmış örnek için Kerberos ile ilgili sorunları gideriyor olsanız bile her zaman SQL Server örneğini barındıran bilgisayarın adını girin.

  • Yerel sunucuya bağlanmak için Bağlan'ı seçerek Kerberos yapılandırmanızı analiz edin. Bu durumda, sunucu adını, etki alanı kullanıcı adını veya parolayı belirtmeniz gerekmez.

    Not

    Aracı başlatan hesap yerel yönetici hesabı olmalıdır. Bir uygulamayı yönetici veya farklı bir kullanıcı olarak başlatma hakkında bilgi için bkz. Uygulamayı yönetici olarak başlatmak için Çalıştır'ı kullanma.

Bağlantı başarılı olduktan sonra ilgili tüm SPN'ler aşağıdaki ekran görüntüsünde gösterilir.

Kerberos Configuration Manager üç sekmenin de görünümünün ekran görüntüsü.

Bu ekran görüntüsünde kullanıcı arabiriminde aşağıdaki sekmeler vardır:

  • Sistem: Kullanıcı bilgilerini ve makine bilgilerini görüntüler.

  • SPN: Hedef sunucuda bulunan SQL Server örneklerinin her biri hakkında Hizmet Asıl Adı (SPN) bilgilerini görüntüler ve gerekli SPN ve durumu gibi ayrıntıları sağlar.

  • Oluştur: Eksik ve yapılandırılmış SPN'leri bulmanıza yardımcı olur. Ayrıca SPN Oluşturma betiğini oluşturmanıza da yardımcı olur.

    1. Oluştur'a tıklayın.
    2. Açılan iletişim kutusunda bir ad girin (bu örnekte "generateSPNss"), Farklı Kaydet türünü Kerberos Config Mgr(.cmd) dosyası olarak ayarlayın ve kaydet'i seçin.

    CMD dosyası için bir ad sağlamak için iletişim kutusu.

generateSPNss.cmd dosyası oluşturulur ve bu dosyayı komut isteminde çalıştırabilirsiniz. generateSPNss.cmd dosyasının içeriği aşağıdaki örneğe benzer:

:: This script is generated by the Microsoft® SQL Server® Kerberos Configuration Manager tool.

:: The script may update the system information, SPN settings and Delegation configurations of a given server.

:: SPN and Delegation configuration updates require Windows Domain Administrator permission to execute.

:: A Domain Admin should review the configurations recommended by this tool and take appropriate actions to enable Kerberos authentication.

:: Please contact Microsoft Support if Kerberos connection problem persists.

:: The file is intended to be run in domain `<DomainName>.com`"

:: Corrections for MSSQLSvc/`<HostName>.<DomainName>.com` **SetSPN -s MSSQLSvc/`<HostName>`. `<DomainName>`.com UserName** 
  • SQL Server hizmet hesabı altında bir SPN oluşturmak için SetSPN kullanın.

  • Sorunları düzeltmek ve SPN eklemek için Düzeltme'yi kullanın. SPN'yi yalnızca gerekli izinlere sahipseniz ekleyebilirsiniz. Düzelt'i seçtiğinizde aşağıdaki araç ipucu görüntülenir:

    SPN eklemek için Düzeltme seçeneğinin ekran görüntüsü.

    Not

    Araç yalnızca statik bağlantı noktalarına sahip varsayılan örnekler ve adlandırılmış örnekler için Düzeltme ve Oluştur komutlarını sağlar. Dinamik bağlantı noktaları kullanan adlandırılmış örnekler için dinamik bağlantı noktalarından statik bağlantı noktalarına geçmenizi veya SQL hizmeti her başlatıldığında SPN'yi kaydedip kaydını kaldırması için hizmet hesabı için gerekli izinleri sağlamanızı öneririz. Aksi takdirde, hizmet her başlatıldığında ilgili SPN'lerin kaydını el ile kaldırmanız ve yeniden kaydetmeniz gerekir. Daha fazla bilgi için bkz. Kerberos Bağlantıları için Hizmet Asıl Adı Kaydetme.

  • Temsilci seçme: Temsilci seçme için hizmet hesabının yapılandırmasını etkileyen sorunları belirlemek için Temsilci Seçme'yi kullanın. Bu, özellikle bağlı sunucu sorunlarını gidermede yararlıdır. Örneğin, SPN kullanıma alma işlemi iyiyse ancak bağlı sunucu sorgularını etkileyen sorunlarla karşılaşmaya devam ediyorsanız, bu durum hizmet hesabının kimlik bilgilerini temsilci olarak atamak için yapılandırılmadığını gösterebilir. Daha fazla bilgi için Bağlı Sunucuları Temsilci Seçme için Yapılandırma bölümündeki Çevrimiçi Kitaplar konusuna bakın.

    Temsilci seçme sekmesinin ekran görüntüsü.

Kerberos Configuration Manager gelen tanılamayı yorumlama ve bu tanılama üzerinde hareket etme

Durum sütununa başvurarak araçtan tanılamayı gözden geçirin. Duruma bağlı olarak, sorunu çözmek için uygun adımları izleyin.

  • Durum - İyi

    Daha fazla bilgi: İşaretlenen öğe doğru yapılandırıldı. Çıktıdaki bir sonraki öğeye gidin.

    Eylem: Eylem gerekmez.

  • Durum - Gerekli SPN eksik

    Daha fazla bilgi: Active Directory'deki SQL Server başlangıç hesabı için Gerekli SPN sütununda belirtilen Hizmet Asıl Adı (SPN) eksikse bu durum bildirilir.

    Eylem: SPN sorunlarının çözülmüş olup olmadığını denetlemek için şu adımları izleyin:

    1. Uyarı iletişim kutusundaki bilgileri gözden geçirmek için Düzelt'i seçin.
    2. Eksik SPN'yi Active Directory'ye eklemek için Evet'i seçin.
    3. Etki alanı hesabınızın Active Directory'yi güncelleştirmek için gerekli izinleri varsa, gerekli SPN Active Directory'ye eklenir.
    4. Etki alanı hesabınızın Active Directory'yi güncelleştirmek için gerekli izinleri yoksa, Active Directory yöneticisinin eksik SPN'leri eklemesine yardımcı olacak betiği oluşturmak için Oluştur veya Tümünü Oluştur'a tıklayın.
    5. SPN'ler eklendikten sonra, SPN sorunlarının çözüldüğünü doğrulamak için Kerberos Configuration Manager yeniden çalıştırın.
  • Durum - Kerberos yapılandırmasını kullanmak için TCP etkinleştirilmelidir.

    Daha fazla bilgi: İstemci bilgisayarda TCP etkin değilse bu durum gösterilir.

    Eylem: SQL Server örneği için TCP/IP protokollerini etkinleştirmek için şu adımları izleyin:

    1. SQL Server Yapılandırma Yöneticisi - Konsol'da Ağ Yapılandırması'SQL Server genişletin.

    2. Konsol'da için <instance name>Protokoller'i seçin.

    3. Ayrıntılar'da TCP/IP'yi ve ardından Etkinleştir'i seçin.

    4. Konsol'da SQL Server Hizmetler'i seçin.

    5. Ayrıntılar bölümünde için <instance name>SQL Server seçin.

    6. SQL Server hizmetini durdurmak ve yeniden başlatmak için Yeniden Başlat'ı seçin. Ek bilgi için Bkz. Sunucu Ağ Protokollerini Etkinleştirme veya Devre Dışı Bırakma bölümü.

  • Durum - Dinamik Bağlantı Noktası

    Daha fazla bilgi: Bu durum, dinamik bağlantı noktaları (varsayılan yapılandırma) kullanan adlandırılmış örnekler için görüntülenir. SQL Server bağlanmak için Kerberos kullanmanız gereken ortamlarda, adlandırılmış örneğinizi statik bağlantı noktası kullanacak şekilde ayarlamanız ve SPN'yi kaydederken bu bağlantı noktasını kullanmanız gerekir. Aksi takdirde, Active Directory'de kayıtlı SPN, adlandırılmış bir örneğin SPN'nin kaydedildiği bağlantı noktası dışında yeni bir bağlantı noktasını dinlemeye başladığı bir sonraki seferde geçersiz hale gelir.

    Not

    Bu öneri yalnızca el ile SPN kaydına bağlı ortamlar için geçerlidir.

    Eylem: SQL Server örneğini statik bağlantı noktası kullanacak şekilde yapılandırmak için şu adımları izleyin:

    1. SQL Server Yapılandırma Yöneticisi - Konsol'da Ağ Yapılandırması'SQL Server genişletin, için <instance name>Protokoller'i genişletin ve ardından TCP/IP'ye çift tıklayın.
    2. TCP/IP Özellikleri'nde Protokol'de Tümünü Dinle'yi seçin.
    3. Tümünü Dinle seçeneği Evet olarak ayarlandıysa , IP Adresleri'ne geçin ve IPAll ayarını bulmak için pencerenin en altına kaydırın.
    4. TCP Dinamik Bağlantı Noktaları'ndaki geçerli değeri silin ve TCP Bağlantı Noktası'na bir bağlantı noktası numarası girin.
    5. Tamam'ı seçin ve SQL Server örneğini yeniden başlatın. Daha fazla bilgi için bkz. Sunucuyu Belirli bir TCP Bağlantı Noktasında Dinleyecek Şekilde Yapılandırma.
    6. Tümünü Dinle özelliği Hayır olarak ayarlandıysa , IP Adresleri'ne geçin ve IP1 ve IP2 düğümlerinde görünen tüm IP adreslerini denetleyin. Etkin olarak ayarlanan adresler için TCP Dinamik Bağlantı Noktaları'ndaki geçerli değeri kaldırın ve tcp bağlantı noktasında bir değer ayarlayın.
    7. Tamam'ı seçin ve ayarların etkili olması için SQL Server örneğini yeniden başlatın. Daha fazla bilgi için bkz. Sunucuyu Belirli bir TCP Bağlantı Noktasında Dinleyecek Şekilde Yapılandırma.
  • Durum - Yinelenen SPN

    Daha fazla bilgi: Aynı SPN Active Directory'deki farklı hesaplar altında kayıtlıysa bu senaryoyla karşılaşabilirsiniz.

    Eylemler: Active Directory'ye SPN eklemek için şu adımları izleyin:

    1. Düzelt'i seçin.

    2. Uyarı iletişim kutusundaki bilgileri denetleyin.

    3. Eksik SPN'yi Active Directory'ye eklemek için Evet'i seçin.

      • Etki alanı hesabınız Active Directory'yi güncelleştirmek için gerekli izinlere sahipse yanlış SPN silinir.

      • Etki alanı hesabınızın Active Directory'yi güncelleştirmek için gerekli izinleri yoksa, Yinelenen SPN'leri kaldırmak için Active Directory yöneticinize sağlayabileceğiniz gerekli betiği oluşturmak için Tümünü Oluştur veya Oluştur'a tıklayın.

    4. SPN'ler kaldırıldıktan sonra, SPN sorunlarının çözüldüğünü doğrulamak için Kerberos Configuration Manager yeniden çalıştırın.

    Not

    SQL Server Veritabanı Altyapısı örneği başlatıldığında SQL Server SPN'yi SQL Server hizmeti için kaydetmeye çalışır. Örnek durdurulduğunda SQL Server SPN kaydını kaldırmaya çalışır. Bunun gerçekleşmesi için, SQL Server hizmet hesabı Active Directory'de uygun izinleri gerektirir. Ancak hizmet hesabı bu haklara sahip değilse, otomatik SPN kaydı gerçekleşmez ve SQL örneklerinin Kerberos kimlik doğrulamasını etkinleştirebilmesi için bu SPN'leri kaydetmek için Active Directory yöneticinizle birlikte çalışmanız gerekir. Daha fazla bilgi için bkz. Kerberos Bağlantıları için Hizmet Asıl Adı Kaydetme.

    Not

    SQL'in kümelendiği ortamlarda, SPN'nin kaydını kaldırıp SPN'yi Active Directory'ye yeniden kaydetmek, SQL Server çevrimiçi olması için geçen süreden daha uzun sürebileceğinden SPN'lerin otomatik olarak kaydedilmesi önerilmez. SPN kaydı zamanında gerçekleşmezse, küme yöneticisi SQL Server örneğine bağlanamadığından bu durum SQL Server çevrimiçi olmasını engelleyebilir.

Ek seçenekler

KOMUT satırından SPN Listesi oluşturmak için:

  1. Komut satırına gidin.

    Not

    SSRS'yi etkileyen bağlantı sorununu gidermek için bir yönetim Komut İstemi penceresi açın.

  2. KerberosConfigMgr.exe içeren klasöre geçin.

  3. girin KerberosConfigMgr.exe -q -l.

  4. Daha fazla komut satırı seçeneği için yazın KerberosConfigMgr.exe -h.

Sunucunun Kerberos yapılandırma bilgilerini kaydetmek için:

  1. Hedef Windows sunucusuna bağlanın.
  2. Kaydet'i seçin.
  3. Dosyanın kaydedilmesini istediğiniz konumu belirtin. Yerel bir sürücüde veya ağ paylaşımında olabilir. Dosya .xml biçimde kaydedilir.

Kaydedilen dosyadan sunucunun Kerberos yapılandırma bilgilerini görüntülemek için:

  1. Yükle'yi seçin.
  2. Kerberos Configuration Manager tarafından oluşturulan XML dosyasını açın.

Bu aracın günlük dosyalarını görüntülemek için:

Varsayılan olarak, uygulama uygulama veri klasörünüzde her çalıştırıldığında bir günlük dosyası oluşturulur: %APPDATA%\Microsoft\KerberosConfigMgr.

Yardım almak için aşağıdaki yöntemlerden birini kullanın:

  • Araç ipucu oluşturmak için fare işaretçisini komutun üzerine getirin.
  • Komut isteminde komutunu çalıştırın KerberosConfigMgr.exe -h .
  • Araç çubuğunda Yardım düğmesini seçin.

Ayrıca bkz.