I've installed two SQL Server 2008 in two sites linked by internet connection and I've installed a merge replication between them, but one of the sites got a long disconnection time and the customer asked us for a manual synchronization (file-based) so they can make servers synchronized in this situation.
My simple question is :
What's the best tool to generate changes from both databases and apply the result to both databases ?
If you can connect to both databases, you can use the tablediff utility.
Related
I want to continually sync every 30 mins or less around 380000 rows of data from 11 tables from a SQL Server database to a MySQL database. How can I do this? What programs can do this?
This post, which is often used to close questions like these as a duplicate, does not work for me, for the following reasons.
The SQL Server is part of a CRM system, I'm not sure if it may be a lite version or something, but long story short I do not have access to the SQL Server Management Studio.
The MySQL database is part of my hosting package, which means I have access to it via phpmyadmin and the like, but not to the console or anything. And obviously I cannot access it via localhost.
So basically what I'm looking for is a way to connect to both databases, probably via ODBC drivers, and sync data every x minutes/hours.
I finally used a program called Omega Sync. Now called Spectral Core Replicator.
Omega Sync can compare and synchronize both database schema and table data. Schema comparison and synchronization for databases of same kind
Data comparison and synchronization even for databases of different kind
Compare and Synchronize databases of unlimited size!
Supported databases
Access
SQL Server
MySQL
Oracle
Interbase
Firebird
ODBC sources
I am not associated with this company or product in any way.
Microsoft SQL Server replication can apply the changes to generic ODBC/OleDB subscribers. You can configure MySQL as a subscriber if you follow the right steps and use the correct drivers, but is not officially supported so you are on your own if something goes wrong. Eg. see Set up replication between Microsoft SQL Server 2000 and MySQL. since the article is for SQL 2000 is already deprecated since Microsoft SQL 2008 supports OleDB subscribers, not ODBC.
You will need a very deep understanding of both Microsoft SQL Server, MySQL, ODBC/OleDB and Microsoft SQL Server replication. If you hit errors you'll have to solve them on your own, as the public information on this subject is scarce. I can only tell you that is possible and I've seen it done. Good Luck!
i have a native windows application (software) with a local sqlexpress database. I need to bring the data from every local install (5000 in number) to central server which would be mysql.
1./ I don't think i will be able to do port forwards etc on the router at every local installation and hence wonder what's the best way to get the synchronization done.
2./ At the central server should i use ms sql instead. Is there a compelling reason to stick to ms sql at central level?
regards
Ravz
At the central server should i use ms sql instead
Yes, and not the free version.
You could then use some sort of replication.
Is there a compelling reason to stick to ms sql at central level?
You MUST be joking. Read the documentation. SQL Server has some really nice features in the non free versions for that - replication for example. The last time we tried setting this up (laptops, was ages ago) we went with transactional replication between sql servers and it worked like a charm.
Alternatively you can sit down and start writing. There is a db agnostic sync fraemwork available, or you can totally roll your own - both valid approaches. But you should really check first what you can do.
Check http://msdn.microsoft.com/en-us/library/cc645993.aspx#Replication
You can use transactional replication and use the expres editions as subscribers against a central master database.
I am trying to set up replication between SQL Server 2008 and MYSQL. I have installed a MySQL ODBC 5.1 driver on the MySQL server. Initially I was trying to just set up a linked server between the two databases which is working fine.
However now I am trying to set up replication in SSMS. I have created a simple publication but I am having problems setting up the subscriber. The only heterogeneous datasources it seems I can set up under Oracle and IBM. I do however think that I should be able to use the ODBC driver installed and replicate to the MySQL database.
Any ideas?! Thanking anyone in advance
The documentation is very clear that only Oracle and DB2 are supported in any way, and only when using OLE DB, not ODBC. Therefore, trying to set up replication to MySQL using ODBC is almost certainly a waste of time.
Having said that, native SQL Server replication is not the only way to copy data between databases, and if you can give some more information about your requirements then someone may have an alternative solution.
For example, if your goal is some form of reporting or data warehousing then you can look into the many ETL tools that are available and work with many different databases. (I'm assuming your goal is not redundancy or availability, because you're using two different platforms.)
We have live and stand-by database servers. Both are SQL Server 2008 databases and hosted on Windows Server 2003.
May I know the best practice that people follow to synchronize the 2 databases (live and stand-by) so that we could make sure the stand-by server up whenever the live server is down for any reason.
It would be great if you could also provide a reference document or web references (if needed).
We do something similar using Replication Services(within SQL Server).
Startup guide can be found here.
From the MS SQL Server 2008 "High Availability—Always On" page
For a list of solutions...
All solutions are used somewhere. We use clustering for example.
On top of my head, available solutions in SQL Server 2008 are Clustering, Replication, Log Shipping and Database Mirroring when dealing with high availability. Also worth mentioning that it does not replace a disaster recovery plan which also involves backups, etc.
I'm developing an app which will have a central database users can add entries to. The database will have to be on a server somewhere but I want the users to be able to add entries offline. The app will sync to the main db when connection is available. So, I supose I need 2 databases - the main one sitting on a server (preferably linux) and a small one on each client machine to use as a buffer when offline. The app will be coded in c# for windows. I'm having trouble deciding what databases to use and whether I can leverage any replication technology to make this easier. Also, I don't want to pay for anything ;) So I guess my questions are...
Will I have any trouble writing code in ADO.NET to move data from something like SQL Compact Edition to MySQL?
Are there any replication solutions which will move stuff from local to main database for me
I've recently discovered IBM's db2 expressC but I'm not sure if it's serverless as well as server installed. Does anyone know?
Firebird can be server or serverless. Can I replicate between them. Is the server mode capable of heavy use?
Firebird can be server or serverless.
Can I replicate between them.
Yes.
Is the server mode capable of heavy
use?
Define 'heavy use'. I've had production systems with 200 simultaneous users pumping 20 transactions/minute each on databases in the 10-20GB range. I'm sure there are many larger deployments out there.
Also, what you describe seem like the 'briefcase model'. You should look into it if you haven't already done so. Maybe the solution is not replication at the database level, but rather a smarter fat client.
Just answering two of your questions; I don't know about DB2 or Firebird.
Will I have any trouble writing code in ADO.NET to move data from something like SQL Compact Edition to MySQL?
That should be very trivial; install MySQL Connector/NET and you're good to go.
Are there any replication solutions which will move stuff from local to main database for me
SQL Server replication is made for this, but I don't suppose it would work with MySQL.