DotNetNuke has had SQL 2000/MSDE 2000 as one of it's supported databases since they were released. Whilst it's getting harder to justify it (Microsoft themselves ended mainstream support for SQL Server 2000 on 8th April 2008 ), we still take care each release to ensure that the database scripts are compatible with SQL 2000.
However I've noticed a few errors creeping in from time to time in our code. These come about as most developers are running SQL 2005/2008 in their development environment. When you use the script generating tools in SQL Server Management Studio (SSMS) it generates script that is valid for that version of SQL. Often this SQL will still work in earlier versions such as SQL 2000, but on occasion it contains syntax that will cause an error on SQL 2000.
There is a workaround for this. When generating scripts, rather than right-clicking on a table to generate a CREATE script, right-click on the Database itself and select "Tasks" -> "Generate Scripts". This will open the "Generate SQL Server Script Wizard". Click next, then select your database and click next again. Now scroll down a little and find the "Script for Server Version" property and set it to "SQL Server 2000". This will ensure that any scripts created only contain features compatible with that version.
Note: I would encourage anyone running DotNetNuke against SQL 2000/MSDE 2000, to consider upgrading to at least SQL 2005 or above at their earliest opportunity. Unless you've purchased extended support from Microsoft you're running an unsupported version, and I would not expect DotNetNuke to continue to support a 9 year old database server for ever. In addition SQL 2005 (and above) add many new constructs such as common table expressions, pivots/unpivots, XML datatypes and enhance existing datatypes such as VARCHAR(MAX), NVARCHAR(MAX) and VARBINARY(MAX), that would be useful in enhancing and improving a number of areas both in the core and modules.