Quick Search for:  in language:    
rewrite,qStats,which,spTStats
   Code/Articles » |  Newest/Best » |  Community » |  Jobs » |  Other » |  Goto » | 
CategoriesSearch Newest CodeCoding ContestCode of the DayAsk A ProJobsUpload
SQL Stats

 Code: 45,316. lines
 Jobs: 126. postings

 How to support the site

 
Sponsored by:

 
You are in:
 
Login





Latest Code Ticker for SQL.
sp_db_paging_pr imary_key
By Marcus LeBlanc on 1/11


sp_db_paging
By Marcus LeBlanc on 1/11


Beginners pack
By hardik shah on 1/11


Inline Views
By Thivya Prabakaran on 1/6


Click here to put this ticker on your site!


Add this ticker to your desktop!


Daily Code Email
To join the 'Code of the Day' Mailing List click here!

Affiliate Sites



 
 
   

qStats_Ex

Print
Email
 
VB icon
Submitted on: 11/19/2003 6:25:32 AM
By: Ewald Hofman 
Level: Advanced
User Rating: By 1 Users
Compatibility:SQL Server 2000

Users have accessed this code 842 times.
 
 
     This a rewrite of qStats, which was a rewrite of sp_TStats.
 
code:
Can't Copy and Paste this?
Click here for a copy-and-paste friendly version of this code!
 
Terms of Agreement:   
By using this code, you agree to the following terms...   
1) You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.   
2) You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
3) You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
4) You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.

--**************************************
--     
-- Name: qStats_Ex
-- Description:This a rewrite of qStats,
--      which was a rewrite of sp_TStats.
-- By: Ewald Hofman
--
-- Inputs:@TableName --> name of the 
--     table, and it must be a table, sorry, no
--      wild cards allowed (too lazy to use lik
--     e instead of =). No value will return al
--     l tables.
@Owner --> same AS above, but WITH the TABLE owners username.
--
-- Returns:Space utilization data for ta
--     bles
NAME --table name
NumRows --Number OF rows IN the TABLE
Data(kb) --spaced used IN kilobytes FOR the data
Index(kb) --spaced used in kilobytes FOR the indexes
Reserved(kb) --spaced used IN kilobytes reserved by the TABLE
Unused(kb) --space allocated but unused BY the table.
--
--This code is copyrighted and has-- limited warranties.Please see http://
--     www.Planet-Source-Code.com/vb/scripts/Sh
--     owCode.asp?txtCodeId=785&lngWId;=5--for details.--**************************************
--     

IF EXISTS (SELECT * FROM sysObjects WHERE Id = OBJECT_ID('dbo.qStats_Ex')) DROP PROCEDURE dbo.qStats_Ex
GO
CREATE PROCEDURE dbo.qStats_Ex
	@TableName	Varchar(30) = NULL
,	@Owner		Varchar(30) = NULL
AS
	SELECT
		Name		= sysObjects.Name
	,	NumRows		= CONVERT(Int, 
					SUM(	 ISNULL(CASE WHEN sysIndexes.IndId IN (0, 1) THEN sysIndexes.Rows ELSE 0 END		, 0)
					)
				 )
	,	[Data (kb)]	= CONVERT(Int, 
					SUM(	 ISNULL(CASE WHEN sysIndexes.IndId IN (0, 1) THEN sysIndexes.DPages ELSE 0 END		, 0)
						+ ISNULL(CASE WHEN sysIndexes.IndId IN (255) THEN sysIndexes.Used ELSE 0 END		, 0)
					)
					* spt_Values.Low / 1024
				 )
	,	[Index (kb)]	= CONVERT(Int, 
					SUM(	 ISNULL(CASE WHEN sysIndexes.IndId IN (0, 1) THEN sysIndexes.Used ELSE 0 END		, 0)
						- ISNULL(CASE WHEN sysIndexes.IndId IN (0, 1) THEN sysIndexes.DPages ELSE 0 END		, 0)
					)
					* spt_Values.Low / 1024
				 )
	,	[Reserved (kb)]	= CONVERT(Int, 
					SUM(	 ISNULL(CASE WHEN sysIndexes.IndId IN (0, 1, 255) THEN sysIndexes.Reserved ELSE 0 END	, 0)
					)
					* spt_Values.Low / 1024
				 )
	,	[Unused (kb)]	= CONVERT(Int, 
					SUM(	 ISNULL(CASE WHEN sysIndexes.IndId IN (0, 1, 255) THEN sysIndexes.Reserved ELSE 0 END	, 0)
						- ISNULL(CASE WHEN sysIndexes.IndId IN (0, 1, 255) THEN sysIndexes.Used ELSE 0 END	, 0)
					)
					* spt_Values.Low / 1024
				 )
	FROM
				sysObjects
		INNER JOIN	sysIndexes
					ON	sysIndexes.Id		= sysObjects.Id
		INNER JOIN	master.dbo.spt_Values		spt_Values
					ON	spt_Values.Name		= 'WINDOWS/NT'
					AND	spt_Values.Type		= 'E'
	WHERE
		sysObjects.Name = ISNULL(@TableName, sysObjects.Name)
	AND	sysObjects.Uid = ISNULL(USER_ID(@Owner), sysObjects.Uid)
	AND	sysObjects.Type = 'U'
	GROUP BY
		sysObjects.Name
	,	spt_Values.Low
GO

 
Report Bad Submission
Use this form to notify us if this entry should be deleted (i.e contains no code, is a virus, etc.).
Reason:
 
Your Vote!

What do you think of this code(in the Advanced category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor See Voting Log
 
Other User Comments
11/20/2003 6:21:07 AM:Christina McEntire
Very nice!
Keep the Planet clean! If this comment was disrespectful, please report it:
Reason:

 
Add Your Feedback!
Note:Not only will your feedback be posted, but an email will be sent to the code's author in your name.

NOTICE: The author of this code has been kind enough to share it with you.  If you have a criticism, please state it politely or it will be deleted.

For feedback not related to this particular code, please click here.
 
Name:
Comment:

 

Categories | Articles and Tutorials | Advanced Search | Recommended Reading | Upload | Newest Code | Code of the Month | Code of the Day | All Time Hall of Fame | Coding Contest | Search for a job | Post a Job | Ask a Pro Discussion Forum | Live Chat | Feedback | Customize | SQL Home | Site Home | Other Sites | About the Site | Feedback | Link to the Site | Awards | Advertising | Privacy

Copyright© 1997 by Exhedra Solutions, Inc. All Rights Reserved.  By using this site you agree to its Terms and Conditions.  Planet Source Code (tm) and the phrase "Dream It. Code It" (tm) are trademarks of Exhedra Solutions, Inc.