Solved

tempdb space error

Posted on 2000-03-14
2
764 Views
Last Modified: 2008-02-01
I am hitting a new db installation from Delphi 5 through ODBC.

The 13059 error I get comes up when I open a project I moved to a new
computer.  It says:  General SQL error.  [Microsoft][ODBC SQL Server
Driver][SQL Server]Can't allocate space for object '-385' in database
'tempdb' because the 'system segment is full. If you ran out of space in
Syslogs, dump the transaction log. Otherwise, use ALTER DATABASE or
sp_extendsegment to increase the size of the segment.

I am not even using this database as part of my project, but I am not able to make it bigger and truncating it does no good.  Is there a trick here that I am not seeing?

Thanks
Phil
0
Comment
Question by:phillip1
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 32

Expert Comment

by:bhess1
ID: 2616946
tempdb is a SQL Server internal DB, used for holding temporary tables and other internal purposes by SQL Server (such as temporary tables for Order By clauses)

Try increasing the size of tempdb, or removing the growth restriction (if you set one up for it)

You should also schedule and Shrink Database and Truncate Log activity for the DB on a regular basis.  Enterprise manager makes this simple.


0
 
LVL 8

Accepted Solution

by:
chigrik earned 200 total points
ID: 2617020
Tempdb database is situated on master device by default.
This database contain temporary tables, subqueries and
aggregates with GROUP BY, cursors and so on.
The default size of tempdb is 2 MB. Often it is necessary
to increase this size.

You may remove the tempdb database from master. It is very
good decision for performance and other purposes.

1. Create new device with size of 30-40Mb (tempdev for example)
2. Uncheck "Default device" option for master device.
3. Set "Default device" option for tempdev device.
4. From Enterprise manager (or sp_configure) set tempdb to be in RAM (set value to 1)
5. Stop and restart MSSQLServer service.
6. From Enterprise manager (or sp_configure) set tempdb to not be in RAM (set value to 0)
7. Stop and restart MSSQLServer service.
8. Expand tempdb database to the full size of tempdev device.

Please, be attentive, otherwise you should read the following:
"I've put tempdb in ram and now I can't restart my SQL Server."
http://www.ntfaq.com/ntfaq/sql77.html#sql77

It must helps, if no then read about "Troubleshooting 1105 Error Message"
http://support.microsoft.com/support/SQL/Content/1105err/1105prb.asp?LNG=ENG&SA=PER&FR=0
0

Featured Post

How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question