Can I use the new SQL Server Data Tools that come with SQL Server 2012 to create SSIS packages for SQL Server 2008?
I work with both SQL Server 2008 and SQL Server 2012 and I am wondering if I can use SSDT to create and maintain SSIS on both.
No.
See problem with deploying ssis 2010 package
It seems that the backward compatibility offered by SSDT does not apply to SSIS.
Everyone wants a smooth integration process that will allow for proficient system performance. In theory, the SQL Data tools package should work well with server SSIS (SQL Server Integration Services) 2008. Get the intended benefits of both systems when each is installed properly.
In theory, SDT should work with SSIS 2008, as the SQL Data tools is compatible with versions of SSIS dating back to 2005. However, more than a few have complained of getting "not supported" error messages. Some have found that answers lie in their installment procedures, while others have used improper versions of SSIS 2008. Overall, however, the underlying issues lie in the unique qualities of the 2008 system.
One important system aspect to keep in mind is the changes that took place when the 2008 version of the integration system was "rolled out." The new features were to better support the day-to-day activities of administrators than the 2005 and other versions. The advancements in individual components of the 2008 version made it more intuitive but, perhaps, inadvertently more complex to integrate with with other systems. For example, its policy-creation configurations are broken into facets, which are meant to be "matched" to the conditions of your policy. While this offers manual control, it's possible that other systems such as SDT will not integrate with 2008 as easily.
In light of the unique qualities of the 2008 version, as opposed to its predecessors, special attention to specific integration maneuvers is necessary. Also keep in mind that the SSIS 2008 R2 version yields more problems than the standard version.
The changes to SQL 2008 also include some discontinuations. In the move to this particular version, there was a large swath of features that were discontinued. As a result, the version lacks much backward compatibility. These conditions may require significant changes in your other systems.
Related
I have been working for a client who run SQL Server 2008 in their live environment. I had been working onsite for a period but now work from home. However, due to security, I cannot connect to the live setup, I can only connect to a test server. This server runs SQL Server 2012. I script any code and send it to the office for someone to deploy. The problem I have is I am now doing some reporting services work. They are only pretty basic reports, tablix controls, nothing fancy. Is is possible to build on 2012 and deploy to 2008? Can I do something with the .rdl file to make this work or is it not going to be feasible?
Thanks in advance
In the Properties of the ReportServer Project in Visual Studio you can set the target server version.
Right click the Project in the Solution Explorer pane and set the TargetServerVersion Property to the required version. This works for reports SQL Server Reporting Services 2008 onwards. The designer will then manage what features are available to avoid using features from a later version of SSRS.
The .rdl files are nicely formated XML. You can use your favorite diff tool to compare reports generated in either version of the tool.
I'm pretty sure that Microsoft doesn't support moving a newer RDL to an older version server.
There were huge changes to the .rdl format between 2005 and 2008, moderate changes between 2008 and 2008R2, but I haven't really looked into 2008R2 versus 2012. From what I've seen these should be smaller changes yet.
If you do this you are off of the golden supported brick road. Since this server is production, and you don't have a good way to test this, I would find a 2008 server to develop with. I wouldn't want my name connected with the possible problems that could come up with a hack to move the rdl backwards.
If I create a database using 2012 and work and add that info to it, if I were to script the database after, would I be able to run the script in 2008 and have everything work A.O.K?
If you are using SQL Management Studio, you can right-click on the database name, then select Tasks → Generate Scripts.
Here you will be able to create scripts to script out the Schema, Data, or both Schema and Data, and if you click the Advanced button, you can specify which version of SQL Server you'd like to target.
So, simply choose SQL 2008 as the destination server and you should be good to go!
A script? Yes. Well, let me rephrase: it depends. As long as your objects don't use any 2012-specific features, you will be able to script out the schema using Management Studio or a variety of 3rd party tools (I blogged about some options here). Many of the tools also offer options (or companion tools) to also script the data.
The problem is there isn't a very easy way in SQL Server 2012 to identify all of the places where you might be using 2012-specific features. For example, I don't know of a tool that will inspect your database and point out that you are using the FORMAT() function, which is not available in SQL Server 2008 or 2008 R2.
Other means of copying the database over - backup/restore, attach/detach, mirroring/log shipping etc. will not work. You can go up (from 2005, 2008 or 2008 R2) to 2012, but you can't go backwards.
So in general I agree with John. Much safer to develop on a version <= deployment version. Why would you want to develop on 2012 to deploy to 2008? Seems quite risky to me.
If you have very large amounts of data to move (gigabytes) then the TSQL scripts that the SQL Management Studio will generate for you could give you problems because of the sheer size. A better alternative would be to use BCP (Bulk Copy Program). The downside is that this is a command line utility and requires more work than just using the wizard.
As luck would have it somebody has written something which looks remarkably like the wizard only using BCP. It is the SQL Database Migration Wizard and is freely available on Codeplex - http://sqlazuremw.codeplex.com/releases/view/32334. Originally intended as a database migration tool between SQL Server and Azure you can just as easily use it between SQL Server and SQL Server. The key is to go into the advanced options (similar to the Management Studio wizard) and pick SQL Server. Later when you are prompted for the target system choose your 2008 installation.
I had no 2012 specific artefacts in my database and it worked very smoothly for me.
We have a production database running on SQL 2005. We are using SQL 2008 Management Studio. The issue we are having is that some of the stored procedures/functions we write get code that is compatible with SQL 2008, but not with SQL 2005. The newer management studio doesn't flag this as an error, but when we try to deploy a version, we get a large amount of errors. Is there any way to get 2008 Management Studio to validate code for compatibility?
Thanks!
Even if you are using Management Studio 2008, you dev database should match the prod one. It is an extremely poor idea to develop against a 2008 databse when your prod database is 2005. You can still hook to 2005 databases in management studio 2008. Then you will find out immediately that the code doesn't work. In fact if you are attached to a 2005 database, it will only let you use 2005 syntax. We attached to 2000 database for a long time until we got all the servers upgraded and it wouldn't let us write 2008 specific code as long as the database we attached to was 2000.
If, for some reason (and I stringly recommend against it), you will continue to develop against a 2008 database, I also suggest you look in Book Online for the new features of 2008 and make sure all your devs know which features they should NEVER use. Make sure your code reviewers check code against the list.
You can set the Compatibility Level to SQL Server 2005 (90) under the Options section of the database properties.
Right click the database, select Properties, and then select Options.
I am setting up my development machine and I am wondering if I should install SQL Server 2008 R2 (for Developers) or SQL Server 2008 (for Developers) on my machine.
All of the databases that I work with are on SQL Server 2008 (not the R2). So I am torn. Should install what I am currently using? or should I be a bit forward looking and use the R2 version?
Will the client tools from the R2 install connect ok to the non R2 servers?
I guess in general what I want to know is what are the differences between R2 and non-R2 from a developer's point of view? (I don't really care about back end stuff too much.)
As far as I'm concerned, in R2 more features previously available only in Enterprise edition are now available in Standard edition. Otherwise, no big difference.
For a non-Business Intelligence developer (just plain old OLTP stuff), there's really hardly any difference and any additional features in R2, unfortunately :-(
The only thing that might become interesting at some point is the Master Data Service stuff - can't totally wrap my head around it just yet, so for now : R2 is not a big release for database devs in my opinion. Works great and all - but all the new shinyness is in the BI space.
Well.. in my case I have instaled on my computer SQL server 2008 but I wasn´t able to run SQL server management Studio so I decided to move on SQL server 2008 r2 and it works for me, I was able to start successfully SQL server configuration Studio and to connect to Vs2107 that was my primary goal.
Is there any chance of installing Reporting Services 2008 against an instance of SQL Server 2000? The docs clearly state that only SQL Server 2005 or 2008 are supported, but I thought I should ask anyway, for ways to bypass this limitation.
I should mention that I am not talking about the data source for my reports (which is a remote data source that can be any type of sql server). I am interested in the databases where the report server stores its things.
No, the reportserver and reportservertempdb REQUIRE 2005 or 2008. You could source data for your reports from a 2000 instance, but your reporting services databases need to be 2005 or 2008.
see: http://msdn.microsoft.com/en-us/library/ms157285.aspx and read the section on Database Server Version Requirements
I have no idea if this would work, however reporting services also depends on the SQL Server Agent service (for subscriptions) as well as the relational databases, so both would need to be compatible. If you have Reporting Services 2008 then you (or your organisation) must own a SQL Server 2008 license of some sort, therefore I cannot see why you would ever want to do this since you can install the SQL 2008 database engine to support your report server (on the same server, otherwise you would need an additional license).
Bear in mind that as of April 2008 SQL Server 2000 is no longer in mainstream support from Microsoft, so you should avoid implementing new infrastructure or functionality using this version wherever possible. The configuration you describe above, even if you got it to work, would be unsupported by Microsoft and probably all ISVs and partners.