The deletes are recorded in the Transaction Log, so that in case of needing to rebuild a 'crashed' database, you have a complete record or every action.
However, if you are just trying to clean out tables, you 'might' be able to use the TRUNCATE command.
TRUNCATE TABLE MyTable
If you are just removing part of the data, then you could change the database recovery type to 'Simple', and the log will be truncated as soon as the deletes are complete.
One consideration many of us make is to create a script of the database, perhaps including scripted data inserts for Lookup tables, etc.
Then when there is a schema change, you add the schema change to the script, and then you can regularly drop the development database and run the script to re-create a 'clean' copy. You can script out the objects by right-clicking on the database, select [Tasks...], and then [Generate Scripts...]. Follow the prompts. There are also third party tools for this purpose. Below are some resources that will help with scripting out data.
To change the Recovery Model, using Object Explorer, right-click on the database, select [Properties], then [Options]. You can change the Recovery model on that screen. Be sure to make a note to return the Recovery Model to [FULL] when you move the database to production. You may need to 'shrink' the log file since it has grown so large.
DDL -Script Database to File
http://www.wardyit.com/blog/blog/archive/2006/07/21/133.aspx
http://www.sqlteam.com/publish/scriptio
http://www.aspfaq.com/etiquette.asp id=5006
http://www.codeproject.com/dotnet/ScriptDatabase.asp
http://www.nigelrivett.net/DMO/DMOScriptAllDatabases.html
http://rac4sql.net/qalite_main.asp
DDL ¨CScript Database to File using SMO (VB.NET)
http://msdn2.microsoft.com/en-us/library/ms162138.aspx
DDL ¨CScript Data to file (Database Publishing Wizard)
http://www.microsoft.com/downloads/details.aspx FamilyID=56e5b1c5-bf17-42e0-a410-371a838e570a&DisplayLang=en
FileSize -How to stop the log file from growing
http://www.support.microsoft.com/ id=873235
FileSize -Log file filling up
http://www.support.microsoft.com/ id=110139
FileSize -Log File Grows too big
http://www.support.microsoft.com/ id=317375
FileSize -Log File issues
http://www.nigelrivett.net/TransactionLogFileGrows_1.html
FileSize -Shrinking Log in SQL Server 2000 with DBCC SHRINKFILE
http://www.support.microsoft.com/ id=272318
First up the warning about ntext and fulltext search. Full Text change tracking does not support updates made via writetext or updatetext which is probably why you are getting that error. As you are using SQL2005 ( ) i'd suggest changing the column type to nvarchar(max). Text, Ntext and image have been superceded but are supported for backward compatability.
As for the size of the database. When you delete data, the size of the datafile will not shrink but the pages within that will be marked as free. Generally speaking its a good idea to have your datafile at a size bigger than the current database size as this allows for growth of data without the (expensive) operation of growing the datafile.
In saying this, you are able to shrink the data file in a similar way to the transaction log.
HTH!
Sorry if my wording was a bit confusing.
When you create a database you can specify the size of the data and log files which essentially allocates space for your data to be stored.
If you set your files too small and you have a lot of database write activity, the files will physically need to grow to store the data. The physical growth of a file is expensive in terms of resources and you want to minimise this, so set the files at a size that reflects how big you predict your data to grow.
The size of the your columns etc is how you control how much data is stored within the datafile and this is more likely to be a factor in performance rather than the physical file size.
HTH!
Thats not the correct syntax for that command:
Try:
ALTER TABLE FullDocuments
ALTER COLUMN SectionText NVARCHAR(Max) NOT NULL;
Good luck!
Let me expand upon Rich's explanation.
When a database runs out of space, and if 'AutoGrow' is set to TRUE, it will automatically acquire additional disk space from the OS. Consider the analogy of a notebook. When SQL Server acquires disk space from the OS, it is like the notebook gets paper, and then that paper has to be divided into pages, lines drawn on the pages, and they have to be numbered before they are ready to use. Once done, it is quick and efficient for SQL Server to use the pages. But when the pages fill up, and SQL Server has to acquire additional space from the OS, it is a 'costly' operation to have to wait until all of the new pages are ready to use before the operation that needed to store data can continue. So it is best to 'size' the database large enough to contain the expected data growth over a good period of time. Then it is a 'Best Practice' to have a scheduled task that will periodically assess the need for additional space, and acquire that space during 'non-peak' times. (AutoGrow could fire off at the worst moment for server load.)
Perhaps these resources will help:
FileSize -Considerations for Autogrow and AutoShrink
http://www.support.microsoft.com/ id=315512
FileSize -DB Shrink Issues
http://www.karaszi.com/SQLServer/info_dont_shrink.asp