Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 Database Design and Application Architecture
 Request for Information

Author  Topic 

mark_b
Starting Member

24 Posts

Posted - 2007-08-22 : 09:15:06
I am not sure if this belongs under this forum or 'New to SQL' so please feel free to move it if necessary.

Following on from an issue i have had with sysdepends and syscomments tables filling up, I have been trying to research what these tables are and how they get filled up (i.e. what is the trigger to insert a row into these tables).

Unfortunately on all my web searches and book searches i have not found anything much more than 'They are system tables'. From what i have gleaned, it looks like every time a stored procedure or database object is changed, then this will create a new entry into the sysdepends table which highlights what the new object is linked to.

Is this understanding correct? And does anyone have any other sources of information which might give me a better idea of what and how these tables are about.

Many thanks in advance.

Mark

jezemine
Master Smack Fu Yak Hacker

2886 Posts

Posted - 2007-08-22 : 09:51:24
BOL is your friend with questions like this. it will tell you what these tables are for.

http://msdn2.microsoft.com/en-us/library/ms190325.aspx
http://msdn2.microsoft.com/en-us/library/ms186293.aspx


elsasoft.org
Go to Top of Page

mark_b
Starting Member

24 Posts

Posted - 2007-08-22 : 10:45:01
Thanks for thet Jez. It gave me a bit more to go on there. Also helped me to work out how all the systables are linked together to get something meaningful back!

At the risk of de-railing the thread and changing its purpose, I have one more question.

I have two databases, one is the production instance, and the other is a training database. The training database has an overnight process that basically syncs the two together in terms of stored procedures etc.

My problem is that the sysdepends table size between the two is greatly different. For example, the production database uses 31MB where as the training database uses 325MB. I have run some queries against the sysdepends database, and have compared the two sets of results, and the numbers in terms of entries for each object tie up exactly, so there does not seem to be any difference in the table contents, just the amount of space that is being used up by the sysdepends table.

Is there anything stupidly simple that i have missed here as to how sysdepends works?

I will include some information here, but will limit its length for purposes of sanity!

Production Database
DB Name		Table Name	Table Rows	Reserved	Data	Index Size	Unused	Used MB
DPON030 syscomments 3249 23568 20632 96 2840 23.0156
DPON030 sysdepends 153280 32608 14840 11896 5872 31.8438



Training Database
DB Name		Table Name	Table Rows	Reserved	Data	Index Size	Unused	Used MB
DPONTR030 syscomments 6393 260296 259416 832 48 254.1953
DPONTR030 sysdepends 153640 332880 215176 117640 64 325.0781


If anyone has come across this before and has any hints or tips, please let me know as i dont want to have to keep increasing the size of these databases on a near daily basis in order to keep them working.

Many thanks in advance.

Mark
Go to Top of Page
   

- Advertisement -