NT AUTHORITY/LOCAL SERVICE Bulunamadı Hatasını Düzeltme

Hata şu:NT YÖNETİMİ/YEREL HİZMETİ bulunamadıSQL Server veri hatası genellikle Visual Studio'da veya Windows Server sürümlerinde belirli görevler gerçekleştirilirken ortaya çıkar. Bazı kullanıcılar bu sorunla yeni sunucu uygulamaları yükledikten sonra veya derleme sırasında karşılaşırlar. Visual Studio uygulamasıBazıları ise yükleyiciyi kullanarak bir hizmet yüklemeye çalışırken bu hatayı görüyor. gelişmiş.

NT YÖNETİMİ/YEREL HİZMETLER Bulunamadı

NT AUTHORITYNETWORK SERVICE hatasına yol açabilecek çeşitli yaygın nedenler vardır ve bu nedenler kullanım senaryonuza bağlı olarak değişir.

Çoğu durumda, ağ yöneticiniz çeşitli nedenlerle belirtilen Windows oturum açma bilgilerini kaldırmış olabilir. Sonuç olarak, SQL Server oturum açma bilgilerine erişim izni veremeyebilirsiniz.

Bu hatayı görmenizin bir diğer nedeni de, SQL Server'da mevcut bir oturum açma işlemiyle aynı güvenlik kimliğine (SID) sahip yeni bir oturum açma işlemi eklemeye çalışmanızdır. Bu durumda da 15401 hata kodunu görmelisiniz.

Ancak, “NT AUTHORITY/LOCAL SERVICE bulunamadı” hatasının, oturum açma işlemi SQL sunucusundan farklı bir etki alanında gerçekleştiğinde veya kullandığınız ada özgü çözümleme mekanizması (WINS, DNS, HOSTS veya LMHOSTS) düzgün yapılandırılmadığında da ortaya çıktığı doğrulanmıştır.

Aşağıda, bu sorundan etkilenen diğer kullanıcıların sorunun özüne inmek için başarıyla kullandığı, kanıtlanmış bir dizi çözüm bulacaksınız.

1. NT AUTHORITYLOCAL SERVICE'in mevcut olup olmadığını ve gerekli izinlere sahip olup olmadığını kontrol edin.

Daha teknik çözümlere geçmeden önce yapmanız gereken ilk şey, hesabın doğru olduğundan emin olmaktır. NT YETKİLİSİYEREL HİZMET Kullanmaya çalıştığınız sistemde zaten mevcut.

Hesabın mevcut olduğunu belirlediyseniz, SQL Server düzeyinde gerekli oturum açma bilgilerini ve ilgili kullanıcıyı oluşturmak için yeterli ayrıcalıklara sahip olduğunuzdan emin olmak için zaman ayırın.

Bu işlem, kullandığınız Windows Server sürümüne bağlı olarak biraz farklılık gösterebilir, ancak genel adımlar her Windows Server sürümünde aynıdır.

İşte yapmanız gerekenler:

  1. Windows Server Essentials Kontrol Paneli.
  2. Ana gezinme çubuğuna gidin ve tıklayın. Kullanıcılar.
    Kullanıcılar sekmesine erişim
  3. Mevcut kullanıcılar listesine göz atın ve adınızla eşleşen bir kayıt olup olmadığını kontrol edin. NT YÖNETİMİ YEREL HİZMETİ.
    Not: Eğer ilgili giriş NT YETKİLİSİYEREL HİZMET Eğer yoksa, hiper bağlantıya tıklayın. Kullanıcı hesabı ekleyin لفتح Kullanıcı hesabı ekleme sihirbazı. Ardından, NT AUTHORITYLOCAL SERVICE için kullanıcı oluşturma yönergelerini izleyin ve adlandırma kuralının doğru olduğundan emin olun.
  4. Hesabın varlığını doğruladıktan sonra, gerekli izinlere sahip olduğundan emin olalım. Bunu yapmak için Hesap'a tıklayın. NT YETKİLİSİYEREL HİZMET içinde Kullanıcılar, Ardından bir sonraki bölüme geçin. Görevler Ve tıklayın Özellikler.
  5. Ardından sekmeye gidin Genel, Sonra sekme Paylaşılan klasörler, Sonra sekme Her yerden erişim Kullanım senaryonuza bağlı olarak bu hesabın ihtiyaç duyduğu tüm izinleri etkinleştirin. Gerekli hesap izinlerini etkinleştirin.
  6. Değişiklikleri kaydedin ve daha önce "NT AUTHORITY/LOCAL SERVICE bulunamadı" hatasına neden olan işlemi tekrarlayın; sorun artık çözülmüş olmalıdır.

