bellek dökümü dosyaları oluşturmak için SQL Server Analysis Services yapılandırma
Bu makalede, bellek dökümü dosyalarını otomatik olarak oluşturmak için SQL Server Analysis Services nasıl yapılandırıldığı açıklanır.
Özgün ürün sürümü: SQL Server
Özgün KB numarası: 919711
Giriş
Bu makalede Microsoft SQL Server Analysis Services (SSAS) 2012 veya üzeri derlemelerin özel durumlarla karşılaştığında otomatik olarak farklı bellek dökümü dosyası türleri oluşturacak şekilde nasıl yapılandırıldığı açıklanır. Makalede ayrıca Sqldumper.exe yardımcı programının SQL Server Analysis Services işlemi için bellek dökümü dosyasını el ile almak için nasıl kullanılacağı da özetlenmiştir.
Daha fazla bilgi
Varsayılan olarak, SQL Server Analysis Services bir özel durum oluştuğunda otomatik olarak minidump dosyaları oluşturur. Varsayılan yükleme için minidump dosyaları varsayılan konuma yazılır:
Analysis Services sürümü | Konum |
---|---|
2019 | %ProgramFiles%\Microsoft SQL Server\MSAS15.InstanceName\OLAP\log |
2017 | %ProgramFiles%\Microsoft SQL Server\MSAS14.InstanceName\OLAP\log |
2016 | %ProgramFiles%\Microsoft SQL Server MSAS13.InstanceName\OLAP\log |
2014 | %ProgramFiles%\Microsoft SQL Server MSAS12.InstanceName\OLAP\log |
2012 | %ProgramFiles%\Microsoft SQL Server MSAS11.InstanceName\OLAP\log |
Not
InstanceName, SQL Server Analysis Services sürümüne karşılık gelen değer için bir yer tutucudur.
yüklemeden sonra SQL Server Analysis Services örnek günlük konumu değiştirilebilir, böylece yüklenen SQL Server Analysis Services için msmdsrv.ini dosyasını gözden geçirerek günlük konumunu doğrulayabilirsiniz.
Sistemin karşılık gelen değerini belirlemek için ImagePath kayıt anahtarının değerini belirleyin; msmdsrv.ini içeren Yapılandırma yolunu içermelidir.
Analysis Services sürümü | Kayıt defteri alt anahtarı |
---|---|
Varsayılan Örnek | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServerOLAPService\ImagePath |
Adlandırılmış örnek | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSOLAP$InstanceName\ImagePath |
Minidump dosyaları aşağıdaki bilgileri içerir:
Tüm iş parçacığı yığınları
Yığındaki işaretçiler tarafından başvuruda bulunan ikinci sıra bellek
İşlem Ortamı Bloğu (PEB) hakkında bilgi
İş Parçacığı Ortam Bloğu (TEB) hakkında bilgi
Son kaldırılan modüller hakkında bilgi
İş parçacığı durumu bilgileri
Msmdsrv.ini dosyasındaki Özel Durum bölümü, bellek dökümü dosyası oluşturmayı denetler. Dosya varsayılan olarak klasöründe bulunur %ProgramFiles%\Microsoft SQL Server\MSASxx.InstanceName\OLAP\Config
. MSASxx, SQL Server Analysis Service'e karşılık gelen sürüm için bir yer tutucudur. Dosyayı Not Defteri'nde açtığınızda, Özel Durum XML etiketinde aşağıdakine benzer bir bölüm olduğunu fark edeceksiniz:
<Exception>
<CreateAndSendCrashReports>1</CreateAndSendCrashReports>
<CrashReportsFolder/>
<SQLDumperFlagsOn>0x0</SQLDumperFlagsOn>
<SQLDumperFlagsOff>0x0</SQLDumperFlagsOff>
<MiniDumpFlagsOn>0x0</MiniDumpFlagsOn>
<MiniDumpFlagsOff>0x0</MiniDumpFlagsOff>
<MinidumpErrorList>0xC1000000, 0xC1000001, 0xC1000016, 0xC11D0005, 0xC102003F</MinidumpErrorList>
<ExceptionHandlingMode>0</ExceptionHandlingMode>
<CriticalErrorHandling>1</CriticalErrorHandling>
</Exception>
Bu bölümdeki ayarları değiştirerek bellek dökümü dosyasını oluşturma davranışını denetleyebilirsiniz. Bu ayarları SQL Server Management Studio'da da değiştirebilirsiniz. Bu ayarlar hakkında daha fazla bilgi için SQL Server Management Studio indirme web sitesini ziyaret edin: Günlük Özellikleri.
Analysis Services için otomatik bellek dökümü dosyasını devre dışı bırakma
CreateAndSendCrashReports ayarının değeri, bellek dökümü dosyasının oluşturulup oluşturulmayacağını belirler. Bu ayar, aşağıdaki tabloda listelenen değerlerden birine sahip olabilir.
Değer | Açıklama |
---|---|
0 | Bu değer Analysis Services'in bellek dökümü dosyası oluşturmadığını belirtir. Ayrıca, Özel Durum bölümündeki diğer ayarların değeri yoksayılır. |
1 | Bu varsayılan değer bellek dökümü dosyasını etkinleştirir. Ancak SQL Server Analysis Services Microsoft'a hata raporu göndermez. |
2 | Bu değer, SQL Server Analysis Services bir bellek döküm dosyası oluşturduğunu ve Microsoft'a bir hata raporu gönderdiğini belirtir. |
CreateAndSendCrashReports ayarı 1 veya 2 olarak ayarlandığında, Özel Durum bölümündeki diğer ayarlar bellek dökümü dosyasının türünü ve bellek döküm dosyasına eklenecek bilgileri denetleyebilir.
SQL Server Analysis Services otomatik olarak tam döküm dosyası oluşturacak şekilde yapılandırma
Özel durum oluştuğunda SQL Server Analysis Services otomatik olarak tam döküm dosyası oluşturacak şekilde yapılandırmak için SQLDumperFlagsOn ayarını 0x34 olarak ayarlayabilirsiniz. Ayrıca, SQL Server Analysis Services tanıtıcı bilgilerini içeren tam bir döküm dosyası oluşturacak şekilde yapılandırmak istiyorsanız, SQLDumperFlagsOn ayarını 0x34 ve MiniDumpFlagsOn ayarını 0x4 olarak ayarlayabilirsiniz. Örneğin, Msmdsrv.ini dosyasındaki Özel Durum bölümü aşağıdakine benzer olabilir:
<Exception>
<CreateAndSendCrashReports>1</CreateAndSendCrashReports>
<CrashReportsFolder/>
<SQLDumperFlagsOn>0x34</SQLDumperFlagsOn>
<SQLDumperFlagsOff>0x0</SQLDumperFlagsOff>
<MiniDumpFlagsOn>0x4</MiniDumpFlagsOn>
<MiniDumpFlagsOff>0x0</MiniDumpFlagsOff>
<MinidumpErrorList>0xC1000000, 0xC1000001, 0xC1000016, 0xC11D0005, 0xC102003F</MinidumpErrorList>
<ExceptionHandlingMode>0</ExceptionHandlingMode>
<CriticalErrorHandling>1</CriticalErrorHandling>
</Exception>
İşleme bilgilerini el ile içeren tam döküm dosyası oluşturma
Yanıt vermeyi durduran (kilitleyen) bir sunucu gibi sorunları gidermek için, işleme bilgilerini el ile içeren tam bir döküm dosyası oluşturmak isteyebilirsiniz. Bunu yapmak için komut isteminde aşağıdaki bağımsız değişkenlerle birlikte Sqldumper.exe yardımcı programını çalıştırabilirsiniz:
Sqldumper.exe PID 0 0x34:0x4 0 PathToDumpFile
Not
PID, SQL Server Analysis Services işleminin işlem kimliğini temsil eder. PathToDumpFile, döküm dosyasının yazıldığı klasörü temsil eder.
Bu komutu örneği yüklediğiniz Paylaşılan dizininden çalıştırmanız veya komutta Sqldumper.exe dosyasının tam yolunu belirtmeniz gerekir.
Analysis Services sürümü | Konum |
---|---|
2019 | %ProgramFiles%\Microsoft SQL Server\150\Shared |
2017 | %ProgramFiles%\Microsoft SQL Server\140\Shared |
2016 | %ProgramFiles%\Microsoft SQL Server\130\Shared |
2014 | %ProgramFiles%\Microsoft SQL Server\120\Shared |
2012 | %ProgramFiles%\Microsoft SQL Server\110\Shared |
Örneğin, SQL Server Analysis Services 2019 için sqldumper.exe çalıştırılacak varsayılan dizindirC:\Program Files\Microsoft SQL Server\1590\Shared
.
Ek Bilgi
Çeşitli SQLDumper bayraklarını belirtmek için SQLDumperFlagsOn ayarını kullanabilirsiniz. Aşağıdaki tabloda, bayrak parametresi için değer olarak kullanabileceğiniz bit maskesi değerleri listelenir.
Anımsatıcı adı | Onaltılık değer | Açıklama |
---|---|---|
SQLDUMPER_DBGBREAK | 0x0001 | Bu bayrak, Sqldumper.exe yardımcı programının parametreler ayrıştırıldığında programın başlangıcında DebugBreak API çağrısını çalıştırmasına neden olur. Genellikle, Bayrak yalnızca Sqldumper.exe yardımcı program sorunlarının hatalarını ayıklamak için kullanıldığından, Microsoft Ürün Destek Hizmetleri uzmanları bu bayrağı kullanmaz. Not Bu bayrak Sqldumper.exe işlemine girer. Bu bayrak, Sqldumper.exe yardımcı programının hata ayıklama işlemine girmez. |
SQLDUMPER_NOMINIDUMP | 0x0002 | Bu bayrağı kullandığınızda, Sqldumper.exe yardımcı programı döküm dosyası oluşturmaz. Bu bayrak, Sqldumper.exe yardımcı programını test etmek için kullanılır. |
SQLDUMPER_NOWATSON | 0x0004 | Bu bayrak genellikle döküm dosyalarını el ile oluştururken kullanılır. Bu bayrak, varsayılan hata raporlama davranışını geçersiz kılar. Döküm dosyası varsayılan olarak kayıt defterinde yapılandırılan hata raporlama sitesine gönderilir. |
SQLDUMPER_REFERENCED_MEMORY | 0x0008 | Bu bayrak, Sqldumper.exe yardımcı programının MiniDumpWritedump işlevini çağırdığında MiniDumpType parametresi için MiniDumpWithIndirectlyReferencedMemory bayrağını ayarlamasına neden olur. Yığın tabanlı (parametreler veya yerel değişkenler) işaretçiler için bellek (yalnızca bir düzey) döküm dosyasında depolanır. Test, bu bayrağı ayarladığınızda bile Olasılıksal İmza Düzeni (PSS) ve EC yapıları gibi iş parçacığı yerel depolama (TLS) verilerini temel alan bazı yerel parametrelerin çalışmadığını gösterir. |
SQLDUMPER_ALL_MEMORY | 0x0010 | Bu bayrak, yardımcı program MiniDumpWriteDump işlevini çağırdığında miniDumpType için Sqldumper.exe yardımcı programının MiniDumpType içinMiniDumpWithFullMemory bayrağını ayarlamasına neden olur. Bu davranış, hata ayıklayıcının altındaki .dump /mf komutunu kullanmakla aynıdır. Ancak, tüm iş parçacığı yığınlarının dahil olduğundan emin olmak için SQLDUMPER_DUMP_ALL_THREADS bayrağının da açık olması gerekir. |
SQLDUMPER_DUMP_ALL_THREADS | 0x0020 | Sqldumper.exe yardımcı programını el ile çalıştırdığınızda ve 0 ThreadId parametre değerini belirttiğinizde bu bayrak gerekli değildir. 0 ThreadId parametre değeri, tüm iş parçacıklarının atılması gerektiğini gösterir. Belirli, sıfır olmayan bir ThreadId parametre değeri belirtirseniz ancak bu bayrağı da kullanırsanız, tüm iş parçacıkları döküm dosyasına yazılır. Sqlservr.exe işlemindeki tipik davranış, Sqlservr.exe işlemini oluşturan iş parçacığının geçerli ThreadId özellik değerini geçirmek olduğundan bu bayrak vardır. Bu davranış oluştuğunda, bayrağı tüm iş parçacıklarını döküme alma seçeneği olarak gereklidir. |
SQLDUMPER_MATCH_FILE_NAME | 0x0040 | Sqldumper.exe yardımcı programını belirli bir adlandırma kuralına benzer bir döküm dosyası adı oluşturmaya zorlamak için bu bayrağı kullanabilirsiniz. Bu belirli adlandırma kuralı mevcut bir dosya adını temel alabilir. Kendi programınızda var olan dosya adını içeren özel bir bellek yapısı ayarlamanız ve ardından bu işaretçiyi sqlInfoPtr parametresi olarak Sqldumper.exe yardımcı programına geçirmeniz gerektiğinden, Sqldumper.exe yardımcı programını el ile çalıştırdığınızda bu bayrak yararlı olmaz. |
SQLDUMPER_SKIP_DW_REG_READ | 0x0080 | Bu bayrak, Sqldumper.exe yardımcı programının Dw15.exe programının yürütülmesi için kayıt defterini kullanmasına neden olur. Dw15.exe programı, döküm dosyalarını hata raporlama sitesine yüklemek için kullanılır. |
SQLDUMPER_VERBOSE | 0x0100 | Sqldumper.exe yardımcı programının giriş olarak kullanıldığını düşündüğü parametrelerden emin değilseniz bu bayrak değerli olabilir. Bu bayrağı kullandığınızda, Sqldumper.exe yardımcı programı parametre değerlerini ve komut satırından kaç parametre değeri belirtildiğini görüntüler. |
SQLDUMPER_WAIT_AT_EXIT | 0x0200 | Sqldumper.exe yardımcı programı için hata ayıklayıcı eklemek için bu bayrağı kullanabilirsiniz. Sqldumper.exe yardımcı programıyla ilgili sorunları gidermek için bu hata ayıklayıcıyı kullanabilirsiniz. Bu sorunlar özellikle Sqldumper.exe yardımcı programı Sqlservr.exe veya başka bir program tarafından ortaya çıktığında ortaya çıkabilir. Bu bayrağı ayarladığınızda Sqldumper.exe yardımcı programı, Sqldumper.exe programı var olmadan hemen önce ve diğer tüm işlemler tamamlandıktan sonra 15 saniye boyunca SleepEx işlevini çağırır. |
SQLDUMPER_FILTERED | 0x0800 | Filtrelenmiş döküm dosyası oluşturmak için bu bayrağı kullanabilirsiniz. SQL Server Analysis Services henüz bu bayrağı desteklemiyor. |
MiniDumpFlagsOn ayarını kullanarak minidump bayrakları sağlayabilirsiniz. Aşağıdaki tabloda kullanılabilir minidump bayrakları listelenir:
Seçeneği | Değer | Açıklama |
---|---|---|
MiniDumpNormal | 0x00000000 | Üzerine yazma kullanan tipik bir mini döküm dosyası oluşturun. |
MiniDumpWithDataSegs | 0x00000001 | Tüm yüklenen modüller için bir veri kesimi ekleyin. Yüklenen modüllerin genel değişkenleri almasına bayrak ekleyin. |
MiniDumpWithFullMemory | 0x00000002 | Tam kullanıcı döküm dosyası oluşturun. Bayrak ayarlandığında filtrelenmiş döküm dosyası devre dışı bırakılır. |
MiniDumpWithHandleData | 0x00000004 | Tanıtıcı bilgilerini dahil edin. |
MiniDumpFilterMemory | 0x00000010 | Yığın ve yedekleme deposu belleği, modül listesindeki modüllere yönelik işaretçi başvuruları için taranmalıdır. Kullanıcı SQL Server Analysis Services için bu bayrağı kullanmamalıdır. |
MiniDumpWithUnloadedModules | 0x00000020 | Bu bayrak, son kaldırılan modüller hakkında bilgi sağlar. Bu bayrağı yalnızca Microsoft Windows XP ve Microsoft Windows Server 2003 destekler. İşletim sistemi, Windows Server 2003 Service Pack 1 (SP1) ve Windows XP Service Pack 2 (SP2) tarihine kadar kaldırılmış modüller için bilgi saklamaz. |
MiniDumpWithIndirectlyReferencedMemory | 0x00000040 | Yerel ayarlar veya diğer yığın belleği tarafından başvuruda bulunarak verileri olan sayfaları ekleyin. |
MiniDumpFilterModulePaths | 0x00000080 | Modül yolu modül bilgilerinden çıkarılırsa, bu bayrağı kullanmayın. |
MiniDumpWithProcessThreadData | 0x00000100 | Bu bayrak, İşlem Ortamı Bloğu (PEB) ve İş Parçacığı Ortam Bloğu (TEB) hakkında bilgi sağlar. |
MiniDumpWithPrivateReadWriteMemory | 0x00000200 | Dahil edilecek diğer bellek türleri için sanal adres alanını tarayın. |
MiniDumpWithoutOptionalData | 0x00000400 | Gerekli olmayan bellek bölgelerini ortadan kaldırarak boşaltılan verileri azaltın. Döküm dosyası için belirtilen ölçütleri karşılamak için bunu yapın. Bu bayrağın kullanılması, kullanıcıya özel veriler içerebilecek belleğin dökümünü almaktan kaçınabilir. Ancak, bu hiçbir özel bilgi bulunmayacak bir garanti değildir. Bu bayrağı kullanmayın. |
MiniDumpWithFullMemoryInfo | 0x00000800 | Numaralandırılmış bellek bölgesi açıklayıcı bilgilerini ekleyin. |
MiniDumpWithThreadInfo | 0x00001000 | İş parçacığı durumu bilgilerini ekleyin. |
MiniDumpWithCodeSegs | 0x00002000 | Tüm yüklenen modüller için kod ve kodla ilgili bölümleri ekleyin. |
Başvurular
Sqldumper.exe yardımcı programını kullanarak SQL Server'de döküm dosyası oluşturma
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin