Difference of Commands between SQL Server 2005 and 2008 - sql

I have looked through many pages trying to find this information but all I get is the backbone structure and how the SQL server runs. What I would like to know is the difference of commands. Which commands can you use in 2008 but are not supported in 2005 with or without adjusting the compatibility level. I design different queries and my clients differ in their database versions. So when I create something, I would like to know if it will work before I put the time in or start actually breaking my head over why the code doesn't work on the clients computer but it does on mine. An example would be Pivot where I have to change the compatibility.
So what commands have changed? Either a link to a page or if it's not much to type out, it would be greatly appreciated.

This technet article has a list of the new commands in SQL 2008 T-SQL

There is some info here but it's not a whole lot so I am suspect that it's complete listing
http://msdn.microsoft.com/en-us/library/ms143179(v=sql.100).aspx

Version control!
Usually lower version's commands are available and work well in higher versions. But not quite the other way around. Take a look at the following post.
Advantages of SQL Server 2008 over SQL Server 2005?
For each major version Microsoft does release improvements done or changes made under product info.

Related

Database that requires no extra installation

I have developed C# application that stores and retrieves data from SQL database.
But when my client had to deploy the application he needed to install sql server express 2008 ,that is its requirement.Now he wants that software to install with no extra installing add-on.so i except for dot net framework there should not be anything extra to install.
i have seen some databases like SQL compact,SQL lite ,SQL CE and blackfishSQL but i really donot know that do they require extra install and what effort do i have to make to change my whole code according to selected database
I looked at this
Please help me
I suggest going with SQLite or Server Compact (SQL CE). They don't require extra install.
Another option is to include SQL Server Express in your setup project, so it will be installed automatically if needed.
SQLite has a reputation of being fast and robust.
However, if you like Microsoft products and you already have everything working in SQL Express, then SQL CE might be a better choice from development tools support point of view.
SQLite is by far the most popular option usually considered for such scenarios. It does not require any extra installation..the DB interface itself is available in a dll and all u need to interact with your database is the interface dll. As to the extent of efforts that would be required to port your application, it would depend on the extent to which you have used Sql Server specific SQL constructs..the closer your code is to ANSI SQL, the easier it would be to port it to any other ANSI SQL compliant database like SQLite. Usually the task becomes much easier if you have used ORM technologies in your application, since they provide an additional layer of abstraction between you client code and the database
I'm sure the original poster no longer needs this information anymore - but for the sake of others googling the same issue - let me add a bit of my own.
I'm only recently in the process of converting a C# program from using SQL Express to SQL Compact - and its relatively easy when compared to converting to a SQLite project. The code is extremely simple. Where in SQL Express you might use SqlCommand, this simply becomes SqlCeCommand. Very easy to convert from one to the other.

getting started with microsoft sql products