Kullanıcı hesabının oluşturulmasını zaten onayladıysanız NT YETKİLİSİYEREL HİZMET Gerekli izinlere sahip olduğundan emin olduktan sonra, aşağıdaki bir sonraki yönteme geçin.

2. SQL Server için bir oturum açma hesabı oluşturun (varsa).

Visual Studio projesinde SQL Server veri katmanı uygulamasını kullanırken bu hatayla karşılaşırsanız, büyük olasılıkla bu hatayı, ekleme işlemini gerçekleştiren betiği oluşturduktan sonra görüyorsunuzdur. NT YETKİLİSİYEREL HİZMET Sunucu Düzeyindeki Nesneler altındaki oturum açma listesine.

Veritabanı düzeyindeki nesneler içinde oturum açma işlemleri oluşturmak ve eklemek için aşağıdaki komut dosyalarını kullanıyorsanız, bu yöntem geçerlidir:

[NT AUTHORITYLOCAL SERVICE] WINDOWS'TAN DEFAULT_LANGUAGE=[us_english] İLE GİRİŞ YAPMAYA BAŞVURUN [NT AUTHORITYLOCAL SERVICE] İÇİN GİRİŞ YAPMAYA BAŞVURUN [NT AUTHORITYLOCAL SERVICE] KULLANICISI YAPMAYA BAŞVURUN

Bu durumda, projeyi derlemeye çalışırken büyük olasılıkla bir hata mesajıyla karşılaşıyorsunuz. “NT AUTHORITYLOCAL SERVICE bulunamadı çünkü mevcut değil veya izin verilmemiş.”.

Eğer bu durum sizin için geçerliyse, [NT AUTHORITYLOCAL SERVICE] oturum açma işlemi oluşturamamanızın nedeni şudur: NT YETKİLİSİYEREL HİZMET Bu durumda, söz konusu olan basitçe yerleşik bir Windows hizmet hesabıdır. SQL Server'daki her hizmetin başlatılabilmesi ve çalışabilmesi için kurulum sırasında tanımlanmış bir hesaba sahip olması gerekir.

SQL Server başlangıç ​​hesapları, yerleşik sistem hesapları, yerel kullanıcı hesapları veya etki alanı kullanıcı hesapları olabilir. Yerel hizmet hesabı, grup üyeleriyle aynı kaynaklara ve nesnelere erişimi olan yerleşik bir hesaptır. KullanıcılarBu kısıtlı erişim, belirli hizmetlerin veya süreçlerin tehlikeye girmesi durumunda sistemi korumayı amaçlamaktadır.

Yerel hizmet hesabı olarak faaliyet gösteren hizmetler Boş bir oturum, ağ kaynaklarına erişmek için kullanılır..

ÖnemliSQL Server veya SQL Server Agent hizmetlerinin yerel hizmet hesabını desteklemediğini unutmayın. Hesabın tam adı “NT AUTHORITY/LOCAL SERVICE” şeklindedir.

Bu sorunu aşmak için, Transact-SQL aracılığıyla Windows kimlik doğrulamasını kullanan bir SQL Server oturum açma işlemi oluşturmanız gerekecektir.

Bunu yapmak için öncelikle Windows'ta bir kullanıcı oluşturun, ardından Sorgu Düzenleyici'yi kullanarak aşağıdaki Transact-SQL komutunu açın ve oturum açma adının Windows kullanıcı adınızla aynı olduğundan emin olun:

