Following are the some major differences between the two versions:-
(PG) The most significant change is the .NET integration with SQL SERVER
2005. Stored procedures, User-defined functions, triggers, aggregates, and user-
defined types can now be written using your own favorite .NET language
(VB.NET, C#, J# etc .). This support was not there in SQL SERVER
2000 where the only language was T-SQL. In SQL 2005 you have support for
two languages T-SQL and .NET.
(PG) SQL SERVER 2005 has reporting services for reports which is a newly
added feature and does not exist for SQL SERVER 2000.It was a seperate
installation for SQL Server 2000
(PG) SQL SERVER 2005 has introduced two new data types varbinary (max)
and XML. If you remember in SQL SERVER 2000 we had image and text
data types. Problem with image and text data types is that they assign same
amount of storage irrespective of what the actual data size is. This problem is
solved using varbinary (max) which acts depending on amount of data. One
more new data type is included “XML” which enables you to store XML
documents and also does schema verification. In SQL SERVER 2000 developers
used varchar or text data type and all validation had to be done
(PG) SQL SERVER 2005 can now process direct incoming HTTP request
with out IIS web server. Also stored procedure invocation is enabled using the
(PG) Asynchronous mechanism is introduced using server events. In Server
event model the server posts an event to the SQL Broker service, later the
client can come and retrieve the status by querying the broker.
For huge databases SQLSERVER has provided a cool feature called as “Data
partitioning”. In data partitioning you break a single database object such as a
table or an index into multiple pieces. But for the client application accessing
the single data base object “partitioning” is transparent.
In SQL SERVER 2000 if you rebuilt clustered indexes even the non-clustered
indexes where rebuilt. But in SQL SERVER 2005 building the clustered indexes
does not built the non-clustered indexes.
Bulk data uploading in SQL SERVER 2000 was done using BCP (Bulk copy
program’s) format files. But now in SQL SERVER 2005 bulk data uploading
uses XML file format.
In SQL SERVER 2000 there where maximum 16 instances, but in 2005 you
can have up to 50 instances.
SQL SERVER 2005 has support of “Multiple Active Result Sets” also called
as “MARS”. In previous versions of SQL SERVER 2000 in one connection
you can only have one result set. But now in one SQL connection you can
query and have multiple results set.
In previous versions of SQL SERVER 2000, system catalog was stored in
master database. In SQL SERVER 2005 it’s stored in resource database which
is stored as sys object , you can not access the sys object directly as in older
version wewhere accessing master database.
This is one of hardware benefits which SQL SERVER 2005 has over SQL
SERVER 2000 – support of hyper threading. WINDOWS 2003 supports hyper
threading; SQL SERVER 2005 can take the advantage of the feature unlike
SQL SERVER 2000 which did not support hyper threading.
SMO will be used for SQL Server Management.
AMO (Analysis Management Objects) to manage Analysis Services servers,
data sources, cubes, dimensions, measures, and data mining models. You can
map AMO in old SQL SERVER with DSO (Decision Support Objects).
Replication is now managed by RMO (Replication Management Objects).
SQL SERVER 2005 uses current user execution context to check rights rather
than ownership link chain, which was done in SQL SERVER 2000.
In previous versions of SQL SERVER the schema and the user name was
same, but in current the schema is separated from the user. Now the user owns
Query analyzer is now replaced by query editor.
Business Intelligence development studio will be used to create Business
OSQL and ISQL command line utility is replaced by SQLCMD utility.
SQL SERVER Enterprise manager is now replaced by SQL SERVER
SERVER Manager which was running in system tray is now replaced by SQL
Database mirror concept supported in SQL SERVER 2005 which was not
present in SQL SERVER 2000.
In SQL SERVER 2005 Indexes can be rebuild online when the database is
in actual production. If you look back in SQL SERVER 2000 you can not do
insert, update and delete operations when you are building indexes.
(PG) Other than Serializable, Repeatable Read, Read Committed and Read
Uncommitted isolation level there is one more new isolation level “Snapshot