Maison base de données tutoriel mysql 对《SQL Server中tempdb的management》的一些更正和补充

对《SQL Server中tempdb的management》的一些更正和补充

Jun 07, 2016 pm 05:37 PM
un

对《SQL Server中tempdb的management》的一些更正和补充 前几天看了这篇文章:SQL Server中tempdb的management 发现里面有些内容不是很准确 文章中说到: TempDB和其他用户数据库一样以Model数据库为模板创建,并且可以创建和查询表格。 与其他用户数据库不

对《SQL Server中tempdb的management》的一些更正和补充

前几天看了这篇文章:SQL Server中tempdb的management

发现里面有些内容不是很准确

文章中说到:

TempDB和其他用户数据库一样以Model数据库为模板创建,并且可以创建和查询表格。

与其他用户数据库不同的是,TempDB在每次SQL Server启动的时候都会被重新创建。

 

我打开SQLSERVER2005,对比了一下model数据库和tempdb数据库,发现还是有一些不同

初始大小和自动增长、跨数据库所有权链接已启用这里不讨论

跨数据库所有权链接:

 

页面验证里面,,model数据库页面验证用的是checksum,但是tempdb没有页面验证

tempdb不使用页面验证究竟好还是不好???

讨论这个问题之前,这里要先了解一下checksum的功能

以下摘抄自:

页面 CHECKSUM:
在数据库页面从被写入磁盘到被SQL Server读取的这段时间内,有可能由于外界原因发生损坏。
比如I/O设备的损坏,驱动的损坏或者由于电源不稳没有写完整。Checksum机制使SQL Server可以检测到这些损坏。
需要注意的是,Checksum机制只能使我们确定是不是I/O子系统引起页面损坏,但是不能自动修复它们。
作为管理员,我们可以利用这些信息来辨识出并更换损坏的I/O设备,
也可以利用重建索引或者修复损坏文件等方法修复已发生的页面损坏。

计算checksum的算法是复杂的,因为会涉及到多个页面的读写,增加CPU的负荷,可能会影响系统的吞吐量

 

系统吞吐量、CPU负荷这个本人觉得可以忽略不计,因为用户数据库默认都是开启了checksum页面验证的

所以本人觉得还是有必要开启checksum页面验证

 

页面checksum的条件:在数据库页面从被写入磁盘到被SQL Server读取的这段时间内,数据页一定要写入到磁盘,

如果数据页面没有写入到磁盘,那么开启checksum也就没有什么用处

 

 

在tempdb里,无论是数据页还是索引页还是版本存储区里的页面都有可能写入磁盘

版本存储区的资料:

版本存储区也和数据页面索引页面一样由8k大小的页组成。这些页存在缓冲池中,可以在TempDB面临内存压力时被写入磁盘

如果是这样,那么SQLSERVER应该要开启tempdb数据库的checksum页面验证才对啊

很可惜,本人暂时还没有在网上找到相关解释

 

不过通过下面实验,本人猜测了一些SQLSERVER团队的意图

这些实验在文章SQL Server中tempdb的management里已经给出了,本人只是做一些补充

实验

以下实验的实验环境:Windows7,SQLSERVER2005个人开发者版

 

全局临时表

通过创建##t_tempdblog全局临时表,插入数据,修改数据,删除数据,建立聚集索引,删除聚集索引,建立非聚集索引,删除非聚集索引

查看事务日志文件里有没有相关的操作记录

测试脚本

插入记录

1 use tempdb ##t_tempdblog ##t_tempdblog (c1 int, c2 char(1000)) () ##t_tempdblog ), 1000)) operation,context, , , fn_dblog(null, null)

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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)

Le kvr800d2n6 est-il compatible avec la DDR3 ? (Le kvr800d2n6 fournit-il une version 4 Go) Le kvr800d2n6 est-il compatible avec la DDR3 ? (Le kvr800d2n6 fournit-il une version 4 Go) Jan 09, 2024 pm 10:33 PM