GİRİŞ OLUŞTUR Windows'tan; Git

Not: Şunu aklınızda bulundurun ki Bu sadece bir yer tutucu. Lütfen bunu Windows kullanıcısının gerçek adıyla değiştirin.

3. SQL'e doğru izinleri ekleyin (varsa).

Bu sorunla karşılaşmanızın bir diğer nedeni de, SQL'de NT AUTHORITY/LOCAL SERVICE için doğru izinleri eklememiş olmanız ve yalnızca klasöre kontrol yetkisi vermiş olmanız olabilir.

Bu sorunu çözmek için SQL Server Management Studio'yu (Enterprise Manager) açmanız ve bağlanmaya çalıştığınız SQL örneğini incelemeniz gerekecektir. Oradan, şu adımları izlemeniz gerekecek: Güvenlik > Girişler Windows kimlik doğrulama yöntemini kullanarak yeni bir oturum açma işlemi oluşturun. NT YÖNETİMİ/YEREL HİZMET.

İşte bunu nasıl yapacağınıza dair kısa bir rehber:

  1. Başlangıç ​​sayfasını açın ve ' yazın.ssm'ler'.
  2. Sonuç listesinden seçin Microsoft SQL Sunucu Yönetim Stüdyosu. SQL yönetim stüdyosunu açın.
  3. Microsoft SQL Server Management Studio aracına girdikten sonra, hataya neden olan belirli SQL örneğine gidin.
  4. Belirtilen SQL örneğine başarıyla eriştikten sonra, ona göz atın. Güvenlik > Girişler (filtrelenmiş). Giriş bilgileri klasörüne erişim
  5. Birincil öğeye sağ tıklayın, ardından tıklayın. Windows kimlik doğrulaması.
  6. Sonra yaz 'NT YÖNETİMİ/YEREL HİZMET' Doğru SQL izinlerini oluşturduğunuzdan emin olun.
  7. Henüz yapmadıysanız, bu yeni hesaba uygun izinleri eklediğinizden emin olun.
    Not: Şuraya dön: Yöntem 1 Belirli adımları elde etmek için.
  8. Daha önce soruna neden olan işlemi tekrarlayın ve sorunun çözülüp çözülmediğini kontrol edin.

4. SQL Server veritabanını yeniden oluşturun (mümkünse).

SQL Server hizmetinde "Oturum açma kullanıcısı"nı NT AUTHORITY/LOCAL SERVICE olarak değiştirmeyi denediyseniz ve sorun çözülmediyse, aşağıdaki yöntemi kullanarak sorunu çözebilirsiniz. Yükleyiciyi İndir SQL veritabanını yeniden oluşturmadan ve dosyaları tekrar kopyalamadan önce onaltılık adı çıkarmak için.

İşte bunu nasıl yapacağınıza dair kısa bir rehber:

  1. İndirdiğiniz yükleyiciyi çalıştırın ve dosyaların varsayılan konuma çıkarılmasını bekleyin.
    Not: Çıkarılan dosya, uzun bir onaltılık adla işletim sisteminizin sürücüsünün kök dizinine (büyük olasılıkla C:/) yayınlanacaktır.
  2. Çıkarma işlemi tamamlandıktan sonra, sonraki işlemin içeriğini silmesini önlemek için tüm dosyaları farklı bir klasöre kopyalamak için zaman ayırın.
  3. Yükleyiciyi kapatın.
    Not: Bunu yaptıktan sonra, 2. adımda oluşturduğunuz onaltılık klasörün içeriği silinecektir.
  4. basın Windows tuşu + R Bir iletişim kutusu açmak için koşmak.
  5. Sonra yaz 'Cmd' Ve basın Ctrl + Üst Karakter + Enter için Yönetici ayrıcalıklarıyla bir komut istemi açın. Hizmetkarınıza. Yönetici ayrıcalıklarıyla bir Komut İstemi penceresi açın.
  6. göründüğünde Kullanıcı Hesabı Kontrolü (UAC), Tıklayın نعم Yöneticinin yetkilerini vermek.
  7. kullanım CD Daha önce çıkardığınız dosyaları (3. adımda) kaydettiğiniz konuma gitmek için. İşte bir örnek:
    CD C:23420247290247292740

    Not: Bu sadece bir örnek kod parçasıdır. Dosyaları kaydettiğiniz gerçek konuma (3. adımda) gitmek için yukarıdaki komutu değiştirin.

  8. Doğru konuma ulaştıktan sonra, veritabanını yeniden oluşturmak ve yeniden yapılandırmak için aşağıdaki komutu çalıştırın:
    kurulum /işlem=Veritabanını Yeniden Oluştur /ÖrnekAdı=SQLEXPRESS /SqlSysAdminAccounts=BUILTINAdministrators
  9. Komut İstemi'ni (CMD) yönetici ayrıcalıklarıyla kapatın ve 'NT AUTHORITY/LOCAL SERVICE bulunamadı' hatasına neden olan işlemi tekrarlayarak sorunun çözülüp çözülmediğini kontrol edin.

