Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri
Bu makalede, Machine Learning Services ile kullanılan SQL Server Launchpad hizmetiyle ilgili sorunlar için sorun giderme yönergeleri sağlanır. Launchpad hizmeti R ve Python için dış betik yürütmeyi destekler. Yapılandırma sorunları veya değişiklikler ya da eksik ağ protokolleri de dahil olmak üzere birden çok sorun Başlatma Çubuğu'un başlatılmasını engelleyebilir.
Launchpad'in çalışıp çalışmadığını belirleme
SQL Server Yapılandırma Yöneticisi açın. Komut satırından SQLServerManager13.msc, SQLServerManager14.msc veya SQLServerManager15.msc yazın.
Launchpad'in altında çalıştığı hizmet hesabını not edin. R veya Python'ın etkinleştirildiği her örneğin kendi Launchpad hizmeti örneği olmalıdır. Örneğin, adlandırılmış örneğin hizmeti MSSQLLaunchpad$InstanceName gibi bir şey olabilir.
Hizmet durdurulursa yeniden başlatın. Yeniden başlatma sırasında, yapılandırmayla ilgili herhangi bir sorun varsa, sistem olay günlüğünde bir ileti yayımlanır ve hizmet yeniden durdurulur. Hizmetin neden durdurulduğu hakkında ayrıntılı bilgi için sistem olay günlüğüne bakın.
RSetup.log içeriğini gözden geçirin ve kurulumda hata olmadığından emin olun. Örneğin, 0 koduyla çıkılması , hizmetin başlatılamamasına işaret eder.
Diğer hataları aramak için rlauncher.log içeriğini gözden geçirin.
Launchpad hizmet hesabını denetleyin
Varsayılan hizmet hesabı "NT Service$SQL2016", "NT Service$SQL2017" veya "NT Service$SQL2019" olabilir. Son bölüm, SQL örneğinizin adına bağlı olarak değişebilir.
Launchpad hizmeti (Launchpad.exe) düşük ayrıcalıklı bir hizmet hesabı kullanılarak çalışır. Ancak R ve Python'ı başlatmak ve veritabanı örneğiyle iletişim kurmak için Launchpad hizmet hesabı aşağıdaki kullanıcı haklarını gerektirir:
- Hizmet olarak oturum aç (SeServiceLogonRight)
- İşlem seviyesindeki belirteci değiştirme (SeAssignPrimaryTokenPrivilege)
- Çapraz geçiş denetimini atlama (SeChangeNotifyPrivilege)
- İşlem için bellek kotalarını ayarlama (SeIncreaseQuotaSizePrivilege)
Bu kullanıcı hakları hakkında bilgi için Windows hizmet hesaplarını ve izinlerini yapılandırma bölümündeki "Windows ayrıcalıkları ve hakları" bölümüne bakın.
Tavsiye
SQL Server tanılamaları için Destek Tanılama Platformu (SDP) aracının kullanımını biliyorsanız, MachineName_UserRights.txtadlı çıktı dosyasını gözden geçirmek için SDP'yi kullanabilirsiniz.
Başlatma Çubuğu kullanıcı grubu yerel olarak oturum açamıyor
Machine Learning Services kurulumu sırasında SQL Server, Windows kullanıcı grubu SQLRUserGroup'u oluşturur ve launchpad'in SQL Server'a bağlanması ve dış betik işlerini çalıştırması için gerekli tüm hakları sağlar. Bu kullanıcı grubu etkin olduğunda, Python betiklerini yürütmek için de kullanılır.
Ancak, daha kısıtlayıcı güvenlik ilkelerinin uygulandığı kuruluşlarda, bu grubun gerektirdiği haklar el ile kaldırılmış veya ilke tarafından otomatik olarak iptal edilmiş olabilir. Haklar kaldırılmışsa, Launchpad artık SQL Server'a bağlanamaz ve SQL Server dış çalışma zamanını çağıramaz.
Sorunu düzeltmek için SQLRUserGroup grubunun sistem hakkının Yerel olarak oturum açmaya izin ver olduğundan emin olun.
Daha fazla bilgi için bkz. Windows hizmet hesaplarını ve izinlerini yapılandırma.
Harici komutları çalıştırmak için izinler
Launchpad doğru yapılandırılmış olsa bile, kullanıcının R veya Python betiklerini çalıştırma izni yoksa hata döndürür.
SQL Server'ı veritabanı yöneticisi olarak yüklediyseniz veya veritabanı sahibiyseniz, size otomatik olarak bu izin verilir. Ancak, diğer kullanıcıların genellikle daha sınırlı izinleri vardır. R betiğini çalıştırmaya çalışırlarsa Başlatma Çubuğu hatası alır.
Sorunu düzeltmek için SQL Server Management Studio'da bir güvenlik yöneticisi aşağıdaki betiği çalıştırarak SQL oturum açma veya Windows kullanıcı hesabını değiştirebilir:
GRANT EXECUTE ANY EXTERNAL SCRIPT TO <username>
Daha fazla bilgi için bkz. GRANT (Transact-SQL.
Yaygın Başlatma Çubuğu hataları
Bu bölümde Launchpad'in döndürdüğü en yaygın hata iletileri listelenir.
"R betiği çalıştırılamıyor"
R kullanıcıları için Windows grubu (Python için de kullanılır) R Hizmetleri çalıştıran örnekte oturum açamıyorsa aşağıdaki hataları görebilirsiniz:
R betiklerini çalıştırmaya çalıştığınızda oluşan hatalar:
'R' betiği için çalışma zamanı başlatılamıyor. Lütfen 'R' çalışma zamanının yapılandırmasını denetleyin.
Bir dış betik hatası oluştu. Çalışma zamanı başlatılamıyor.
SQL Server Launchpad hizmeti tarafından oluşturulan hatalar:
Başlatıcı RLauncher.dllbaşlatılamadı
Hiçbir başlatıcı dll'si kaydedilmedi!
Güvenlik günlükleri, NT SERVICE hesabının oturum açamadığını gösterir
Bu kullanıcı grubuna gerekli izinleri verme hakkında bilgi için bkz. SQL Server R Services'ı yükleme.
Uyarı
Uzak bir iş istasyonundan R betiklerini çalıştırmak için SQL oturum açma bilgilerini kullanırsanız bu sınırlama geçerli değildir.
"Oturum açma hatası: kullanıcıya istenen oturum açma türü verilmedi"
Varsayılan olarak, SQL Server Launchpad başlangıçta şu hesabı kullanır: NT Service\MSSQLLaunchpad. Hesap, SQL Server kurulumu tarafından tüm gerekli izinlere sahip olacak şekilde yapılandırılır.
Launchpad'e farklı bir hesap atarsanız veya hak SQL Server makinesindeki bir ilke tarafından kaldırılırsa, hesap gerekli izinlere sahip olmayabilir ve şu hatayı görebilirsiniz:
ERROR_LOGON_TYPE_NOT_GRANTED 1385 (0x569) Oturum açma hatası: kullanıcıya bu bilgisayarda istenen oturum açma türü verilmedi.
Yeni hizmet hesabına gerekli izinleri vermek için Yerel Güvenlik İlkesi uygulamasını kullanın ve hesap üzerindeki izinleri aşağıdaki izinleri içerecek şekilde güncelleştirin:
- Bir işlem için bellek kotalarını ayarla (SeIncreaseQuotaPrivilege)
- Çapraz geçiş denetimini atlama (SeChangeNotifyPrivilege)
- Hizmet olarak oturum aç (SeServiceLogonRight)
- İşlem seviyesindeki belirteci değiştirme (SeAssignPrimaryTokenPrivilege)
"Launchpad hizmetiyle iletişim kurulamıyor"
Makine öğrenmesini yüklediyseniz ve etkinleştirdiyseniz ancak R veya Python betiğini çalıştırmayı denediğinizde bu hatayı alırsanız, örneğin Launchpad hizmeti çalışmayı durdurmuş olabilir.
Windows komut isteminden SQL Server Configuration Manager'ı açın. Daha fazla bilgi için bkz. SQL Server Configuration Manager.
Örnek için SQL Server Launchpad'e sağ tıklayın ve özellikler'i seçin.
Hizmet sekmesini seçin ve hizmetin çalıştığını doğrulayın. Çalışmıyorsa Başlangıç Modu'nuOtomatik olarak değiştirin ve Uygula'yı seçin.
Hizmetin yeniden başlatılması genellikle makine öğrenmesi betiklerinin çalışabilmesi için sorunu çözer. Yeniden başlatma işlemi sorunu çözmezse , İkili Yol özelliğindeki yolu ve bağımsız değişkenleri not alın ve aşağıdakileri yapın:
a. Başlatıcının .config dosyasını gözden geçirin ve çalışma dizininin geçerli olduğundan emin olun.
b. Launchpad tarafından kullanılan Windows grubunun SQL Server örneğine bağlanadığından emin olun.
ç. Hizmet özelliklerinden herhangi birini değiştirirseniz Launchpad hizmetini yeniden başlatın.
"TmpFile oluşturma işlemi önemli hatayla başarısız oldu"
Bu senaryoda makine öğrenmesi özelliklerini başarıyla yüklediniz ve Launchpad çalışıyor. Bazı basit R veya Python kodlarını çalıştırmaya çalışırsınız, ancak Başlatma Çubuğu aşağıdaki gibi bir hatayla başarısız olur:
R betiği için çalışma zamanıyla iletişim kurulamıyor. Lütfen R çalışma zamanının gereksinimlerini denetleyin.
Aynı zamanda, dış betik çalışma zamanı STDERR iletisinin bir parçası olarak aşağıdaki iletiyi yazar:
Önemli hata: tmpfile oluşturulamadı.
Bu hata, Launchpad'in kullanmaya çalıştığı hesabın veritabanında oturum açma izni olmadığını gösterir. Katı güvenlik ilkeleri uygulandığında bu durum oluşabilir. Bunun olup olmadığını belirlemek için SQL Server günlüklerini gözden geçirin ve oturum açma sırasında MSSQLSERVER01 hesabının reddedilip reddedildiğini denetleyin. Aynı bilgiler, R_SERVICES veya PYTHON_SERVICES'e özel günlüklerde sağlanmaktadır. ExtLaunchError.log arayın.
Varsayılan olarak, MSSQLSERVER01'den MSSQLSERVER20'ye kadar olan adlarla 20 hesap kurulur ve Launchpad.exe işlemiyle ilişkilendirilir. R veya Python'ı yoğun bir şekilde kullanıyorsanız hesap sayısını artırabilirsiniz.
Sorunu çözmek için grubun makine öğrenmesi özelliklerinin yüklendiği ve etkinleştirildiği yerel örnekte Yerel Olarak Oturum Açmaya İzin Ver izinlerine sahip olduğundan emin olun. Bazı ortamlarda, bu izin düzeyi ağ yöneticisinden bir GPO özel durumu gerektirebilir.
"Bu komutu işlemek için yeterli kota yok"
Bu hata birkaç şeyden biri olabilir:
Launchpad, dış sorguyu çalıştırmak için yeterli dış kullanıcıya sahip olmayabilir. Örneğin, eşzamanlı olarak 20'den fazla dış sorgu çalıştırıyorsanız ve yalnızca 20 varsayılan kullanıcı varsa, bir veya daha fazla sorgu başarısız olabilir.
R görevini işlemek için yeterli bellek yok. Bu hata en çok SQL Server'ın bilgisayar kaynaklarının yüzde 70'ini kullandığı varsayılan bir ortamda oluşur. Sunucu yapılandırmasını R tarafından daha fazla kaynak kullanımını destekleyecek şekilde değiştirme hakkında bilgi için bkz. R kodunuzu kullanıma hazır hale getirme.
"Paket bulunamıyor"
SQL Server'da R kodu çalıştırıp bu iletiyi alırsanız, ancak SQL Server dışında aynı kodu çalıştırdığınızda iletiyi almadıysanız, paket SQL Server tarafından kullanılan varsayılan kitaplık konumuna yüklenmemiş demektir.
Bu hata birçok şekilde oluşabilir:
Sunucuya yeni bir paket yüklediyseniz, ancak erişim reddedildi, bu nedenle R paketi bir kullanıcı kitaplığına yükledi.
R Hizmetleri'ni yükledikten sonra RStudio gibi başka bir R aracı veya kitaplık kümesi yüklemişsinizdir.
Örnek tarafından kullanılan R paketi kitaplığının konumunu belirlemek için SQL Server Management Studio'yu (veya başka bir veritabanı sorgu aracını) açın, örneğe bağlanın ve aşağıdaki saklı yordamı çalıştırın:
EXEC sp_execute_external_script @language = N'R',
@script = N' print(normalizePath(R.home())); print(.libPaths());';
Örnek sonuçlar
Dış betikten STDOUT iletileri:
[1] "C:\Program Files\Microsoft SQL Server\MSSQL13. SQL2016\R_SERVICES"
[1] "C:/Program Files/Microsoft SQL Server/MSSQL13. SQL2016/R_SERVICES/library"
Sorunu çözmek için paketi SQL Server örnek kitaplığına yeniden yüklemeniz gerekir.
Uyarı
Sql Server 2016'nın bir örneğini Microsoft R'nin en son sürümünü kullanacak şekilde yükselttiyseniz, varsayılan kitaplık konumu farklıdır. Daha fazla bilgi için bkz. Varsayılan R kitaplığı konumu.
Eşleşmeyen DLL'ler nedeniyle başlatma çubuğu kapanıyor
Veritabanı altyapısını diğer özelliklerle yükler, sunucuya düzeltme eki ekler ve daha sonra özgün medyayı kullanarak Machine Learning özelliğini eklerseniz, Machine Learning bileşenlerinin yanlış sürümü yüklenmiş olabilir. Launchpad bir sürüm uyuşmazlığı algıladığında kapatılır ve döküm dosyası oluşturulur.
Bu sorunu önlemek için yeni özellikleri sunucu örneğiyle aynı düzeltme eki düzeyinde yüklediğinizden emin olun.
Yükseltmenin yanlış yolu:
- R Services olmadan SQL Server 2016'yu yükleyin.
- SQL Server 2016 Toplu Güncelleştirme 2'ye yükseltin.
- R Services'i (In-Database) RTM medyasını kullanarak yükleyin.
Yükseltmenin doğru yolu:
- R Services olmadan SQL Server 2016'yu yükleyin.
- SQL Server 2016'ya istediğiniz düzeltme eki düzeyine yükseltin. Örneğin, Service Pack 1'i ve ardından Toplu Güncelleştirme 2'yi yükleyin.
- Özelliği doğru düzeltme eki düzeyinde eklemek için SP1 ve CU2 kurulumunu yeniden çalıştırın ve ardından R Services (In-Database) öğesini seçin.
8dot3 gösterimi gerekiyorsa Başlatma Çubuğu başlatılamıyor
Uyarı
Eski sistemlerde, 8dot3 gösterimi gereksinimi varsa Launchpad başlatılamaz. Bu gereksinim sonraki sürümlerde kaldırılmıştır. SQL Server 2016 R Services müşterileri aşağıdakilerden birini yüklemelidir:
- SQL Server 2016 SP1 ve CU1: SQL Server 2016 SP1 için Toplu Güncelleştirme 1.
- SQL Server 2016 RTM, Toplu Güncelleştirme 3 ve istek üzerine sağlanabilen bu düzeltme.
R ile uyumluluk için SQL Server 2016 R Services (In-Database), 8dot3 gösterimi kullanılarak kısa dosya adlarının oluşturulmasını desteklemek için özelliğin yüklü olduğu sürücüyü gerektiriyordu. 8.3 dosya adı kısa dosya adı olarak da adlandırılır ve Microsoft Windows'un önceki sürümleriyle uyumluluk veya uzun dosya adlarına alternatif olarak kullanılır.
R'yi yüklediğiniz birim kısa dosya adlarını desteklemiyorsa, SQL Server'dan R'yi başlatan işlemler doğru yürütülebilir dosyayı bulamayabilir ve Başlatma Çubuğu başlatılmaz.
Geçici bir çözüm olarak, SQL Server'ın yüklü olduğu ve R Services'ın yüklü olduğu birimde 8dot3 gösterimini etkinleştirebilirsiniz. Daha sonra R Services yapılandırma dosyasında çalışma dizininin kısa adını sağlamanız gerekir.
8dot3 gösterimini etkinleştirmek için 8dot3name bağımsız değişkeniyle fsutil komutunu şu şekilde çalıştırın: fsutil 8dot3name.
8dot3 gösterimi etkinleştirildikten sonra RLauncher.config dosyasını açın ve
WORKING_DIRECTORYözelliğini not edin. Bu dosyayı bulma hakkında bilgi için bkz. Machine Learning için veri toplama sorunlarını giderme.fsutil yardımcı programını dosya bağımsız değişkeniyle birlikte kullanarak WORKING_DIRECTORY'de belirtilen klasör için kısa bir dosya yolu belirtin.
yapılandırma dosyasını düzenleyerek WORKING_DIRECTORY özelliğine girdiğiniz çalışma dizinini belirtin. Alternatif olarak, farklı bir çalışma dizini belirtebilir ve 8dot3 gösterimiyle zaten uyumlu olan mevcut bir yolu seçebilirsiniz.
Sonraki Adımlar
Makine öğrenmesi sorunlarını gidermek için veri toplama