How to allow SQL Server 2005 and/or TempDB to use multiple disk drives for storage space?

I am running SQL Server 2005 Developer edition on my home machine and i'm trying to execute a query that takes up most of the available space when I try to run it.  I have some other drives other than C on the computer that have 250+ GB available.  Is there any way to tell SQL Server it can use that space to expand into?

Msg 1105, Level 17, State 2, Line 1
Could not allocate space for object 'dbo.SORT temporary run storage:  172560247422976' in database 'tempdb' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
Msg 9002, Level 17, State 4, Line 1
The transaction log for database 'tempdb' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases

If it helps the log_reuse_wait_desc column says nothing.
endrecAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
drydenhoggConnect With a Mentor Commented:
The SQL Server Management Studio can do it , using the guide above, or in TSQL as follows.

USE [master]
GO
ALTER DATABASE [tempdb] ADD FILE ( NAME = N'YourPreferredName', FILENAME = N'C:\PathToStoreTheFileOn\YourFileName.ndf' , SIZE = 102400KB , FILEGROWTH = 10240KB )
GO

The size / filegrowth you would alter, additional options on that are easier to see / configure via management studio.
0
 
drydenhoggCommented:
In the SQL Management Studio, open the databases folder, system Databases, right click on tempdb and bring up properties.

go to the files option shown on the left and that will display the current files held for tempdb.

hit add, a new line will appear, name the file (logical name) type data, filegroup primary (this will be the default) initial size (what you wish to allocate to it) and the growth options.

hit ok and you should be set.
0
 
drydenhoggCommented:
Oh, missed out, the obvious bit doh, set the path of the new file in the filegroup to the appropriate drive that has the space.
0
 
endrecAuthor Commented:
I am new to this.  Do you have an example of how to set multiple file(s) filegroups?  Do I need to do this through SQL Server Management Studio, through Alter statements to the DB?
0
 
endrecAuthor Commented:
Is there anything  I can do about the following error.  I have added an additional file for both the log and the PRIMARY file group (with the method described above).  I reduced the table i'm trying to run a query on to 1/10 of it's original size and I have alloted for over 300GB of disk space but I am still getting the error below.

Msg 1105, Level 17, State 2, Line 1
Could not allocate space for object 'dbo.SORT temporary run storage:  190272201031680' in database 'tempdb' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.