Replacing SQL replication - sql-server

We are looking to replace SQL SERVER replication.
Today we've got several version on SQL installations because SQL replication does not support working with different SQL versions (2005 and 2008 for example), so instead of having several installation of SQL version (2005,2008,2012 etc...), we are looking install a single version on the server (let's say 2014) and using this version to replicate between all our clients (2005+).
Today we are using transnational and merge replication at the same time for each database.
I would like to know:
Is there a way to make different version replicate with each other?
Is there and good tool that can replace that replication?

SQL Server 2014 supports replication with SQL Server 2008 and on. https://msdn.microsoft.com/en-US/library/ms143550(v=sql.120).aspx
So if you use SQL Server 2012 as backend, SQL Server 2005, 2008 and 2012 clients are supported.

We are using transnactional replication between 2012 and 2016 and 2014 and 2016. For us the trick was to create a publisher on the older version and a pull subscription on the newer version. The only other thing to watch out for is you need to manage the relationship in SSMS using the older server as trying to go to properties from the 2016 box will throw an error.
I saw something about changing data types or another server setting that would eliminate the errors so it might be worth looking around.

Related

Trouble after Upgrade SQL Server version and have two server now in services.msc

I'm a beginner in this, I've been searching for long on internet. But as many solution in internet, I don't understand as much i wanted. And I have some question to for resolution. I see a place the recommend to ask some like this as Super User, but I recently just started using 'Stack Overflow' so I don't know How To Use Super User.
Start when I download a new setup of SQL Server 2016 and choose option to 'Upgrade-from-previous-version', from process I see, it just added 2 features.
From what I really want is to change entirely my SQL server from 2014 to 2016.
Two Server in services.msc
So i try to do option 'basic-installation' from installer and it work honestly but provide 2 server which server 2016 and 2014.
Maybe I can just uninstall the server 2014, and get work with 2016 instead. But Can I bring my database in 2014 too?, I mean it has compatibility-problem.
And it don't have SQL Server Management Studio so I download a newest version of it (v18.00)
Two server with different SQL Server version
My question is =
Can I keep my database in server 2014, my database in 2016 is empty (did I must attach it again)?
Did it just OK to have two Microsoft SQL Server Management Studio?
Why I don't get MSSMS when I install SQL Server 2016?
If I must do Question1, How To Upgrade my database to version 2016?
Is it bad for my laptop to having two Version of SQL Server, or I must delete one?
Backup and restore to 2016 (or keep it in 2014)
Yes, but not necessary, just use latest version, uninstall older
Management Studio can be downloaded separately
See (1)
No, both can be kept, but remember that both services will be running which may impact performance and resource usage. You can stop these services using SQL Server Configuration Manager

Using the same database on different versions of SQL Server

