SQL SERVER 事务日志
谈到事务日志就不得不谈下检查点 Checkpoint ,简称 CKP. 事务日志和检查点都是为了数据库的快速恢复而存在的。我们需要知道检查点是干什么的,它和事务日志有什么关系。 CKP是干什么的? 总所周知,数据的更改并没有直接写入mdf/ndf 数据文件中,而是写入了b
谈到事务日志就不得不谈下检查点 Checkpoint ,简称 CKP. 事务日志和检查点都是为了数据库的快速恢复而存在的。我们需要知道检查点是干什么的,它和事务日志有什么关系。
CKP是干什么的?
总所周知,数据的更改并没有直接写入mdf/ndf 数据文件中,而是写入了buffer pool中; 当CKP被触发后,检查点将“全部”脏数据页从当前数据库的buffer pool刷新到数据文件上。所谓的脏数据,是那些被更改的 data page ,在内存中却没有写入磁盘。全部脏数据包括已提交的数据更改和未提交的数据更改。刷新到数据文件是指将数据更改的后镜像copy写入数据文件,对数据的更改会保留一个前镜像和一个后镜像,好比我们修改文章,先保存原文作为前镜像,而后将修改后的文章作为后镜像。同时CKP也会flush cached log 到日志文件中 点击打开链接 .我更愿意将CKP看作是一个闹钟,我们可以对它按照一个规则定时,然后提醒SQL的部件data writer / log writer去干活。
总之,大多数情况下,什么时候数据更改写入数据文件,是由CKP决定的。
CKP什么时候被触发
备份数据库 (全备,差异备份,日志备份)
checkpoint命令
关闭数据库
Alter database命令
自动的检查点触发 (SQL依据recovery interval 服务器配置选项建议的时间上限触发检查点 或者日志已满 70%触发检查点)
间接检查点 (SQL 2012 新特性 ,详情参与点击打开链接)
CKP, Lazywriter, Eagerwriter的区别
总所周知这三个SQL的process都会将脏数据写入数据文件,但是它们的目的和触发条件完全不同
CKP的使用目的是为了在SQL intance停止后(例如断电),快速的instance recovery。它是一个时间点的标记,标记了数据库恢复的起始点。在这个起始点,所有的脏数据copy都写入了磁盘(它不会释放内存空间),从而在以后的恢复过程中节省时间。
Lazy writer是为了更好的利用buffer pool。 它会定期检查data cache,按照LRU算法,将长期未使用到的dirty page 写入磁盘, 清除dirty page释放内存空间。
Eager writer 是为BCP等批量插入而存在的。该进程会写入与无日志记录的操作(例如大容量插入和选择插入)相关联的脏数据页。该进程允许以并行方式创建和写入新页。也就是说,调用操作不必等待整个操作完成,即可将页写入磁盘 (摘于msdn点击打开链接 )。这样可以保证Buffer Pool有足够的空间完成批量操作。
CKP和事务日志有什么关系呢?
与其说是与事务日志的关系,不如说是与事务日志序列号(Log Sequence Number, 简称LSN)的关系,,在我以后的blog会对LSN做阐述。
检查点触发有一个起始时间点,这个时间点会被记录在事务日志里,获得一个CKP起始时间点LSN。当完成脏数据写后,CKP同样在日志文件里记录一个结束时间点的LSN。检查点还会记录一个最小恢复LSN (minLSN), minLSN必须存在检查点记录里才能成功进行回滚(roll back / undo), minLSN告诉了SQL Server 可以回滚的最远时间点。至于minLSN是什么,SQL如何定义minLSN,SQL server如何使用它,在我以后的blog做阐述)这里只要记住CKP会纪录这个minLSN,它很对undo很重要。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les journaux de Win10 peuvent aider les utilisateurs à comprendre l'utilisation du système en détail. De nombreux utilisateurs doivent avoir rencontré le journal 6013 lorsqu'ils recherchent leurs propres journaux de gestion. Alors, que signifie ce code ? Qu'est-ce que le journal Win10 6013 : 1. Il s'agit d'un journal normal. Les informations contenues dans ce journal ne signifient pas que votre ordinateur a été redémarré, mais elles indiquent combien de temps le système a fonctionné depuis son dernier démarrage. Ce journal apparaîtra une fois par jour à 12 heures précises. Comment vérifier depuis combien de temps le système fonctionne ? Vous pouvez saisir les informations système dans cmd. Il y a une ligne dedans.