Le kvr800d2n6 peut-il être utilisé avec la DDR3 non. 1. Étant donné que le kvr800d2n6 est un module de mémoire DDR2 et que la DDR3 est un autre type de module de mémoire, les deux ne sont pas compatibles. 2. Bien que les formes des emplacements DDR2 et DDR3 soient les mêmes, il existe des différences en termes de tension, de synchronisation, de taux de transmission, etc., de sorte que différents types de modules de mémoire ne peuvent pas être interopérables. kvr800d2n6 est une clé mémoire de plusieurs générations. Lors de la réécriture du contenu, la langue doit être changée en chinois sans changer la signification originale. kvr800 Lors de la réécriture du contenu de la mémoire, la langue doit être changée en chinois sans changer la signification originale. (DDR2). Mémoire La fréquence principale est de 800 MHz. kvr800d2n62g est Kingston KVR800

Devenez un maître de la gestion des exceptions Java : prenez le contrôle des erreurs dans votre code Devenez un maître de la gestion des exceptions Java : prenez le contrôle des erreurs dans votre code Mar 24, 2024 pm 04:06 PM

Le système de gestion des exceptions de Java suit une structure hiérarchique, de la classe Throwable la plus générale aux sous-classes plus spécifiques telles que Exception et Error. Comprendre cette hiérarchie est essentiel car elle détermine la manière dont les exceptions sont gérées et leur portée. 2. Maîtrisez le mécanisme de propagation des exceptions Lorsqu'une exception se propage dans le programme, elle remonte dans la pile d'appels. Si l’exception n’est pas gérée dans le code, elle sera propagée à la méthode qui l’a appelée, et ainsi de suite. Comprendre les mécanismes de propagation des exceptions est essentiel pour garantir que les exceptions sont traitées de manière appropriée. 3. Utilisez le bloc try-catch-finally Le bloc try-catch-finally est le mécanisme préféré pour gérer les exceptions en Java. Le bloc try contient le code qui doit être exécuté, tandis que

Conseils avancés PHP PDO : utilisation de procédures stockées et de transactions Conseils avancés PHP PDO : utilisation de procédures stockées et de transactions Feb 20, 2024 am 10:01 AM

Les procédures stockées sont des instructions SQL précompilées et stockées sur le serveur de base de données. Lorsque vous devez exécuter une procédure stockée, il vous suffit d'appeler le nom de la procédure stockée sans réécrire l'instruction SQL. Les procédures stockées peuvent améliorer la lisibilité et l'efficacité du code, en particulier lorsque des instructions SQL complexes ou répétitives doivent être exécutées. 1. Créez la procédure stockée CREATEPROCEDUREget_customer_by_id(INcustomer_idINT)BEGINSELECT*FROMcustomersWHEREcustomer_id=customer_id;END2 Appelez la procédure stockée $stmt=$pdo->prepare(.

Exercice pratique Python Pandas, une progression rapide pour les novices en informatique ! Exercice pratique Python Pandas, une progression rapide pour les novices en informatique ! Mar 20, 2024 pm 10:21 PM

