SQL language differences between MSSQL 2000 and 2005 - sql-server

My company has an application developed for SQL Server 2005 (among others), and a potential client is attempting to install it on SQL Server 2000. Naturally, installation failed. Specifically, it failed with syntax errors in our CREATE TABLE statements.
Is there a summary of the language differences between these two databases?

You can take a look at the list of breaking changes here at technet.

I know of no summary of Transact SQL changes from 2000 to 2005. There are a few books that take a detailed look at the changes but I wouldn't call them a summary.
For a more immediate answer to your client's problem you could try comparing the specifications for the 2000 and 2005 versions of the CREATE TABLE function.

Related

Move Sharepoint 2010 to point to a different database?

Has anyone here moved the database underlying a SP 2010 install from one database instance to another (same data, just hosted in another instance)?
For example. we just want to move the database to a diffrerent machine.
In addition, has anyone moved SP 2010 from using SQL Express to a higher version of SQL Server? I would like to run some proof of concept tests with SQL Express, and if all goes well, then move to SQL Standard or Enterprise.
Cheers,
Daniel
Check out the following article:
http://technet.microsoft.com/en-us/library/cc512725.aspx
I don't think you'll run into any problems, just make sure you aren't going backwards in versions between databases. Backing up a database in SQL Server 2008 and restoring in 2005 isn't easy.
I've never done this with SharePoint, but I believe it lets you specify the location of the configuration database. Then you just need to match the user permissions.
The TechNet article "Move All Databases (SharePoint 2010)" is your main guide.
Note that this article contains the following warning:
The new database server must be running the same version of Windows
Server and Microsoft SQL Server as the existing database server.
This in NOT true!
Both from my own experience in migrating SharePoint databases and talks I've had with Microsoft Primary Field Engineering, I can say this method also works when SQL Server versions differ. But only if you upgrade to higher SQL Server versions (i.e. SQL Server 2005 to SQL Server 2008 R2). I was told this scenario is also fully supported by Microsoft.
Also, don't forget to update the database compatibility level for the migrated databases. This should future-proof your databases and enable advanced SQL Server optimization.

SQL Server 2000 vs. 2005+ sample databases to study db design?

I always tried to learn using the most recent versions of SQL Server, books, articles, docs.
I started to doubt whether it is efficient. I've got a feeling that I am frequently inefficiently loosing time with learning materials based on bloated AdventureWorksXXX sample databases from SQL Server 2005+.
Even simplest principles and concepts are blurred with unwieldy query examples, results, tables, data, schemes, relations, etc. in
Would not it be better to self-study database design on much more small and observable SQL Server 2000 (Pub, Northwind) sample databases, articles, books, on-line courses?
What shall I loose with this approach?
What are the differences in database design between SQL Server 2000 and 2008 R2 to be aware?
Update:
I did not mean installing SQL Server 2000 but having Pubs+Northwind on SQL Server 2008R2 in addition to new sample databases.
Update2: always having all them installed in Windows 2008R2. This is not question how to install sample databases.
What are the differences in database
design between SQL Server 2000 and
2008 R2 to be aware?
All of the versions since 2000 has brought us significant new capabilities, such as:
SQL Server 2005
XML datatype and all its support features
Support for SQL-CLR (.NET runtime embedded in SQL Server)
Common Table Expression (CTE) support
new datatypes VARCHAR(MAX), NVARCHAR(MAX), VARBINARY(MAX)
TRY / CATCH based error handling
SQL Server 2008
new DATE, DATETIME2 etc. data types
support for things like FILESTREAM and HierarchyId
the new MERGE statement
table-valued parameters for stored procedures
plus probably quite a few more.
Some of those have a significant impact on what you can do with a database, and thus on how you best design your database, too.
So going back to SQL Server 2000 and pubs might be okay - but you'll be missing out on a lot of newer features and how they can make dev life a lot easier in the long run. The basics of objects like tables, indices, views, stored procs and funcs etc. are pretty much the same between SQL Server versions 2000, 2005, 2008 and 2008 R2 (except for the SQL-CLR programmability options in 2005+, obviously).