Les journaux de Win10 peuvent aider les utilisateurs à comprendre l'utilisation du système en détail. De nombreux utilisateurs doivent avoir vu de nombreux journaux d'erreurs lorsqu'ils recherchent leurs propres journaux de gestion. Alors, comment les résoudre ? Comment résoudre l'événement 7034 du journal Win10 : 1. Cliquez sur "Démarrer" pour ouvrir le "Panneau de configuration" 2. Recherchez "Outils d'administration" 3. Cliquez sur "Services" 4. Recherchez HDZBCommServiceForV2.0, cliquez avec le bouton droit sur "Arrêter le service" et modifiez-le. vers "Démarrage manuel "

WindowsServerBackup est une fonction fournie avec le système d'exploitation WindowsServer, conçue pour aider les utilisateurs à protéger les données importantes et les configurations système, et à fournir des solutions complètes de sauvegarde et de récupération pour les petites, moyennes et grandes entreprises. Seuls les utilisateurs exécutant Server2022 et versions ultérieures peuvent utiliser cette fonctionnalité. Dans cet article, nous expliquerons comment installer, désinstaller ou réinitialiser WindowsServerBackup. Comment réinitialiser la sauvegarde de Windows Server Si vous rencontrez des problèmes avec la sauvegarde de votre serveur, si la sauvegarde prend trop de temps ou si vous ne parvenez pas à accéder aux fichiers stockés, vous pouvez envisager de réinitialiser vos paramètres de sauvegarde de Windows Server. Pour réinitialiser Windows

Lockwaittimeoutexceeded;tryrestartingtransaction - Comment résoudre l'erreur MySQL : délai d'attente de transaction Lorsque vous utilisez la base de données MySQL, vous pouvez parfois rencontrer une erreur courante : Lockwaittimeoutexceeded;tryrestartingtransaction. Cette erreur indique que le délai d'attente de transaction a expiré. Cette erreur se produit généralement lorsque

Sur les systèmes Linux, vous pouvez utiliser la commande suivante pour afficher le contenu du fichier journal : Commande tail : La commande tail est utilisée pour afficher le contenu à la fin du fichier journal. Il s'agit d'une commande courante pour afficher les dernières informations du journal. tail [option] [nom du fichier] Les options couramment utilisées incluent : -n : Spécifiez le nombre de lignes à afficher, la valeur par défaut est de 10 lignes. -f : Surveillez le contenu du fichier en temps réel et affichez automatiquement le nouveau contenu lorsque le fichier est mis à jour. Exemple : tail-n20logfile.txt#Afficher les 20 dernières lignes du fichier logfile.txt tail-flogfile.txt#Surveiller le contenu mis à jour du fichier logfile.txt en temps réel Commande head : La commande head permet d'afficher le début du fichier journal

iPhone vous permet d’ajouter des médicaments dans l’application Santé pour suivre et gérer les médicaments, vitamines et suppléments que vous prenez quotidiennement. Vous pouvez ensuite enregistrer les médicaments que vous avez pris ou ignorés lorsque vous recevez une notification sur votre appareil. Après avoir enregistré vos médicaments, vous pouvez voir à quelle fréquence vous les avez pris ou sautés pour vous aider à suivre votre état de santé. Dans cet article, nous vous guiderons pour afficher l'historique des journaux de médicaments sélectionnés dans l'application Santé sur iPhone. Un petit guide sur la façon d'afficher l'historique de votre journal de médicaments dans l'application Santé : Accédez à l'application Santé > Parcourir > Médicaments > Médicaments > Sélectionner un médicament > Options

Traitement des transactions MySQL : la différence entre la soumission automatique et la soumission manuelle Dans la base de données MySQL, une transaction est un ensemble d'instructions SQL soit toutes les exécutions réussissent, soit toutes les exécutions échouent, garantissant la cohérence et l'intégrité des données. Dans MySQL, les transactions peuvent être divisées en soumission automatique et soumission manuelle. La différence réside dans le moment de la soumission de la transaction et dans l'étendue du contrôle sur la transaction. Ce qui suit présentera en détail la différence entre la soumission automatique et la soumission manuelle, et donnera des exemples de code spécifiques à illustrer. 1. Soumettre automatiquement dans MySQL, s'il n'est pas affiché

A l'occasion de la sortie de la version build 26040 de Windows Server, Microsoft a annoncé le nom officiel du produit : Windows Server 2025. La version build26040 de Windows11WindowsInsiderCanaryChannel est également lancée. Certains amis se souviennent peut-être encore qu'il y a de nombreuses années, quelqu'un a réussi à convertir Windows NT du mode poste de travail au mode serveur, montrant ainsi les points communs entre les différentes versions des systèmes d'exploitation Microsoft. Bien qu'il existe des différences évidentes entre la version actuelle du système d'exploitation serveur de Microsoft et Windows 11, ceux qui prêtent attention aux détails peuvent être curieux : pourquoi Windows Server a mis à jour la marque,