Utilisez read_csv() pour lire les fichiers CSV : df=pd.read_csv("data.csv") Gérer les valeurs manquantes : Supprimer les valeurs manquantes : df=df.dropna() Remplissez les valeurs manquantes : df["column_name"].fillna( value ) Convertir le type de données : df["column_name"]=df["column_name"].astype(dtype) Tri et regroupement : Tri : df.sort_values(by="column_name") Regroupement : groupby_object=df.groupby(by= " nom de colonne

Un guide pratique du modèle de mémoire Java : comment éviter les pièges courants de la programmation simultanée Un guide pratique du modèle de mémoire Java : comment éviter les pièges courants de la programmation simultanée Feb 19, 2024 pm 02:45 PM

Visibilité : un thread ne peut voir que ses propres modifications apportées aux variables partagées, tandis que les modifications apportées aux variables partagées par d'autres threads nécessitent une sorte de mécanisme de synchronisation pour être visibles. Atomicité : Une opération est soit entièrement exécutée, soit pas exécutée du tout, sans état intermédiaire. Ordre : les opérations de thread sur les variables partagées doivent être effectuées dans un certain ordre, même dans différents threads. 2. Principe d'arrivée avant Le principe d'arrivée avant est l'une des règles fondamentales de JMM, qui définit la séquence d'accès aux variables partagées entre les threads. Selon le principe du « arrivé avant », si une opération A se produit avant une autre opération B, alors la modification par A de la variable partagée se produira certainement dans B.

Quel ak est le meilleur en contre-guerre (classement des ak en contre-guerre) Quel ak est le meilleur en contre-guerre (classement des ak en contre-guerre) Jan 07, 2024 pm 06:34 PM

Quel AK est le meilleur en contre-guerre : l'AK47 est un fusil très célèbre qui est largement utilisé par les armées et les organisations terroristes du monde entier. Il est connu pour ses excellentes performances et sa fiabilité et est considéré comme l’un des meilleurs fusils d’assaut au monde. La conception de l'AK47 est simple et pratique, adaptée à une utilisation dans divers environnements difficiles. Il utilise des munitions de calibre 7,62 mm, qui ont une portée et une pénétration élevées. L'AK47 est peu coûteux à fabriquer et facile à entretenir et à utiliser, ce qui le rend populaire. Même si sa conception présente certaines limites, elle reste une arme très fiable et efficace. Que ce soit pour des opérations militaires ou pour la défense personnelle, l'AK47 est un choix puissant. L’arme à feu la plus classique de la contre-guerre est sans aucun doute l’AK47. Dans le centre commercial, le prix de vente permanent de l'AK47 est de

Le temple de la grammaire Java : embarquez pour un pèlerinage vers la grammaire et libérez votre potentiel de programmation Le temple de la grammaire Java : embarquez pour un pèlerinage vers la grammaire et libérez votre potentiel de programmation Mar 30, 2024 pm 01:01 PM

Une déclaration de variable détermine le nom, le type et la portée de la variable. Java prend en charge les types primitifs (int, double, booléen) et référence (String, List). 2. Contrôler le flux Utilisez if/else, switch/case et les boucles (while, do-while, for) pour contrôler le flux du programme. Les instructions conditionnelles vérifient les conditions et les instructions de branche exécutent différents blocs de code en fonction des conditions. 3. Array Array stocke une collection d'éléments du même type. Les tableaux sont déclarés avec le type [] et les éléments sont accessibles par index. 4. Classes et objets Les classes sont des modèles utilisés pour créer des objets avec un état et un comportement. Un objet est une instance d’une classe spécifique et a accès aux méthodes membres et aux variables de cette classe. 5. Les sous-classes héritées héritent des champs et

Synchronisation des threads Java et exclusion mutuelle : révéler les secrets de la programmation simultanée Synchronisation des threads Java et exclusion mutuelle : révéler les secrets de la programmation simultanée Feb 20, 2024 am 11:15 AM

1. Concept de synchronisation des threads : la synchronisation des threads signifie que lorsque plusieurs threads accèdent à des ressources partagées, ils utilisent un certain mécanisme pour coordonner leur séquence d'accès et leur comportement afin d'éviter toute confusion de données et les plantages du programme. 2. Mécanisme de synchronisation : Java fournit une variété de mécanismes de synchronisation, notamment des verrous, des méthodes de synchronisation, des blocs de synchronisation, des variables atomiques, etc. Le but de ces mécanismes est de garantir que les ressources partagées ne sont accessibles que par un seul thread à la fois. 3. Lock : Lock est un mécanisme de synchronisation courant qui permet à un thread d'avoir un accès exclusif aux ressources partagées. Lorsqu'un thread acquiert un verrou, les autres threads doivent attendre que le thread libère le verrou avant de poursuivre l'exécution. 4. Méthodes synchronisées et blocs synchronisés : Les méthodes synchronisées et les blocs synchronisés sont implémentés en ajoutant le mot-clé synchronisé avant la méthode ou le bloc de code.

See all articles