5. MachineGUID'yi yapılandırın ve SQL hizmetini yeniden başlatın.

SQL Server'ınızı başlatmaya çalışırken bu hatayla karşılaştıysanız ve sorun yerleşik oturum açma yöntemini Yerel Hizmet'ten Yerel Sistem'e değiştirdikten sonra ortaya çıkmaya başladıysa, sorun büyük olasılıkla artık doğru yolu göstermeyen bir MachineGUID kayıt defteri anahtarından kaynaklanmaktadır.

Benzer bir durumla karşılaşan diğer kullanıcılar, soruna neden olan anahtarın yedeğini aldıktan sonra yolu değiştirip SQL hizmetini yeniden başlatarak sorunu çözebildiklerini doğruladılar.

İşte bunu nasıl yapacağınıza dair kısa bir rehber:

  1. Bir tuşa basın Windows + R Bir iletişim kutusu açmak için تشغيل.
  2. Sonra yaz 'regedit' Ve basın Ctrl + Üst Karakter + Enter لفتح Kayıt düzenleyici Yönetici yetkileriyle. Kayıt Defteri Düzenleyicisini Açma
  3. Bir pencere göründüğünde Kullanıcı Hesabı Denetimi (UAC), Tıklayın نعم Yöneticinin yetkilerini vermek.
  4. içeride Kayıt düzenleyiciAşağıdaki konuma gitmek için sol taraftaki menüyü kullanın:
    HKLMSOFTWAREMicrosoftCryptographyMachineGuid
  5. Doğru konumu bulduktan sonra, soruna neden olan anahtarı belirleyin. Bu anahtar, etkilenen cihazın GUID'sini süslü parantezler içinde içermelidir (örneğin: {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
  6. Etkilenen cihazı doğru bir şekilde belirledikten sonra, bir yedekleme oluşturmamız gerekiyor. Bunu yapmak için, cihaz anahtarının seçili olduğundan emin olun, ardından üstteki dosya çubuğunu kullanarak şu konuma gidin... dosya Ve tıklayın ihracat. Dosyayı dışa aktarma
  7. Bir konum belirtin, tanınabilir bir dosya adı verin ve dosyanın ayarlanmış olduğundan emin olun. Kayıt türü إلى Kayıt defteri dosyaları (*.reg).
  8. Son olarak, tıklamadan önce... KaydetAyarladığınızdan emin olun. Dışa aktarma kapsamı إلى Belirli şube Ve doğru şubenin belirtildiğinden emin olun. Belirli dalın dışa aktarılması
  9. Tıklayın Kaydet Yedekleme işlemini tamamlamak için.
  10. Yedekleme işlemi tamamlandıktan sonra, soruna neden olan anahtarı yeniden adlandırın ve parantezleri kaldırın.
    Not: Değer değişmelidir MachineGuid Of {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} إلى xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
  11. Bu değişiklik uygulandıktan sonra, Kayıt Defteri Düzenleyicisini kapatın, sistemi yeniden başlatın ve ardından SQL hizmetini başlatın. Önemli: Hizmet hemen başlamazsa, yeniden başlatmadan önce SQL'i kaldırıp yeniden yükleyin. Farklı bir hata alırsanız, 8. adımda oluşturduğunuz orijinal yedeklemeyi geri yükleyin ve aşağıdaki bir sonraki yönteme geçin.

