Rumah pangkalan data tutorial mysql DBA应该知道的一些SQL Server跟踪标记

DBA应该知道的一些SQL Server跟踪标记

Jun 07, 2016 pm 05:44 PM
server tanda Tahu trek

跟踪标记是什么? 对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这些标记可以让你更好的控制SQL Server的行为。 下面是官方对于Trace Flag的标记

跟踪标记是什么?

    对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这些标记可以让你更好的控制SQL Server的行为。

下面是官方对于Trace Flag的标记:

    跟踪标记是一个标记,用于启用或禁用SQL Server的某些行为。

 

    由上面的定义不难看出,虚拟主机,Trace Flag是一种用来控制SQL Server的行为的方式。很多DBA对Trace Flag都存在一些误区,认为只有在测试和开发环境中才有可能用到Trace Flag,这种想法只能说部分正确,因此对于Trace Flag可以分为两类,适合在生产环境中使用的和不适合在生产环境中使用的。

 

    Important:Trace Flag属于剑走偏锋的招数,在使用Trace Flag做优化之前,先Apply基本的Best Practice。

 

如何控制跟踪标记

    控制跟踪标记的方式有以下三种:

1.通过DBCC命令

    可以通过DBCC命令来启用或关闭跟踪标记,这种方式的好处是简单易用,分别使用下面三个命令来启用,禁用已经查看跟踪标记的状态:

 

其中,TRACEON和TRACEOFF第二个参数代表启用标志的范围,1是Session Scope,-1是Global Scope,如果不指定该值,则保持默认值Session Scope。

另外,值得说的是,如果你希望在每次SQL Server服务启动时通过DBCC命令控制某些Flag,则使用

EXEC sp_procoption @ProcName = '' , @OptionName = ] 'startup' , @OptionValue = 'on';

这个存储过程来指定,sp_procoption存储过程会在SQL Server服务器启动时自动执行。

       还有一点值得注意的是,不是所有的跟踪标记都可以用DBCC命令启动,比如Flag 835就只能通过启动参数指定。

 

2.通过在SQL Server配置管理器中指定

这种方式是通过在数据库引擎启动项里加启动参数设置,只有Global Scope。格式为-T#跟踪标记1;T跟踪标记2;T跟踪标记3。

 

3.通过注册表启动

     这种方式和方法2大同小异,就不多说了。

 

一些在生产环境中可能需要的跟踪标记

 

Trace Flag 610 减少日志产生量。如果你对于日志用了很多基础的best practice,比如说只有一个日志文件、VLF数量适当、单独存储,如果还是不能缓解日志过大的话,考虑使用该跟踪标记。

参考资料:

 

 

Trace Flag 834 使用 Microsoft Windows 大页面缓冲池分配。如果服务器是SQL Server专用服务器的话,值得开启该跟踪标记。

 

Trace Flag 835 允许SQL Server 2005和2008标准版使用"锁定内存页",网站空间,和在组策略中设置的结果大同小异,但是允许在标准版中使用.

 

Trace Flag 1118 tempdb分配整个区,而不是混合区,减少SGAM页争抢。 当apply tempdb的best practice之后,还遇到争抢问题,考虑使用该跟踪标记。 参考资料:

 

Trace Flag 1204和1222 这两个跟踪标记都是将死锁写到错误日志中,不过1204是以文本格式进行,而1222是以XML格式保存。可以通过 sp_readerrorlog查看日志。 Trace Flag 1211和1224 两种方式都是禁用锁升级。但行为有所差别1211是无论何时都不会锁升级,而1224在内存压力大的时候会启用锁升级,从而避免了out-of-locks错误。当两个跟踪标记都启用是,1211的优先级更高。

 

Trace Flag 2528 禁用并行执行DBCC CHECKDB, DBCC CHECKFILEGROUP,DBCC CHECKTABLE。这意味着这几个命令只能单线程执行,这可能会需要更多的时间,但是在某些特定情况下还是有些用处。

 

Trace Flag 3226 防止日志记录成功的备份。如果日志备份过于频繁的话,会产生大量错误日志,启用该跟踪标记可以使得日志备份不再被记录到错误日志。

 

