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).
Related
We are currently using SQL Server 2005. We don't need the new features in SQL Server 2008 R2, but should we upgrade anyway just to get it over with?
here's an article about why you should upgrade:
http://www.sqlmag.com/article/sql-server-2000/is-sql-server-2008-r2-for-you-.aspx`
Upgrading from 2005: More Functionality
If you’re running SQL Server 2005 then there’s a lot of new functionality to be gained by moving to SQL Server 2008 R2. SQL Server 2008 R2 includes the new BI functionality as well as the whole set of SQL Server 2008 features including database and database backup compression; transparent database encryption; new date, time, and spatial data types; new filestream data type; as well as the Resource Governor and policy-based management.
If you've got something that is working, you don't need any new features, and nobody is forcing the upgrade...why risk breaking what is working just fine?
My take is probably not, BUT, you do need to consider that Mainstream support for Sql Server 2005 will end in April 2011. This could be very important to your organization, or it could be nothing, just be aware of it.
Based on information found at http://support.microsoft.com/lifecycle/search/default.aspx?sort=PN&qid=&alpha=SQL+Server+2005&Filter=FilterNO
From a developer's perspective, being on SQL 2008 gives a couple of nice syntax improvements, i.e.
DECLARE #value int = 1
instead of
DECLARE #value int
SET #value = 1
And SQL Server Management Studio 2008 offers intellisense against SQL 2008 databases (assuming you aren't already using SQL Prompt or some other solution).
The new date data types are nice if you're able to start using them in new development.
Probably not enough to get an IT department to want to move, but with mainstream support ending in April 2011 (per #Matthew Vines), might be compelling enough to get interested in moving.
If for no other reason, I would upgrade because mainstream support for SQL Server 2005 is ending on April 12, 2011.
Not so important to upgrade, IMO. But it could be a chance to upgrade your CV as well :)
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?
We run SQL Server 2005 exclusively for databases that we use (I'm trying to push to get them upgraded, but alas!). On the client side with Management Studio, are there any benefits to upgrading to SSMS2008 when only connecting to SQL Server 2005 databases? I've seen that Intellisense won't work, so I'm curious if it's worth the hassle.
Yes, there's quite a few improvements intellisense is definitely a big one for developers (Intellisense only works against SQL Server 2008 databases, unfortunately), but there are also other things like T-SQL Debugger, Activity Monitor, the Object Explorer Details
Also, multi-server queries, and the ability to color the connections (get a visual clue whether you're on dev, test or prod system) and a lot more.
See some good background info here at Simple-Talk.
It is up to you. My favorite is search feature. See link for details.
Having worked with SQL 2005 since it came out, upgraded my client tools to 2008 when it came out, and still not upgraded our server, I don't think it is worth upgrading, especially if you aren't moving to SQL 2008 on your server anytime soon. There is no real harm in upgrading, but you need to get familiar with a slightly different tool that IMO is neither worse nor better.
There are a lot of things to like about SQL2008 SSMS, even if you are connecting to SQL 2005 servers:
Customize the columns in the object views, including some very useful ones like DB size
When viewing a query execution plan, it will list any indexes that it recommends
Color-code server connections
Execute SQL statements against multiple servers
In our environment, we have a mix of SQL 2000, 2005, and 2008 servers, so I still use SQL 2005 SSMS to connect to all three (The new "Activity Monitor" in SQL2008 SSMS doesn't work for SQL 2000 servers.)
I don't want to sound like taking sides, but Toad 4.6 rulez! :-)
Exact duplicate:
Advantages of MS SQL Server 2008 over MS SQL Server 2005?
i am a sql developer and i use sql 2005. i want to now to pass to 2008 but i am a little affraid. can anyone gives me some advices about this. should i still continue using sql 2005 or is better pass all my projects to 2008 due to better performace?
Who is going to use your projects; if they are going to customers with existing SQL Licenses then 2005 might be the way to go; assuming they are running 2005. SQL 2005 databases will work on 2008; though if you use some of the new language features in 2008 then the SQL2008 databases wont be backwards compatible to 2005.
If you are controlling where they are going to be deployed; some of the new features in sql 2008 might be of interest; better full text search, improved Analysis services, reporting services and some language tweaks. If you are managing the servers; your admins will likely appreciate the new management features in 2008.
I moved to 2008 because I am heavy into SSIS and have large databases meaning: The backup compression and increased concurrent processes in SSIS for 2008 make it worth it for me.
I moved 6 projects from 2005 to 2008 without any problems except reporting services. To me the biggest benefit is the SQL Management Studio enhancements like auto complete and change history.
The only reason I did upgrade was because I work in education and Microsoft is very gracious on licensing.
In general, unless you hear that it is a disaster, I think you should strive to use the most recent release at the earliest opportunity. The advances in server functionality and the tool set will usually offset the time it takes you to learn the new features. All software is built with planned obsolescence in mind, so you will eventually need to migrate to newer technology. If you make a habit of migrating your systems to the latest technology, you will find that the migrations become relatively painless.
One of the benefits of SQLServer 2008 with respect to SSIS is that it includes very fast bulk connectors for Oracle and Teradata (well, the development and enterprise versions do).
So if you need to move data between SQLServer 2008 and those databases you get this for no additional cost.
See Microsoft Connectors for Oracle and Teradata by Attunity
Another major benefit in SQLServer 2008 is the new Change Data Capture (CDC) functionality which means you can build your application in any way you like and then if at later time you are interested in starting some processing when table X changed, you can turn on CDC for that table and get a change table that contains all the changes to table X with minimal overhead. Ben Hall did a useful post on this.
I think SQL 2008 has somewhat advantage in compare to sql 2005
New data types(date,time,files stream)
2.Backup compressin
3.Data compression
4.policy based management.
If anyone know better answer kindly inform
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.