Any tips for a Sybase developer learning SQLServer?

I'm an experienced Sybase developer (10+ years) looking to branch out into SQLServer. Does anyone have any advice on good courses / books to help me transition? Thanks.
SQLServer originally came from Sybase so I don't think you're going to have any major issues. Still, you might find this article helpful.
http://www.devarticles.com/c/a/SQL-Server/Migrating-from-Sybase-to-SQL-Server/
Microsoft has a tool - SQL Server Migration Assistant for Sybase that automates porting of your database from Sybase ASE to SQL Server 2005 or 2008 (including T-SQL, e.g. in your stored procedures) and you may find some useful documentation regarding migration process there too:
http://www.microsoft.com/sqlserver/2005/en/us/migration-sybase.aspx
Maybe you should also look at new features of SQL Server 2005/2008 more closely (in comparison with SQL Server 2000) because at least ASE 12.5 was more close to SQL Server 2000 (for example, you had no varchar(max)/varbinary(max)/nvarchar(max), newer MS' T-SQL enhancements are not likely to be available in Sybase because I doubt Sybase likes to add every feature Microsoft adds :) ).
For a developer I really don't think there is anything you should be worried about. The Sybase origins of SQL Server will clearly show up in all common tasks.
One thing I would recommend is to go over the features that appeared in SQL Server since 2005 and 2008 releases, specially 2005. You want to give them a cursory look just to understand what they do and to be prepared to use them in your arsenal: Crypto functions, CLR procedures, XML data type, varchar/varbinary(MAX) types, Service Broker, snapshot isolation, filestream storage, MERGE statement, common table expressions and recursive queries.
A book that is targeted specifically at developers for SQL 2005 should also be of elp, like Expert SQL Server 2005 Development perhaps. Make sure is a new content book, not a reprint of a SQL 2000 book updated for 2005. For more advanced coverage, the Inside SQL 2005 series is very good.
I'd suggest hands on work would be good and just see how you get on.
Have you a favourite Sybase DB to port, for example, reading up as you go along?

Does SQL Server 2000 MSDE have DTS?

We are currently evaluation our hosting options and the cheapest suitable option we've found only has SQL Server 2000 MSDE as the database server.
Does this version have DTS?
SQL Server 2000 MSDE does have it; however, SQL Server 2005 Express does not have SSIS which is a replacement for DTS.
MSDN Article
You can run DTS packages on SQL Server 2000 MSDE, but you'll need to create them on a full copy of SQL Server and copy them across. Run them using DTSrun.exe
I've used MSDE on several occasions under similar circumstances. It's quite sufficient for small to medium sized websites but if you have anything of complexity then a full version of SQL Server is to be recommended. You'll most likely need an additional tool too to set up scheduled jobs Lazy Coding's SQLScheduler is a good solution.
It supports running them but not developing them. Here's an article from Microsoft that discusses it.
MSDN Article

SQL data comparison tool for SQL Server Compact

Does anyone know of a tool similiar to RedGate's SQL Data Compare that works with Microsoft SQL Server Compact 3.5?
For me the following process worked:
Install SQL Server Compact Toolbox extension.
Run the "Script database schema and data" command on both databases
Use a diff tool on generated files to see the changes.
In the end I solved this problem by Exporting my 2 SQL Server Compact Databases to SQL Server Express 2005 (although 2008 would work) using Data Port Console.
I then compared them using Red Gate SQL Data Compare.
This solution works just fine for me.
Not sure, but you could also have a look at the Apex SQL tools - Apex SQL Diff and Apex SQL DataDiff. There website is here. They don't specifically mention SQL Server Compact - but I'm sure you could inquire with them.
Red-Gate and Apex are my #1 choices for any kind of SQL tools :-)
Marc
Have you tried SQL Compare from starinix? They say it supports SQL Server (All Editions) so that may include compact edition.
This software does work as I have used it (for Yukon). It's also freeware which saves worrying about licensing.

Resources