Maison base de données tutoriel mysql 一件关于数据库日志log的无聊事情

一件关于数据库日志log的无聊事情

Jun 07, 2016 pm 03:42 PM
log à propos 数据库 日志

为何说是无聊的记录呢? 因为事先把问题想复杂了,事后发现的时候觉得更是无聊的行为。还是写下来,毕竟很少弄这么无聊的事情。 事情起因是需要给服务器做性能基数(baseline),用sqldiag提取了大量的log信息,当然这里的数据库日志并不是指ldf文件。当我打

    为何说是无聊的记录呢?

    因为事先把问题想复杂了,事后发现的时候觉得更是无聊的行为。还是写下来,毕竟很少弄这么无聊的事情。

 

    事情起因是需要给服务器做性能基数(baseline),用sqldiag 提取了大量的log信息,当然这里的数据库日志并不是指ldf文件。当我打开SQL 2005或2008的对象资源管理器-->管理-->SQL Server 日志察看发现日志大约有百万行,当然原因我就不说了。

    日志log数据太大怎么办?

    先查看日志log如何被调用的,在TSQL中执行

       

    显示结果为

    一件关于数据库日志log的无聊事情

 

    有了存档号,接着查看某一个日志文件异常大的log内容(图中的异常日志已经被清除了,所以这里记录的时候暂且认为存档#为4的日志是异常大文件)

    接下来看看存档4的log内容,在TSQL中执行

   

    通常结果会返回如下图的内容

    一件关于数据库日志log的无聊事情

 

    话说到这儿,才开始我那愚蠢且无聊的做法。(直到现在我仍然认为这个做法相当怪异)

    因为这个日志log内容非常大,大约为数百万行,导致用sqldiag提取的__sp_sqldiag_Shutdown.OUT文件大小有近2G。于是有清除这个日志的想法,因为已经备档(备档的方式是将内容存为文本),所以可以清除日志。

    于是我就想找到这个log内容是存放在数据库MASTER的哪个表中,以便于干掉它。找来找去,只让我看到xpstar.dll 和xpstar90.dll这些信息。既然是调用动态链接库,我也要看看这个dll的内容,于是从网上下载Reflector 和Depends 进行反编译,接着反编译出错。

    到这里,其实GOD已经提醒我该走出去呼吸一下新鲜空气再回来思考,结果我没有那样做。这段过程大约花费近3个小时时间,用《 Becoming a Technical Leader 》里的话说,我已经进入了神游状态,当然我自己丝毫没有发觉。

    隔日清晨,来到办公室,当我下意识的打开系统中下面路径时,“密码”被破译了。其实只要删除log目录下ERRORLOG以及一系列ERRORLOG.1文件即可。

    X:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/Log

    其实我可以对自己说一句“神啊”,从结果看过程原来一切都是那么简单。

 

    当然,为了清除这个日志log内容,也有问一些朋友,不过他们都误以为我要清除ldf日志文件。写下来也是告诉自己:方向错了,停下来就是前进!!

 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Comment gérer les erreurs de connexion à la base de données en PHP Comment gérer les erreurs de connexion à la base de données en PHP Jun 05, 2024 pm 02:16 PM

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

Comment se connecter à une base de données distante à l'aide de Golang ? Comment se connecter à une base de données distante à l'aide de Golang ? Jun 01, 2024 pm 08:31 PM

Grâce au package base de données/sql de la bibliothèque standard Go, vous pouvez vous connecter à des bases de données distantes telles que MySQL, PostgreSQL ou SQLite : créez une chaîne de connexion contenant les informations de connexion à la base de données. Utilisez la fonction sql.Open() pour ouvrir une connexion à la base de données. Effectuez des opérations de base de données telles que des requêtes SQL et des opérations d'insertion. Utilisez defer pour fermer la connexion à la base de données afin de libérer des ressources.

Comment utiliser les fonctions de rappel de base de données dans Golang ? Comment utiliser les fonctions de rappel de base de données dans Golang ? Jun 03, 2024 pm 02:20 PM

L'utilisation de la fonction de rappel de base de données dans Golang peut permettre : d'exécuter du code personnalisé une fois l'opération de base de données spécifiée terminée. Ajoutez un comportement personnalisé via des fonctions distinctes sans écrire de code supplémentaire. Des fonctions de rappel sont disponibles pour les opérations d'insertion, de mise à jour, de suppression et de requête. Vous devez utiliser la fonction sql.Exec, sql.QueryRow ou sql.Query pour utiliser la fonction de rappel.

Conseils d'optimisation des performances pour le mécanisme de journalisation dans les fonctions Java ? Conseils d'optimisation des performances pour le mécanisme de journalisation dans les fonctions Java ? May 02, 2024 am 08:06 AM

Conseil d'optimisation de la journalisation : désactivez la journalisation du débogage pour éliminer l'impact. Messages de journalisation par lots pour réduire les frais généraux. Utilisez la journalisation asynchrone pour décharger les opérations de journalisation. Limitez la taille du fichier journal pour améliorer les performances de démarrage et de traitement des applications.

Comment enregistrer les données JSON dans la base de données dans Golang ? Comment enregistrer les données JSON dans la base de données dans Golang ? Jun 06, 2024 am 11:24 AM

Les données JSON peuvent être enregistrées dans une base de données MySQL à l'aide de la bibliothèque gjson ou de la fonction json.Unmarshal. La bibliothèque gjson fournit des méthodes pratiques pour analyser les champs JSON, et la fonction json.Unmarshal nécessite un pointeur de type cible pour désorganiser les données JSON. Les deux méthodes nécessitent la préparation d'instructions SQL et l'exécution d'opérations d'insertion pour conserver les données dans la base de données.

Comment gérer les connexions et les opérations de base de données en utilisant C++ ? Comment gérer les connexions et les opérations de base de données en utilisant C++ ? Jun 01, 2024 pm 07:24 PM

Utilisez la bibliothèque DataAccessObjects (DAO) en C++ pour connecter et exploiter la base de données, notamment en établissant des connexions à la base de données, en exécutant des requêtes SQL, en insérant de nouveaux enregistrements et en mettant à jour les enregistrements existants. Les étapes spécifiques sont : 1. Inclure les instructions de bibliothèque nécessaires ; 2. Ouvrir le fichier de base de données ; 3. Créer un objet Recordset pour exécuter des requêtes SQL ou manipuler des données ; 4. Parcourez les résultats ou mettez à jour les enregistrements en fonction de besoins spécifiques.

See all articles