Trace Flag 4199 所有KB补丁对于查询分析器行为的修改都生效,这个命令比较危险,可能扫称性能的下降,具体请参看:     不应该在生产环境中启用的跟踪标记   Trace Flag 806  在读取过程中对页检查逻辑一致性,在错误日志中就可以看到类似下面的信息: 2004-06-25 11:29:04.11 spid51 错误: 823,严重性: 24 日状态: 2
2004-06-25 11:29:04.11 spid51 I/O 错误 (审核失败) 在读取过程中检测到的偏移量主题 SQL Server\MSSQL\data\pubs.mdf e:\Program 文件中的 0x000000000b0000. 参考资料: 该跟踪标记会极大的降低性能!!!
Trace Flag 818  检查写一致性踪标志 818 启用了一个内存中的环形缓冲区,用于跟踪由运行 SQL Server 的计算机执行的最后 2,048 个成功写操作(不包括排序和工作文件 I/O)。发生 605、823 或 3448 之类的错误时,将传入缓冲区的日志序列号 (LSN) 值与最新写入列表进行比较。如果在读操作期间检索到的 LSN 比在写操作期间指定的更旧,就会在 SQL Server 错误日志中记录一条新的错误信息。大部分 SQL Server 写操作以检查点或惰性写入形式出现。惰性写入是一项使用异步 I/O 操作的后台任务。环形缓冲区的实现是轻量的,因此对系统性能的影响可以忽略。
参考资料:
Trace Flag 1200  返回加锁信息的整个过程,是学习加锁过程很牛逼的标志,示例代码如下: DBCC TRACEON(1200,-1) DBCC TRACEON(3604) DBCC TRACESTATUS SELECT * FROM AdventureWorks.person.Address 参考资料:
Trace Flag 1806 禁用即时文件初始化,所有的磁盘空间请求全部使用填0初始化,可能造成在空间增长时产生阻塞。 Trace Flag 3502在日志中显示有关checkpoint的相关信息。如图1所示。

2013-04-23_233140

图1.在错误日志中显示Checkpoint
Trace Flag 3505不允许自动进行checkpoint,checkpoint只能手动进行,是非常危险的一个命令。  小结
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menandakan kapal penyapu ranjau? -Bagaimana untuk menukar kesukaran Minesweeper? Bagaimana untuk menandakan kapal penyapu ranjau? -Bagaimana untuk menukar kesukaran Minesweeper? Mar 18, 2024 pm 06:34 PM

Bagaimana untuk menandakan kapal penyapu ranjau? Pertama, kita perlu membiasakan diri dengan kaedah penandaan dalam Minesweeper. Biasanya, terdapat dua kaedah pemarkahan biasa dalam permainan Minesweeper: penandaan bendera dan penandaan tanda soal. Tanda bendera digunakan untuk menunjukkan bahawa terdapat lombong dalam blok, yang merupakan tanda deterministik manakala tanda tanya menunjukkan bahawa mungkin terdapat lombong di dalam blok, tetapi ia bukan deterministik. Kedua-dua kaedah penandaan ini memainkan peranan penting dalam permainan, membantu pemain menyimpulkan blok mana yang mungkin mengandungi lombong, supaya dapat meneruskan ke langkah seterusnya dengan berkesan. Penggunaan cekap kaedah penandaan ini boleh meningkatkan kadar kejayaan pemain dalam permainan penyapu ranjau dan mengurangkan risiko memijak ranjau. Oleh itu, semasa bermain permainan penyapu ranjau, jika pemain telah menguasai tanda bendera dan tanda tanya, apabila pemain tidak pasti sama ada terdapat lombong di petak tertentu, dia boleh menggunakan tanda soal untuk menandakannya.

Cara menanda berbilang lokasi pada Peta Baidu Bagaimana untuk menanda berbilang lokasi Cara menanda berbilang lokasi pada Peta Baidu Bagaimana untuk menanda berbilang lokasi Mar 15, 2024 pm 04:28 PM

Terdapat banyak fungsi di atas, terutamanya untuk peta yang boleh menandakan berbilang tempat Apabila kami mengetahui beberapa tempat, kami pasti akan menggunakan beberapa fungsi tanda baca, supaya kami boleh membawakan anda pelbagai aspek yang berbeza. itu, anda boleh tahu sejauh mana mereka sudah tentu beberapa nama dan maklumat terperinci tempat di atas juga akan dipaparkan , jadi untuk membolehkan semua orang membuat pilihan yang lebih baik dalam pelbagai aspek, hari ini editor akan membawakan anda beberapa pilihan dalam pelbagai aspek, jadi rakan-rakan yang berminat dengan idea, Jika anda juga berminat, datang dan mencubanya. Standard

Pengesanan laluan dan pengesanan sinar untuk kesan visual permainan Pengesanan laluan dan pengesanan sinar untuk kesan visual permainan Feb 19, 2024 am 11:36 AM

Keputusan untuk menggunakan pengesanan laluan atau pengesanan sinar ialah pilihan penting untuk pembangun permainan. Walaupun kedua-duanya berprestasi baik secara visual, terdapat beberapa perbezaan dalam aplikasi praktikal. Oleh itu, peminat permainan perlu berhati-hati menimbang kelebihan dan kekurangan kedua-duanya untuk menentukan teknologi mana yang lebih sesuai untuk mencapai kesan visual yang mereka inginkan. Apakah pengesanan sinar? Pengesanan sinar ialah teknik pemaparan kompleks yang digunakan untuk mensimulasikan perambatan dan interaksi cahaya dalam persekitaran maya. Tidak seperti kaedah rasterisasi tradisional, pengesanan sinar menjana pencahayaan dan kesan bayang yang realistik dengan menjejak laluan cahaya, memberikan pengalaman visual yang lebih realistik. Teknologi ini bukan sahaja menghasilkan imej yang lebih realistik, tetapi juga mensimulasikan kesan pencahayaan yang lebih kompleks, menjadikan pemandangan kelihatan lebih realistik dan terang. konsep utamanya