6. Kullanıcı atamalarını değiştirin

ASP.NET kullanarak SQL Server'dan veri çekmeye çalışırken 'NT AUTHORITY/LOCAL SERVICE bulunamadı' hatasıyla karşılaşırsanız, yerel nedenleri düzeltmenin hızlı bir yolu, kullanıcı eşlemesini doğru değerlere değiştirmektir.

Not: Bu çözüm, SQL Server Management Studio için yerel bir veritabanı kullanıyorsanız ve bu veritabanına bir ASP.NET uygulaması kullanarak veri girmeye çalışıyorsanız etkilidir.

Girdiğiniz verileri ve kodun tamamını iyice kontrol ettiyseniz ancak yine de hata alıyorsanız, SQL Server Management Studio'yu kullanarak Oturum Açma sayfasına erişmek ve Özellikler ekranından şu anda atanmış Kullanıcı Eşleştirmelerini değiştirmek için aşağıdaki yönergeleri izleyin.

İşte bunu nasıl yapacağınıza dair hızlı, adım adım bir rehber:

  1. Klavyenizdeki Başlat tuşuna basın, ardından ' yazın.ssm'lerBaşlangıç ​​sayfasında.
  2. Sonuç listesinden seçin Microsoft SQL Sunucu Yönetim Stüdyosu. SQL Server Yönetim Stüdyosunu Açın
  3. Ardından, 'NT AUTHORITY/LOCAL SERVICE bulunamadı' hatasına neden olan sunucuya giriş yapın.
  4. Adresine git GüvenlikArdından alt bölüme girin. Girişler.
  5. Seçenekler menüsünden NT'ye sağ tıklayın. OTORİTE AĞI HİZMETİ أو NT YETKİLİSİYEREL HİZMET (Kullanım senaryonuza bağlı olarak) ve tıklayın. Özellikler Bağlam menüsünden. Yerel hizmetin özellikler ekranına erişim.
  6. Ekrana girdikten sonra Giriş Özellikleriseçin Kullanıcı Eşleştirmeleri Ekranın sol üst köşesinden.
  7. Sağ tarafta bir liste göreceksiniz. Veritabanı rolleriOnay kutusunun seçili olduğundan emin olun. veritabanı sahibi, Sonra tıklayın TAMAM.
  8. Daha önce soruna neden olan kodu yeniden çalıştırın ve sorunun çözülüp çözülmediğini kontrol edin.

7. Sistem yöneticisi rolü ayrıcalıklarını verin (uygunsa).

Yerel olarak oluşturulmuş bir uygulamanın veritabanına erişmeye çalışırken bu hatayla karşılaşırsanız, öncelikle mevcut yapılandırmanın NT AUTHORITY/LOCAL SERVICE'in çalışmasına izin verip vermediğini kontrol etmelisiniz. Sistem yöneticisinin rolü.

Bunu açarak yapabilirsiniz. Microsoft SQL Sunucu Yönetim Stüdyosu NT AUTHORITY/LOCAL Service özelliklerini değiştirerek sysadmin rolünü etkinleştirin.

İşte bunu nasıl yapacağınıza dair kısa bir rehber:

  1. Bir tuşa basın hiç Klavyede ' tuşuna basın.ssm'lerBaşlangıç ​​sayfasında.
  2. Sonuç listesinden seçin Microsoft SQL Sunucu Yönetim Stüdyosu. Open SQL Management Studio
  3. Bundan sonra şu adrese gidin: الأمان ve listeyi genişlet Giriş yapmak.
  4. Sağ tıklayın NT Otoritesi/Yerel Sistem Sonra tıklayın Özellikleri Bağlam menüsünden.
  5. Özellikler ekranında, üzerine tıklayın. Hizmetçi rolleri Soldaki kenar çubuğundan.
  6. Sağ tarafa gidin ve ilgili kutunun işaretli olduğundan emin olun. sysadmin. Sunucu rolü değişikliği
  7. Değişiklikleri kaydedin, ardından cihazınızı yeniden başlatın ve sorunun çözülüp çözülmediğini kontrol edin.

