I've
created a databse on SQL2005, and I did not use any new data type for
columns. I script the database, and select SQL2000 for "Script for
Server version", howvever, the script generated cannot be run on
SQL2000, it can be only run on SQL2005.
The script generated by SQL2005 is not backward compatible like SQL2000 can generated script compatible wtih SQL7.
CREATE TABLE [dbo].[Table1](
[Col1] [nvarchar](16) NOT NULL,
[Col2] [nvarchar](100) NOT NULL,
[Col3] [nvarchar](10) NULL,
[Col4] [datetime] NULL,
[Col5] [nvarchar](10) NULL,
[Col6] [datetime] NULL,
[Col7] [bit] NULL CONSTRAINT [DF_Table1_Col7] DEFAULT ((0)),
[Col8] [bit] NULL CONSTRAINT [DF_Table1_Col8] DEFAULT ((0)),
[Col9] [int] NULL CONSTRAINT [DF_Table1_Col9] DEFAULT ((0)),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
[Col1] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Error detected on the line "IGNORE_DUP_KEY = OFF".

Script databsae does not compatible with SQL2000
Ankini
azuomar73
Petulka
I won't dispute the 2005 tools have errors comment, and neither did he (in fact I would sing in that chorus with you if need be). However, he post was not a "well, you shouldn't be using it anyway" comment, I don't think. He goes on to explain that some parts of scripting out objects is just really quite hard (like maintaining precedence of which script to run first.)
As a side note, the sys.objects issue has been changed in the CTP as well for the 2000 compatible scripting.
All he was trying to say was that the best way to use the tools and do development is to maintain scripts of your work, and not rely on the tools to script out a database. I doubt that he was suggesting to never use the scripting tools for any reason. (especially since he advocated it for ad-hoc stuff.) I know I use it quite often, if for no other reason than to post a table structure to a discussion. But for a production system you should generally should have scripts for all objects that were created outside of using the SSMS tools and then scripting the objects.
It is very common to include a mini-lecture with any post where someone sees that a person *might* be abusing a feature. I learned a ton from my early days in the newsgroups because a friendly user or two (and an unfriendly albeit, very intelligent, jerk) lectured me on how something should be done.
Murtuza
yaaaar
This is a known bug. From the feedback center:
http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx feedbackid=a6510471-9c40-4184-9611-5656457864d8
Edit: I have tried it and it does seem to be fixed in the SP1 CTM
Louis