Makale numarası: 316989 - Son Gözden Geçirme: 21 Eylül 2007 Cuma - Gözden geçirme: 5.7

SQL Server'a ASP.NET'ten güvenilir veri bağlantısı oluşturduğunuzda hata iletisi: "kullanıcısı için oturum açma başarısız oldu: 'HesapAdı'"

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Güvenli bağlantı Microsoft ASP.NET için Microsoft SQL oluşturduğunuzda, sunucu, aşağıdaki hata iletisini alabilirsiniz:
Oturum açma kullanıcısı için başarısız oldu ' MachineName\ASPNET
ınternet ınformation Services (IIS) 6.0 çalıştıran bilgisayarlar için aşağıdaki hata iletisini alabilirsiniz:
'NT AUTHORITY\NETWORK SERVıCE' kullanıcısı için oturum açma başarısız oldu
Not Özellikle tümleşik güvenlik kullandığınızda aşağıdaki hata iletilerinden birini alıyorsunuz (ettiğinizde Güvenlik tümleşik sspi = bir bağlantı dizesi özniteliği).

Neden

ASP.NET kullandığınızda, varsayılan güvenlik bağlamını ASPNET hesabı (veya NetworkService hesabı, IIS 6. 0'da çalışan bir uygulama için) hem de Aspnet_wp.exe (veya IIS 6. 0'da çalışan bir uygulama için W3wp.exe) içindir ve bu isteği SQL sunucusuna. Varsayılan değer olarak, ASPNET hesabı (veya IIS 6. 0'da çalışan bir uygulama için NetworkService hesabı) SQL Server'da tüm izinlere sahip değil ve bu nedenle veritabanına erişemiyor.

Çözüm

Bu sorunu gidermek için aşağıdaki yöntemlerden birini kullanın:
  • Yöntem 1 Program aracılığıyla ASP.NET güvenlik bağlamını değiştirme SQL Server doğru izinlere sahip bir kullanıcı için bir alt işlem.
  • Yöntem 2 ASP.NET alt işlemi başlatır ve SQL Server'da uygun izinlere sahip bir kullanıcı bağlamında çalıştığı için ASP.NET'in varsayılan yapılandırmayı değiştirin.
  • Yöntem 3 ASPNET hesabı (veya NetworkService hesabı, IIS 6. 0'da çalışan bir uygulama için) gereken kaynaklara uygun erişimi olacak biçimde SQL Server'da doğru izinleri verin.

    Not Bu yöntem Web uygulamalarının sunucu üzerindeki tüm SQL Server çalıştıran bilgisayarda ilgili sağa yapar.

Durum

Bu davranış tasarım yüzündendir.

Daha fazla bilgi

Sorunu yeniden oluşturma adımları

  1. Yeni bir Microsoft Visual Basic .NET Web uygulaması, ASP.NET hem de SQL Server çalıştıran bir bilgisayarda oluşturun.
  2. Proje kullanılarak oluşturulan Webform1.aspx sayfanın Page_Load olayı aşağıdaki kodu ekleyin:
    Dim con As New System.Data.SqlClient.SqlConnection("data source=localhost;integrated security=sspi;database=northwind")
     con.open()
     con.close()
  3. Projeyi derleyin ve Webform1.aspx sayfayı tarayıcıda açın.
  4. "Belirtiler" bölümünde değinilen hata iletisini alırsınız.

Referanslar

Program aracılığıyla ASP.NET çalışan işleminin güvenlik bağlamını değiştirme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
306158  (http://support.microsoft.com/kb/306158/ ) ASP.NET uygulamasında kimliğe bürünme nasıl uygulanır (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)
307002  (http://support.microsoft.com/kb/307002/ ) ASP/ODBC/SQL Server hata 0x80040E4D "kullanıcısı için oturum açma '(null)' başarısız oldu"
253500  (http://support.microsoft.com/kb/253500/ ) ASP'DEN SQL Server'a bağlanırken "İstemci bağlantı kuramadı" hata iletisi
306586  (http://support.microsoft.com/kb/306586/ ) ASP Hata 80004005 "başarısız" oturum açma sorunlarını giderme
247931  (http://support.microsoft.com/kb/247931/ ) Active Server Pages'da SQL Server bağlantıları için kimlik doğrulama yöntemleri (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)
315158  (http://support.microsoft.com/kb/315158/ ) Düzeltme: Bir etki alanı denetleyicisinde Varsayılan ASPNET hesabı ile ASP.NET çalışmıyor
824308  (http://support.microsoft.com/kb/824308/ ) Hata: IWAM hesabının özelliklerini Al ayrıcalığı ASP.NET 1. 1'için SP4 Windows 2000 etki alanı denetleyicisinde atanmadığı
Varsayılan yapılandırması, bir ASP.NET güvenlik bağlamını değiştirme hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms978378.aspx (http://msdn2.microsoft.com/en-us/library/ms978378.aspx)
SQL Server'a ASPNET hesabı ekleme hakkında daha fazla bilgi için SQL Server Books Online'da "Ekleme bir Windows kullanıcı veya grup" konusuna bakın.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.1
  • Microsoft ADO.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft ADO.NET 2.0
Anahtar Kelimeler: 
kbmt kberrmsg kbhttpruntime kbnofix kbprb kbsecurity KB316989 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:316989  (http://support.microsoft.com/kb/316989/en-us/ )