Herhangi bir nedenle Microsoft SQL Server Management Studio'ya erişemiyorsanız, bu düzeltmeyi yönetici ayrıcalıklarıyla bir komut isteminden de uygulayabilirsiniz (erişim ayrıcalıklarınız izin veriyorsa).

Bunu nasıl yapacağınız aşağıda açıklanmıştır:

  1. Bir tuşa basın Windows + R Bir iletişim kutusu açmak için تشغيل.
    Sonra yaz 'Cmd' Ve basın Ctrl + Üst Karakter + Enter لفتح Kayıt düzenleyici Yönetici yetkileriyle. CMD komut istemini açın.
  2. Bir iddia ortaya çıktığında Kullanıcı Hesabı Denetimi (UAC), Click نعم Yöneticinin yetkilerini vermek.
  3. Yönetici ayrıcalıklarıyla çalışan bir komut isteminde, sorun çıkaran belirli sunucuya erişmek için aşağıdaki komutu yazın (ve yer tutucuyu değiştirin):
    sqlcmd -S (*sunucu adı*)

    Not: Düzenlemeyi unutmayın. *Sunucu Adı* Sizin özel durumunuzda, sunucunun gerçek adıyla.

  4. Ardından aşağıdaki komutu yazın ve Enter tuşuna basın. Keşfet Bilgisayarınızdaki SQL sunucusuna erişmek için:
    SELECT name FROM sys.server_principals WHERE name = 'NT AUTHORITYSYSTEM'
  5. Ardından, sonucu almak ve kullanmak için aşağıdaki komutu yazın. Sıralama prosedürü Hakların ekleneceği yer sistem yöneticisi Ona:
    SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
  6. Her iki sorun da başarıyla çözüldükten sonra, yükseltilmiş Komut İstemi'ni (CMD) kapatın ve 'NT AUTHORITY/LOCAL SERVICE bulunamadı' hatasına neden olan işlemi tekrarlayın.

8. Sunucu dilini İngilizce olarak değiştirin (uygulanabilirse).

Eğer 'NT AUTHORITY/LOCAL SERVICE cannot be found' hatasıyla karşılaşırsanız Gelişmiş Yükleyici NT AUTHORITYLOCAL SERVICE'i çağırmak, yabancı sunucuları etkileyen bir arızanın belirtisi olabilir.

Bu sorun, bazı Advanced Installer kullanıcılarının XUA Automation Server hizmetini Hizmetler ekranı üzerinden manuel olarak çalıştırmaya çalıştıklarında veya yalnızca kullanıcı adını yazarak (NT Authority olmadan) manuel olarak çalıştırmaya çalıştıklarında doğrulanmaktadır.

Not: Bu sorun, güvenlik alt sistemi yerel olarak çevrilmiş adları çevirse bile, SCM'nin yerel olarak çevrilmiş adları desteklememesinden kaynaklanmaktadır. Yabancı bir sunucuda hesabınız için yerel olarak çevrilmiş bir ad alacak olsanız da, hesabın şu şekilde olması gerekir: NT AUTHORITYYerelHizmet Örneğin şu işlevleri kullanırken: CreateService أو ChangeServiceConfig.

Bu senaryo geçerliyse, şu ana kadar tek çözüm İngilizce adlandırma kuralını kullanmaktır.

Bu nedenle, yerel sunucu dilindeki komutları (örneğin AUTORITE NTSERVICE LOCAL) kullanmak yerine, İngilizce karşılığını (NT AUTHORITYLocalService) kullanın.

Yoruma kapalı.