We have several SQL Server databases at work and we plan to keep all of them in a Database Server. However, while we use SQL Server 2014 in some of the databases, there is also a database (let's say ABC) with the version of SQL Server 2008 R2.
The problem is that; ABC is a database originated from another company and sometimes it is updated by them using scripts, etc. So, this means that we have to go together with the version they use. As far as I know, it is possible to restore a database of version 2008 R2 in the version of 2014 but the reverse operation is not possible (to restore a database of version 2014 in the version of 2008 R2).
So, in that case what is the best way to solve this problem by using the single database (SQL Server 2014) on the same server?
You can generate database from the 2014, 2008 compatible. You can dig into the advanced option and you will find creating scripts for triggers, indexes and all dependent objects.
Generate Scripts
Choose Compatibility
Specify Data generating scripts
The server could be 2014.
You just need get SQL Server Management Studio (SSMS) version 2008 and generate backup using it.
You could have lots of SSMS versions.

Does my sql code go unavailable when I upgrade my SQL Server from 2008 to 2014?

I have a server running SQL Server 2008 Enterprise version which has a lot of SQL Codes and I want to upgrade it into SQL Server 2014 Enterprise version. But I don't know what will happen after I upgrade the SQL Server. Will there any SQL Code go unavailable/error? Will it run correctly after upgrading?
SQL Server 2008/2014 is a tool. It has got nothing to do with data/procedures/views etc. Data for SQL Server is stored in the form of .mdf files. So, no, your data or procedurers wont be touched. But yes lot of features are going to be deprecated in SQL Server 2014 when compared to SQL Server 2008. Full list is here. You should go through the list and find a suitable replacement for every deprecated item before migrating.

What will be missed if report server 2008R2 database gets restored in SQL server 2014

I'm planning to migrate all the SSRS reports from 2008R2 server to new sql server 2014 environment. As far as migration is concerned, I was asked to take the backup of 2008R2 report server database and restore it in 2014 server.
I was not convinced with this since there may be new tables available in 2014 Report server.
The new features of 2014 cant be utilized if the old report server database is restored.
Please let me know if this thought is correct.
Are there any new tables available in 2014 report server database?
What is the best option to migrate ssrs reports from 2008 r2 to 2014 server?.
Your question is a bit confusing, I will assume you want to move the database from a Server A with SQL Server 2008R2 + SSRS 2008R2 to a Server B with SQL Server 2014 + SSRS 2014.
Are there any new tables available in 2014 report server database?
There is no official communication on it.
If you really want to know it you could do a schema compare between the 2 versions.
But do not forget to compare everything, not only tables:
Columns
Stored Procedures, Functions
...
Database structure is not the only thing to take into account, what about:
All the configuration files
Encryption Keys
...
What is the best option to migrate ssrs reports from 2008 r2 to 2014
server?.
Short answer:
My recommended way of doing it would be to use RS Scripter and generate a script on Server A with all the objects (reports, datasources, subscriptions, ...) you want to move.
Then you can restore it on Server B.
Long answer:
If you really want to migrate the full database like you were asked to do, there is no officially supported way to move the database to another SQL instance and upgrade the version at the same time.
You could try to follow the steps to Backup and Restore Operations for Reporting Services, and apply it to a newer SQL Server instance with another SSRS version, but it will be at your own risk.
The supported ways to do would be to either:
Upgrade from SSRS 2008R2 to SSRS 2014 on Server A
Move from Server A to Server B
or
Move from Server A to Server B
Upgrade from SSRS 2008R2 to SSRS 2014 on Server B
Here are the related MSDN articles for these operations:
Migrate a Reporting Services Installation (Native Mode)
Upgrade to SQL Server 2014
Again, I would advise using a tool to migrate the reports and other items instead of trying to migrate the full database.
I do not think restore 2008R2 reportserver db on 2014 will work, because the report definition schema is totally different.
I did a migration task to move 2008R2 reports to 2012. Because there are hundreds of reports on the 2008R2 server, I found the easiest way is to write some codes to read report definition, and then create on 2012 server.
From: https://msdn.microsoft.com/en-us/library/ms143747.aspx
There are two general approaches to upgrading a Reporting Services
deployment:
Upgrade: You upgrade the Reporting Services components on
the servers and instances where they are currently installed. This is
commonly called an “in place” upgrade. In-place upgrade is not
supported from one mode of Reporting Services server to another. For
example, you cannot upgrade a Native Mode report server to a
SharePoint mode report server. You can migrate your report items from
one mode to another. For more information, see the ‘Native to
SharePoint Migration’ section later in this document.
Migrate: You
install and configure a new SharePoint environment, copy your report
items and resources to the new environment, and configure the new
environment to use existing content. A lower level form of migration
is to copy the Reporting Services databases, configuration files, and
if you are using SharePoint mode, the SharePoint content databases.
If you do an in-place upgrade from SQL Server 2008R2 to SQL Server 2014, then everything should work as expected.

developing SQL 2005 application using SQL 2008 server

I am developing an application for one of my customer who has SQL 2005 but I have SQL 2008 on my system. Can I develop my application using SQL 2008 and then ported it simply to SQL 2005? I will use EF and C# for my application and the SQL DB has database (no code).
Just install SQL Server 2005 express and use that
At some point, developing an backward compatible app will come back to bite you because there are differences in data types, deprecated features, discontinued features, and behaviour changes. The list is too long to try and remember for development
Short answer: yes.
But there are some differences between SQL 2005 and SQL 2008 databases. You should read up on those to make sure your database is compatible with SQL Server 2005.
For example some datatypes only exists in the one version and not the other and so on.

Resources