

Makale numarası: 811889 - Bu makalenin geçerli olduğu ürünleri görün.
Sorun anlama
Bu bölümde, neden "SSPI içeriği üretilemiyor" hata iletisi oluşuyor ve hata ile ilgili sorunları giderme hakkında arka plan bilgileri sağlar. Aşağıdaki koşullar doğru olduğunda bu hata iletisini alabilirsiniz:
Bu resmi kapatBu resmi aç
Kerberos terminoloji ve hizmet asıl adı'nı anlamaBir istemci bilgisayarda SQL Server sürücüsü Windows Güvenlik belirteci kullanıcı hesabının başarıyla SQL Server çalıştıran bir bilgisayara bağlanmak için tümleşik güvenlik kullanır. Windows Güvenlik belirteci istemciden SQL Server çalıştıran bilgisayara aktarılır. SQL Server sürücüsü kullanıcının güvenlik belirteci bir bilgisayardan diğerine aşağıdaki yapılandırmalardan birini kullanarak temsilci Bu temsilci gerçekleştirir:
SSPI TCP/IP üzerinden temsilci seçmek için Kerberos kimlik doğrulamasını kullanır ve Kerberos kimlik doğrulamasını başarıyla kullanıcının güvenlik belirteci, SQL Server çalıştıran hedef bilgisayara temsilci seçmek için gerekli işlemleri tamamlanamıyor "SSPI içeriği üretilemiyor" hata üretilir.
Neden Güvenlik Desteği Sağlayıcısı Arabirimi'ni NTLM veya Kerberos kimlik doğrulamasını kullanır"Hizmet asıl adı" (SPN) adlı bir tanımlayıcı Kerberos kimlik doğrulamasını kullanır. SPN, bir etki alanı veya orman örneğinin benzersiz tanıtıcısı bazı sunucu kaynak olarak düşünün. Bir web hizmeti, SQL service veya bir SMTP hizmeti için bir SPN olabilir. Benzersiz bir SPN olan aynı fiziksel bilgisayarda birden çok web hizmeti örneği de olabilir.
SQL Server için bir SPN aşağıdaki öğelerden oluşur:
Varsayılan örneği için bir SPN biçimi ve adlandırılmış bir örneği için bir SPN biçimi farklı değildir. Ne şekilde belirli bir örneğe SPN bağlar bağlantı noktası numarasıdır.
Bir istemci SQL Server sürücüsü, SQL Server'a bağlanmak için tümleşik güvenliği kullandığında, istemci sürücüsü kod WinSock API ağ kullanarak SQL Server çalıştıran bilgisayarın tam DNS gidermeye çalışır. Bu işlemi gerçekleştirmek için sürücü kodunun gethostbyname ve gethostbyaddr WinSock API çağırır. Bir IP adresi veya ana bilgisayar adı SQL Server çalıştıran bilgisayar adı olarak geçirilen bile, SQL Server sürücüsü bilgisayarın tam DNS bilgisayar tümleşik güvenlik kullanılarak, çözümlemek çalışır.
SQL Server sürücüsü istemci üzerinde SQL Server çalıştıran bilgisayarın tam DNS çözdüğünde, karşılık gelen DNS bu bilgisayar SPN'sini oluşturmak için kullanılır. Bu nedenle, SQL Server çalıştıran bilgisayar için geçersiz bir SPN oluşturmak SQL Server sürücüsü nasıl IP adresi veya ana bilgisayar adı için tam DNS WinSock tarafından çözümlenir hakkında herhangi bir sorun neden olabilir.
Tam çözümlenen DNS aşağıdaki şekilde olduğu gibi istemci tarafı SQL Server sürücüsü kurabilir, geçersiz SPN'ler:
Kerberos kimlik doğrulamasını başarıyla yapan anahtar ağdaki geçerli DNS işlevselliği etkendir. Bu işlevsellik istemci ve sunucu Ping komut istemi yardımcı programını kullanarak doğrulayabilirsiniz. İstemci bilgisayar üzerinde SQL Server (SQL Server çalıştıran bilgisayarın adını SQLServer1 olduğu) çalıştıran sunucunun IP adresini elde etmek için aşağıdaki komutu çalıştırın:
ping sqlserver1Ping yardımcı programı, tam DNS SQLServer1 çözümler olup olmadığını görmek için aşağıdaki komutu çalıştırın:
ping - a IP adresiÖrneğin:
C:\>ping SQLSERVER1 Pinging SQLSERVER1 [220.127.116.11] with 32 bytes of data: Reply from 18.104.22.168: bytes=32 time<10ms TTL=128 Reply from 22.214.171.124: bytes=32 time<10ms TTL=128 Reply from 126.96.36.199: bytes=32 time<10ms TTL=128 Reply from 188.8.131.52: bytes=32 time<10ms TTL=128 Ping statistics for 184.108.40.206: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
Zaman komut ping - a IP adresi çözümler için SQL Server çalıştıran bilgisayarın doğru tam DNS istemci tarafı çözüm de başarılı olur.
C:\>ping -a 220.127.116.11 Pinging SQLSERVER1.northamerica.corp.mycompany.com [18.104.22.168] with 32 bytes of data: Reply from 22.214.171.124: bytes=32 time<10ms TTL=128 Reply from 126.96.36.199: bytes=32 time<10ms TTL=128 Reply from 188.8.131.52: bytes=32 time<10ms TTL=128 Reply from 184.108.40.206: bytes=32 time<10ms TTL=128 Ping statistics for 220.127.116.11: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms C:\>
SQL Server hizmet asıl adı oluşturmaBu, Kerberos kimlik doğrulaması ve SQL Server etkileşim önemli bölümlerini biridir. SQL Server ile SQL Server hizmeti altında şunlardan birini çalıştırabilir: LocalSystem hesabı, yerel bir kullanıcı hesabı veya bir etki alanı kullanıcı hesabı. SQL Server hizmeti örneğinin başladığında, DsWriteAccountSpn API çağrısı kullanılarak Active Directory'de kendi SPN kaydettirmeyi dener. Arama başarılı olmazsa, Olay Görüntüleyicisi'nde aşağıdaki uyarıyı günlüğe kaydedilir:
Kaynak: MSSQLServer EventID: 19011 Açıklama: SuperSocket bilgi: (SpnRegister): hata 8344.DsWriteAccountSpn işlevi hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesine bakın:
http://msdn2.microsoft.com/en-us/library/ms676056.aspx
(http://msdn2.microsoft.com/en-us/library/ms676056.aspx)
Basitleştirilmiş bir açıklamaSQL Server hizmetini LocalSystem hesabı altında çalıştırırsanız, SPN otomatik olarak kaydedilir ve Kerberos kimlik doğrulamasını başarıyla SQL Server çalıştıran bilgisayar ile etkileşim kurar. SQL Server hizmeti etki alanı hesabı veya yerel bir hesap altında çalıştırmak, etki alanı hesabı ve yerel hesap kendi SPN ayarlama hakkı olmadığı için ancak, SPN oluşturma denemesi çoğu zaman başarısız olur. SPN oluşturma başarılı olmadığında, hiçbir SPN SQL Server çalıştıran bir bilgisayar için ayarlanmış demektir. SQL Server hizmet hesabı olarak bir etki alanı yöneticisi hesabı kullanarak test ederseniz, bir SPN oluşturmanız için gereken etki alanı yönetici düzeyinde kimlik bilgileri olmadığı için SPN başarıyla oluşturuldu.
(Güvenlik riski önlemek için) SQL Server hizmetini çalıştırmak için etki alanı yöneticisi hesabı kullanamayabilir, SQL Server çalıştıran bilgisayarın kendi SPN oluşturulamıyor. Bu nedenle, SPN SQL Server çalıştıran bir bilgisayara bağlanırken Kerberos kimlik doğrulaması kullanmak istiyorsanız, SQL Server çalıştıran bilgisayarınıza el ile oluşturmalısınız. SQL Server bir etki alanı kullanıcı hesabı altında veya bir yerel kullanıcı hesabı altında çalışıyorsa, bu doğrudur. SQL Server hizmetinin hizmet hesabına o bilgisayar üzerinde oluşturduğunuz SPN atanmış olması gerekir. SQL Server çalıştıran bilgisayarda yerel sistem hesabıyla başlayan sürece bilgisayar kapsayıcısına SPN atanamaz. Yalnızca bir SPN olması gerekir ve uygun bir kapsayıcıya atanması gerekir. Genellikle, geçerli SQL Server hizmet hesabının budur, ancak bu bilgisayar hesabı yerel sistem hesabı ile kapsayıcıdır.
Bu resmi kapatBu resmi aç
Sorun çözme
Bu bölümde, bilgisayarınızı SSPI herhangi bir sorunla karşılaşmaz sağlamaya yardımcı olmak için gereken adımları gösterir.
Bu resmi kapatBu resmi aç
Etki alanını doğrulayınOturum açma etki alanı SQL Server çalıştıran bilgisayarın ait olduğu etki alanı ile iletişim kurabildiğinizi doğrulayın. Etki alanında ad çözümlemesinin doğru bulunmalıdır.
SPN'ler için SQL Server örnekleri dinamik olarak oluşturmak için SQL Server hizmetini yapılandırmaSPN'ler dinamik olarak oluşturmak için SQL Server hizmetini yapılandırmak için hesabın Active Directory dizin hizmeti erişim denetimi ayarları değiştirmeniz gerekir. "ServicePrincipalName okuma" izni ve SQL Server hizmet hesabı için "Yazma servicePrincipalName" izni vermeniz gerekir.
Uyarı Active Directory Hizmet Arabirimleri (ADSI) düzenleme ek bileşenini, LDP yardımcı programını veya 3 istemcileri ve Active Directory nesnelerinin özniteliklerini hatalı olarak değiştirmek başka bir LDAP sürüm kullanıyorsanız, ciddi sorunlara neden olabilir. Bu sorunlar, Windows Server 2003, Microsoft Windows 2000 Server, Microsoft Exchange Server 2003, Microsoft Exchange 2000 Server veya hem Windows ve Exchange yeniden yüklemenizi gerektirebilir. Active Directory nesnelerinin özniteliklerini hatalı olarak değiştirilmesi nedeniyle oluşan sorunların çözülebileceğini garanti etmemektedir. Bu öznitelikler kendi yöntemlerinizle değiştirin.
Not Uygun izinler ve kullanıcı hakları için SQL Server başlangıç hesap vermek için etki alanı yöneticisi olarak oturum açmanız gerekir veya bu görevi gerçekleştirmek için etki alanı yöneticinize başvurmalısınız.
SPN'ler dinamik olarak oluşturmak için SQL Server hizmetini yapılandırmak için şu adımları izleyin:
Önemli Aşağıdaki koşullar doğru olduğunda WriteServicePrincipalName'ı sağ SQL hizmet hesabı vermeseniz öneririz:
Aşağıdaki bulunduğunu varsayalım:
Aşağıdakilerden oluşabilir:
Not Bu sorun, SQL Server 2012'de giderilmiştir.
Sunucu ortamını doğrulamaSQL Server yüklü bilgisayarda bazı temel ayarları denetleyin:
İstemci ortamını doğrulamaİstemcinin aşağıdakileri doğrulayın:
İstemci ağ yardımcı programı doğrulayınİstemci ağ yardımcı programı'nı (CNU) Microsoft Data Access Components (MDAC) ile birlikte teslim edilir ve SQL Server çalıştıran bilgisayarlara bağlantı yapılandırmak için kullanılır. MDAC Cliconfg.exe CNU yardımcı program bağlantısı yapılandırmak için kullanabilirsiniz:
SQL Server için hizmet asıl adı el ile ayarlamaSQL Server için hizmet asıl adı el ile ayarlama hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
319723Güvenlik Desteği Sağlayıcısı Arabirimi (SSPI), Kerberos kimlik doğrulaması için kullanılan ve kimlik doğrulama şeması NTLM Güvenlik Desteği Sağlayıcısı destekleyen Microsoft Windows NT güvenlik arabirimidir. Bir Windows etki alanında oturum açtığınızda kimlik doğrulama işletim sistemi düzeyinde gerçekleşir. Kerberos kimlik doğrulaması, Kerberos kimlik doğrulaması etkin olan ve Active Directory kullanan Windows 2000 tabanlı bilgisayarlarda kullanılabilir.
(http://support.microsoft.com/kb/319723/ )SQL Server'da Kerberos kimlik doğrulaması nasıl kullanılır
SSPI yalnızca Windows kimlik doğrulaması kullanılarak yapılan TCP/IP bağlantıları için kullanılır. Windows kimlik doğrulaması da güvenilir bağlantıları veya tümleşik güvenlik denir. SSPI, adlandırılmış kanallar veya birden fazla iletişim kuralı bağlantıları tarafından kullanılmaz. Bu nedenle, Protokolü TCP/IP dışındaki bağlanmak için istemcileri yapılandırarak sorunu önleyebilirsiniz.
SQL Server çalıştıran bir uzak bilgisayara TCP/IP Yuvaları üzerinden tümleşik güvenliği kullanmak SQL Server istemci çalıştığında SQL Server istemci ağ kitaplığını güvenlik temsil yapabilmesi için SSPI API'sini kullanır. SQL Server ağ istemcisi (Dbnetlib.dll), AcquireCredentialsHandle işlevine bir çağrı yapar ve "pszPackage parametresi için anlaşma içinde" geçirir. Bunu gerçekleştirmek için temel güvenlik sağlayıcı bildirir temsilcilik anlaşması. Bu bağlamda, Kerberos veya NTLM kimlik doğrulaması Windows tabanlı bilgisayarlarda denemek için yol anlaşır. Başka bir deyişle, SQL Server çalıştıran hedef bilgisayarda ilişkili, doğru şekilde yapılandırılmış bir SPN varsa Windows Kerberos temsilcisi kullanın. Aksi takdirde, Windows NTLM temsilci kullanın.
Not Herhangi bir SQL Server Hizmetleri (MSSQLServer SQLServerAgent, MSSearch) başlatmak için "SYSTEM" adlı bir hesap kullanmıyorsanız doğrulayın. SYSTEM anahtar sözcüğü Anahtar Dağıtım Merkezi (KDC) ile çakışmalara neden.
Bu resmi kapatBu resmi aç
Microsoft Müşteri Destek (CSS) servis talebini açmak için bilgi toplama
Bu makaledeki sorun giderme adımlarını kullanarak sorunun nedenini sağlayamıyorsanız, aşağıdaki bilgileri toplamak ve Microsoft Müşteri Destek (CSS) servis talebini açın.
Bu resmi kapatBu resmi aç
Microsoft müşteri destek telefon numaraları ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesine bakın:
http://support.microsoft.com/contactus/?ws=support
(http://support.microsoft.com/contactus/?ws=support)
BaşvurularNasıl Kerberos kimlik doğrulaması ve SSPI güvenlik works'ı Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını hakkında daha fazla bilgi için:
266080
(http://support.microsoft.com/kb/266080/ )Sık sorulan soruların Kerberos kimlik doğrulaması
231789
(http://support.microsoft.com/kb/231789/ )Windows 2000 için yerel oturum açma işlemi
304161
(http://support.microsoft.com/kb/304161/ )SSPI karşılıklı kimlik doğrulaması istemci tarafında, ancak sunucu tarafında gösterilir.
232179
(http://support.microsoft.com/kb/232179/ )Windows 2000'de Kerberos Yönetim
230476
(http://support.microsoft.com/kb/230476/ )Windows 2000'de Kerberos ile ilgili sık karşılaşılan hatalar açıklaması
262177
(http://support.microsoft.com/kb/262177/ )Kerberos olay günlüğünü etkinleştirme
277658
(http://support.microsoft.com/kb/277658/ )Etki alanı adı burada SQL Server SPN kayıtlı NetBIOS adından farklıysa Setspn başarısız olur.
244474Microsoft SQL Server 2000 güvenlik konusunda teknik incelemesine bakın, aşağıdaki Microsoft Web sitesine gidin:
(http://support.microsoft.com/kb/244474/ )Kerberos, Windows Server 2003, Windows XP ve Windows 2000 UDP yerine TCP kullanmaya zorlama
http://technet.microsoft.com/en-us/cc984178.aspx
(http://technet.microsoft.com/en-us/cc984178.aspx)
Bu resmi kapatBu resmi aç
Makale numarası: 811889 - Last Review: 11 Ocak 2015 Pazar - Gözden geçirme: 6.0
Bu makaledeki bilginin uygulandığı durum:
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 811889
(http://support.microsoft.com/kb/811889/en-us/ )