yesterday i went for an interview to be a sql / .net developer. my experience with sql is limited to basic pl/sql with oracle. they drilled me "do you know ssrs, do you know tsql, etc" well i kept saying no because i havent worked with them.
question: what do i have to learn in order to be able to work with microsoft sql? is it really that much different than oracle?
Grab a copy of SQL Server Express (see here) and start playing with it. There are sample databases that you can download to get you started.
SQL is the same, as it's a standard. T-SQL is an add on that has some flavors that are helpful to know. The way you setup procedures, functions, etc. is also different than PL-SQL, so that would be good to read up on. Outside the SQL Server engine and the various built-in tools, there are a lot of other MS products:
SSRS - SQL Server Reporting Services features a reporting engine, which are developed in Visual Studio.
SSIS - SQL Server Integration Services is a data import/export, etc. process, it's very handy to use for data import/export and other batch processing
SSAS - Analysis Services for OLAP
And so on. I don' tknow that SSAS helps you in this regard, but SSRS is pretty big so as a developer, reporting is a key feature and that would be handy to know something about. SSIS is good to know a little bit about, but might not be that handy, depending on what the org's needs are.
HTH.
SQL is pretty much SQL. There are some engine-specific differences but for most apps they're not significant. The management tools are obviously different. The OOB tools are vastly different.
SSRS is a reporting package (think Crystal reports on double steroids and you'd be close) not a DB engine. That should be listed as a separate job requirement.
I'd say get an MSDN license OR the free trial for SQL Server and install them all and try them out. Bookstore is a fairly generic app that you can extend forever and tryout new things.
Just keep in mind that someone hiring you is still going to want actual app experience, not your trials. If you can't get it at work, volunteer at an organization.
A good place to start is reading the MSDN SQL Server resource page. You'll find good information there about the whole MS SQL Ecosystem.
Then get a trial license, a virtual machine and start playing around.
It's kinda limited to their knowledge, as if you know basic ANSI sql then you can get almost all the basics running on SQL Server as they have a common base. As for SSRS, that is specific and will require reading and playing with it to learn. The SQL2008 Express with Advanced services should help you out.
With .net developer interviews I've been to they expect you to know the basics at minimum and be able to do joins and stuff in sql. Learning how to do temp tables and stored procedures as well as updates/selects/deletes and stuff should get you a bit further.
Potentially if they want that kinda experience either they are aiming the roll too low, or you've managed to slip through the net for a higher level role (which is sometimes a good thing) :-)

What are the compelling reasons to choose SQL Server 2008 over 2005?

I'm investigating the possibility of upgrading our SQL Server from SQL Server 2000 to either 2005 or 2008. There's a lot of concern over whether or not 2008 is really ready for us to use because the database is so critical to our product. What are the compelling reasons to use 2008 over 2005? Have you had good or bad experiences with 2008? I'm particurally interested in query performance, new features for our queries, and stability.
One good reason--Backup Compression in SQL 2008. SQL 2008 has 3 options for backups:
In SQL 2008 there are 3 options while backing up databases, these are:
No Compression (same as SQL 2005)
Server Setting (if server backup
compression setting is on/off - use
this setting)
Compression (Compress backup file
during backup)
SQL 2008 backup with compression is generally faster than SQL 2005 backup without compression (less file i/o with a compressed file)
Edit: We've been using SQL 2008 for a while now and have had no problems. In fact, working with the new features in SQL Management Studio (such as intellisense) have made some tasks easier.
AS for new features, I have to point out the new spatial datatypes, geometry and geography, which basically allow you to add actual longitude / latitude points and even cooler, bind those points to a geometry.
i.e. imagine a map with zipcodes, the geography representing the center of the zipcode, and the geometry the are the zipcode covers. Then you could use the built in new function of sql server to determine if a customer for instance is in that are.
Edit P.S. here's a link to a series of articles describing benefits / new features:
What’s New in SQL Server 2008 Part 3
I'd upgrade to 2008 because:
While you don't think about it now, 2005 will go "end of life" sooner and another upgrade could be forced before you are ready.
Everything 2005 can do, 2008 can do. But the opposite is not true. The worst thing to happen would be to upgrade to 2005 only to discover you need something with 2008 and have to upgrade again.
There are many little things improved or added in 2008.
I'd also ask why are you worried about going to 2008? If you are upgrading today, why go to a product that is 4 years old instead of going to the latest?
We have been using it for about 3 months now, and it seems pretty stable. We also upgraded from 2000 and it was pretty painless. One thing I noticed was the new MERGE statement, which is a nice way to do upserts.
I've poked at 2008 a bit, but haven't used it "for real" yet. I can only offer some highlights.
It is "ready for use". SQL Server has been a totally viable product at least since 7.0. If it was buggy, crappy, or generally worthless, its competitors (everyone who isn't Microsoft) would have made it pretty clear to everyone by now.
It's a new version, it will be supported by MS longer.
Many new and fancy bells and whistles. However, they are bells and whistles, they don't really add that much to "core" database functionality.
There are some serious additions, in particular the various new date and time datatypes. (And if they every get something like Oracle's grid computing, then I'll be really impressed.)
By and large, I believe its "you buy the 2008 license, you get to use 2005 or 2008, your choice". As such, you're better off using the latest version.

Can I get sql profiler for sql2008 for free?

Is it possible to get sql profiler for sql2008 for free or you have to have a license to get it?
i.e. it won't work with sql express
You can get SQL Profiler with the Developer version of SQL.
But how is written three answer before:
SQL Profiler is just a GUI on top of the TRACE functionality present in all editions of SQL.
So this ExpressProfiler is a free utility.
Alberto
First. SQL Profiler does work with SQL Express. Second. You can get SQL Profiler with the Developer version of SQL, which is included with all MSDN licenses. However you will not be able to get it for free with SQL Express like you can with SSMS.
SQL Profiler is just a GUI on top of the TRACE functionality present in all editions of SQL.
http://sqlprofiler.googlepages.com/ is a free utility which takes advantage of that. Probably all that you need.
Free of registration URL to download: http://code.google.com/p/sqlexpressprofiler/
I have been posting this to a number of older posts since I have been hitting them looking for the same answer. Just thought it would be nice if some more recent answers were here, hopefully they will still save people some time.
The ExpressProfiler is nice, I did try it but found it to be a bit too simple for my purposes. I found this article recently, http://www.codeproject.com/Articles/784905/Real-time-Tracing-With-SQL-Server-Express, and it has downloadable demo UI that is quite complete. It is much more configurable and has a few handy features like being able to define unlimited traces that will persist all trace options as well as column order. You can sort by column and group row data.
SQL Express 2008 Management Studio does not come with Profiler, so you will have to get a license for either a Workgroup/Standard/Enterprise edition.
SQL Server 2008 Developer Edition isn't free, but it's about $50 at NewEgg (or anywhere else):
Newegg.com product link
Developer edition is basically a re-branded not-for-production version of Enterprise, so it's got all the features Enterprise has, including Profiler. That's as close to free as you're going to get, since Profiler is not included with any Express products.
I just tried out the utility mentioned above: http://sqlprofiler.googlepages.com/. (New link is here). It got me the query text for what was going to the server, which is what I needed at the time. For $5, you can't go wrong by far. The only thing that worries me (and I'm not 100% sure on this), is that it looks like they want you to subscribe on a yearly basis, and the $5 looks like some sort of introductory special. For a tool that I will very rarely use, I would have preferred to pay $30, and be done with it.

Why should I upgrade from SQL2000 to SQL2005?

I'm looking for the single biggest reason you are glad that you've already made the jump from SQL2000 to SQL2005.
Recursion without creating temporary tables.
Native Exception support (Try/Catch instead of if #Error goto)
Because:
Microsoft would like to remind customers that support for SQL Server 2000 Service Pack 3a (SP3a) will end on July 10, 2007.
Native XML support is big for us here.
SSIS support. Blows DTS away and is quite handy. :)
SSRS - A really huge advantage for my organization is having the free reporting tools that come with SQL Server 2005. Reporting Services allows me to produce nice looking reports that have exactly the fields that our managers need in very little time. It has a built in tool so they can convert to excel, pdf, or several other formats. Lots of value here.
SSIS - Integration services in 2005 is very powerful for ETL (export, transform, load) functions. You can set up automated processes to run on a schedule.
SSAS - Analysis services looks promising. I have not made any data cubes yet because I want to organize an actual data warehouse. Once you have that, robust data mining algorithms are already built in.
Take a look at these three tools that are included with SQL Server 2005. If i had to pick one as the single biggest reason to move to 2005, it would be SSRS.
At this point, I would suggest looking at SQL Server 2008.
Pagination without (manually) creating temporary tables is a basic, but huge improvement.
However, if you are then going to drag & drop some GridViews in your ASP.NET app directly from the data table, you'd be paging in the app...
CLR integration
Row Versioning-Based Transaction Isolation
I think the single biggest reason is that SQL 2000 is not supported on Vista. I had to move to SQL 2005 because of that.
I don't know if it's just me, but Linq2SQL doesn't exactly work perfectly with SQL 2000. Ordinarily its supposed to automatically generate and populate child collections based on inferences from your schema's keys, foreign keys, RI, etc. Works fine in 2005 but i haven't had much luck in 2000.
Common Table Expressions have proven incredibly useful.
Exception handling... how did we ever manage on SQL 2000...?
PIVOT. That beautiful little statement has saved me more time then any other SQL Server 2005 enhancement.
YOU CAN'T EXPORT TABLES with a "right click" anymore. This is more of a problem than a good reason.
Dynamic Management Views
for Optimisation and to quickly find out the state of the server.