Table of Contents
1. 现象
2. 探索
3.未解谜题
4.问题答案
Home Database Mysql Tutorial SQLServer Temp tables 数据疑问

SQLServer Temp tables 数据疑问

Jun 07, 2016 pm 03:44 PM
sqlserver temp data doubt

1. 现象 使用Cacti监控,有关于临时表的一个图形 可以看到正在使用的临时表Active Temp Tables的数量非常大,并且在非工作时间,也维持在400个左右。感觉非常奇怪,所以追查下! 2. 探索 首先,先验证下Cacti数据是否准确,已知Cacti数据是从SQLServer的sys.

1. 现象

使用Cacti监控,有关于临时表的一个图形

SQLServer Temp tables 数据疑问

可以看到正在使用的临时表Active Temp Tables的数量非常大,并且在非工作时间,也维持在400个左右。感觉非常奇怪,所以追查下!

2. 探索

首先,先验证下Cacti数据是否准确,已知Cacti数据是从SQLServer的sys.dm_os_performance_counters 计数器DMV中取数的。所以查询下数据:

 

1

2

3

select *

from sys.dm_os_performance_counters

where counter_name ='Active Temp Tables'

Copy after login

查询结果和图中展示数据没有差别

然后,查询下目前的临时表究竟有哪些。使用如下SQL:

1

2

3

4

5

6

<span>use</span><span> tempdb

</span><span>go</span>

<span>select</span> <span>*</span>

<span>from</span><span> sys.objects

</span><span>where</span> name <span>like</span> <span>'</span><span>#%</span><span>'</span>

<span>order</span> <span>by</span> create_date <span>asc</span>

Copy after login

查询结果如下:

SQLServer Temp tables 数据疑问

可以得出如下结论:

1) 临时表的数量与Cacti图中的数量基本一致

2)从临时表的命名来看,基本为表变量对应的临时表。因为若是创建的临时表,命名为#temp_xxxx_随机标识

3)很多临时表,基本是表变量对应的,创建日期为十几天前,且最近并未更改,但SQLServer一直为销毁

3.未解谜题

按照已有的知识,表变量在所在批处理语句结束后,就会释放掉,为什么会有如此的temp tables 未被销毁呢?

 

20140701补充:

 

4.问题答案

见这篇博文 《TempDB--临时表的缓存

解决问题的思路上,我之前也想过要查看临时表的内容,但临时表只在所属的会话内有效,无法查看内容,所以问题卡在这里。

上文给了一个思路是通过查看临时表中包含的列,通过表中列的内容,可以继续下一步的分析,直至问题的解决~

再次谢谢笑东风的回复!

 

 

 

 

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the problem that the object named already exists in the sqlserver database How to solve the problem that the object named already exists in the sqlserver database Apr 05, 2024 pm 09:42 PM

For objects with the same name that already exist in the SQL Server database, the following steps need to be taken: Confirm the object type (table, view, stored procedure). IF NOT EXISTS can be used to skip creation if the object is empty. If the object has data, use a different name or modify the structure. Use DROP to delete existing objects (use caution, backup recommended). Check for schema changes to make sure there are no references to deleted or renamed objects.

How to import mdf file into sqlserver How to import mdf file into sqlserver Apr 08, 2024 am 11:41 AM

The import steps are as follows: Copy the MDF file to SQL Server's data directory (usually C:\Program Files\Microsoft SQL Server\MSSQL\DATA). In SQL Server Management Studio (SSMS), open the database and select Attach. Click the Add button and select the MDF file. Confirm the database name and click the OK button.

What to do if the sqlserver service cannot be started What to do if the sqlserver service cannot be started Apr 05, 2024 pm 10:00 PM

When the SQL Server service fails to start, here are some steps to resolve: Check the error log to determine the root cause. Make sure the service account has permission to start the service. Check whether dependency services are running. Disable antivirus software. Repair SQL Server installation. If the repair does not work, reinstall SQL Server.

How to check sqlserver port number How to check sqlserver port number Apr 05, 2024 pm 09:57 PM

To view the SQL Server port number: Open SSMS and connect to the server. Find the server name in Object Explorer, right-click it and select Properties. In the Connection tab, view the TCP Port field.

Where is the sqlserver database? Where is the sqlserver database? Apr 05, 2024 pm 08:21 PM

SQL Server database files are usually stored in the following default location: Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data The database file location can be customized by modifying the database file path setting.

How to recover accidentally deleted database in sqlserver How to recover accidentally deleted database in sqlserver Apr 05, 2024 pm 10:39 PM

If you accidentally delete a SQL Server database, you can take the following steps to recover: stop database activity; back up log files; check database logs; recovery options: restore from backup; restore from transaction log; use DBCC CHECKDB; use third-party tools. Please back up your database regularly and enable transaction logging to prevent data loss.

How to delete sqlserver if the installation fails? How to delete sqlserver if the installation fails? Apr 05, 2024 pm 11:27 PM

If the SQL Server installation fails, you can clean it up by following these steps: Uninstall SQL Server Delete registry keys Delete files and folders Restart the computer

Slow Cellular Data Internet Speeds on iPhone: Fixes Slow Cellular Data Internet Speeds on iPhone: Fixes May 03, 2024 pm 09:01 PM

Facing lag, slow mobile data connection on iPhone? Typically, the strength of cellular internet on your phone depends on several factors such as region, cellular network type, roaming type, etc. There are some things you can do to get a faster, more reliable cellular Internet connection. Fix 1 – Force Restart iPhone Sometimes, force restarting your device just resets a lot of things, including the cellular connection. Step 1 – Just press the volume up key once and release. Next, press the Volume Down key and release it again. Step 2 – The next part of the process is to hold the button on the right side. Let the iPhone finish restarting. Enable cellular data and check network speed. Check again Fix 2 – Change data mode While 5G offers better network speeds, it works better when the signal is weaker

See all articles