Bagaimana untuk menandakan teks coretan dalam HTML? Bagaimana untuk menandakan teks coretan dalam HTML? Aug 25, 2023 pm 10:45 PM

Untuk menandai teks coretan dalam HTML, gunakan teg <strike>…</strike>. Ia akan memaparkan teks coretan. Teg ini telah ditamatkan oleh HTML dan tidak boleh digunakan dalam HTML5. Sebagai alternatif, anda boleh menggunakan sifat hiasan teks CSS. Untuk menggunakan sifat CSS, gunakan atribut gaya. Atribut gaya menentukan gaya sebaris untuk elemen. Atribut ini boleh digunakan dengan teg HTML <p>. Perlu diingat bahawa HTML5 tidak menyokong teg <strike>, jadi penggayaan CSS harus digunakan. Contoh anda boleh cuba menjalankan yang berikut

Cara memasang, menyahpasang dan menetapkan semula sandaran pelayan Windows Cara memasang, menyahpasang dan menetapkan semula sandaran pelayan Windows Mar 06, 2024 am 10:37 AM

WindowsServerBackup ialah fungsi yang disertakan dengan sistem pengendalian WindowsServer, direka untuk membantu pengguna melindungi data penting dan konfigurasi sistem, serta menyediakan penyelesaian sandaran dan pemulihan yang lengkap untuk perusahaan peringkat kecil, sederhana dan perusahaan. Hanya pengguna yang menjalankan Server2022 dan lebih tinggi boleh menggunakan ciri ini. Dalam artikel ini, kami akan menerangkan cara memasang, menyahpasang atau menetapkan semula WindowsServerBackup. Cara Menetapkan Semula Sandaran Pelayan Windows Jika anda mengalami masalah dengan sandaran pelayan anda, sandaran mengambil masa terlalu lama, atau anda tidak dapat mengakses fail yang disimpan, maka anda boleh mempertimbangkan untuk menetapkan semula tetapan sandaran Pelayan Windows anda. Untuk menetapkan semula Windows

Cara menanda pada peta Baidu - operasi penandaan khusus pada peta Baidu Cara menanda pada peta Baidu - operasi penandaan khusus pada peta Baidu Mar 04, 2024 pm 08:46 PM

Adakah anda juga menggunakan perisian peta Baidu pada komputer anda Tetapi adakah anda tahu cara menanda peta Baidu Artikel berikut membawakan anda operasi khusus tanda peta Baidu, mari kita lihat di bawah. Selepas memasukkan peta Baidu, klik pada sudut kanan atas untuk memilih wilayah, seperti yang ditunjukkan dalam rajah Selepas memilih wilayah, pilih alat dalam peta, seperti yang ditunjukkan dalam rajah, seperti yang ditunjukkan dalam rajah tersebut.

Cara menggunakan pengelogan untuk menjejaki pelaksanaan program dalam C# Cara menggunakan pengelogan untuk menjejaki pelaksanaan program dalam C# Oct 09, 2023 pm 03:51 PM

Cara menggunakan pengelogan untuk menjejaki operasi atur cara dalam C# memerlukan contoh kod khusus Pengenalan: Semasa membangunkan perisian, selalunya perlu untuk menjejak dan merekodkan pengendalian program supaya masalah dapat ditemui dengan tepat apabila masalah berlaku. Pengelogan ialah cara teknikal penting yang boleh merekodkan status berjalan, maklumat ralat dan maklumat penyahpepijatan program untuk memudahkan lokasi tidak normal dan penyelesaian masalah. Artikel ini akan memperkenalkan cara menggunakan pengelogan untuk menjejak operasi program dalam C#, dan memberikan contoh kod khusus. 1. Pemilihan perpustakaan pembalakan Dalam C#, terdapat banyak yang sangat baik

Versi pratonton Windows Server 2025 mengalu-alukan kemas kini, Microsoft menambah baik pengalaman ujian Insiders Versi pratonton Windows Server 2025 mengalu-alukan kemas kini, Microsoft menambah baik pengalaman ujian Insiders Feb 19, 2024 pm 02:36 PM

Sempena mengeluarkan versi Windows Server binaan 26040, Microsoft mengumumkan nama rasmi produk: Windows Server 2025. Turut dilancarkan ialah versi Windows11WindowsInsiderCanaryChannel build26040. Sesetengah rakan mungkin masih ingat bahawa bertahun-tahun yang lalu seseorang berjaya menukar Windows NT daripada mod stesen kerja kepada mod pelayan, menunjukkan persamaan antara pelbagai versi sistem pengendalian Microsoft. Walaupun terdapat perbezaan yang jelas antara versi semasa sistem pengendalian pelayan Microsoft dan Windows 11, mereka yang memberi perhatian kepada butiran mungkin tertanya-tanya: mengapa Windows Server mengemas kini jenama,

See all articles