Database tool for inter-db joins - sql

Can someone suggest a database tool? I'm doing an enterprise integration, specifically selecting from both SQL Server and MySQL dbs. I'd like to join tables in SQL Server with tables in MySQL for comparison and testing. Portable if possible, I don't have Admin on the machines I'm running this on. Thanks,

Not sure about the MySQL side of things but you can do this with SSIS (SQL 2005+) or DTS (earlier than SQL 2005) as long as you have drivers that will connect to both instances. You can write a package that will bring in datasets from both servers and store the results wherever (db, flat files, etc).
You could also write a powershell script to query the instances (assuming you have drivers/clients for both SQL Server and MySQL installed on your machine).

Related

How can I join tables from different databases in Azure SQL (SAAS)?

Having the older application that joins SQL tables from different databases like this:
SELECT a.value, b.value
FROM databaseA.dbo.tableA AS a
JOIN databaseB.dbo.tableB AS b
ON a.thekey == b.thekey
Being 3rd party, we have to accept the decision of the main implementor for the customer to use the license Azure SQL SAAS (Software As A Service; I am new to that, sorry if some terms are incorrect).
Is it possible to have databaseA and databaseB (that part is possible, checked through SSMS) in the Azure SQL and do the same JOIN (that part is unknown to me)?
I tried, but it failed. I do not know if something more have to be done to make the other database visible from each of the databases, or if it is not possible at all.
If it is not possible, what is the recommended technique to replace the old SQL code?
As you comment said: "I understand that it is different than working within one physical SQL Server. On the other hand, the different servers is probably related to possible replication. Is that correct? ", yes, you're right.
For Azure SQL database(PSSA), we only can use the elastic query to achieve the cross database query:
The elastic query feature (in preview) enables you to run a
Transact-SQL query that spans multiple databases in Azure SQL
Database. It allows you to perform cross-database queries to access
remote tables, and to connect Microsoft and third-party tools (Excel,
Power BI, Tableau, etc.) to query across data tiers with multiple
databases.
Note:
Make sure the primary database have the permission to access the remote databases. Add the the client IP to their database firewall. The remote database can be in different Azure SQL Server.
If you are using Azure SQL managed instance and Azure SQL Server on Azure VM, you can run this across query like on-premise SQL Server.

Is it possible to execute query to mirror database? (MS SQL Server 2012)

Is it possible to execute query to mirror database? Without stopping mirroring.
In database mirroring you can query the mirrored database only if you create snapshots of that database. In SQL Server 2012, database snapshot is an Enterprise feature.
https://learn.microsoft.com/en-us/previous-versions/sql/sql-server-2012/cc645993(v%3dsql.110)
If you run queries on the snapshot you'll lave to license it, and are a few things to consider, check link below.
https://learn.microsoft.com/en-us/sql/database-engine/database-mirroring/database-mirroring-and-database-snapshots-sql-server?view=sql-server-ver15
If you're willing to license Enterprise, you'd be better of implementing AlywasOn Availability Groups where you can have a readable secondary.

importing data from one database to other when schemas are different

I have this SQL Server 2005 DB and we are upgrading to a new DB in SQL Server 2008. The schemas would be slightly different between the databases. What would be a best option to copy data from the old DB to the new DB.
Define "slightly different". Integration Service is probably the way to go.
Since the schemas are only slightly different, I would suggest making a full backup of the SQL2005 DB and restoring it on the SQL2008 server. Once you have the direct copy, use a script to migrate the data on the few tables where the schema is different.
It really depends on the definition of slightly.
Use Integration Service to design a whole package, or you can connect to the 2005 instance from within 2008 SSMS and right click on the tables and select "Import Data". This will bring up an Wizard that will do the work for you (through SSIS) and let you copy the data right over.
Another option is to use SQL Server Data Tools, which is a new tool from MS that has a schema compare tool where you can actually generate the scripts to create the tables and related objects.
http://msdn.microsoft.com/en-us/data/gg427686

replication between SQL Server and MySQL server

I want to setup replication between SQL Server and MySQL, in which SQL Server is the primary database server and MySQL is the slave server (on linux).
Is there a way to setup such scenario? Help me .
My answer might be coming too late, but still for future reference ...
You can use one of the heterogeneous replication solutions like SymmetricDS: http://www.symmetricds.org/. It can replicate data between any SQL database to any SQL database, altough the overhead is higher than using a native replication solution.
of course you can replicate MSSQL database to MYSQL
By using Linked Server in MSSQL.
for that you need to download ODBC drivers. and you can further search regarding how to create Linked server on SQL SERVER.
This option is very easy and Totally free. You can use OPEN QUERY FOR THIS.
By using SSIS Packages.
for that you need the Business Intelligence service of SQL SERVER. you can create SSIS Packages on Visual Studio and run them for replication.
No. At least not without doing a lot of dirty, bad things. MSSQL and MySQL speak different replication protocols, so you won't be able to set it up natively (which is the way you'd want to handle it). At best, you could hack together some sort of proxy that forwards insert/update/delete/create/alter, etc. queries from one to the other. This is a terrible idea as they don't speak the same SQL except in the most common case. Even database dumps which wouldn't really be replication are generally incompatible between vendors.
Don't do it. If you must use different OSes on your servers, standardize the database to something that runs on both.
These two databases are from two different vendors. While I cannot say for sure, it is unlikely Microsoft has any interest in allowing replication to a different vendor's database server.
I work with Informix and MySQL. Both those databases have commands that dump the entire database to an ascii file format. You would need to see how that is done on MS SQL Server; ftp the dump to the server hosting the MySQL server; and then convert the dump into something MySQL can import.

How to Convert SQL server to Oracle?

I have a SQL server database (Tables, Views, SP...). I need to convert this database to Oracle 10g. How can I do it?
Transferring the data will be easy; SQL Server integration services can do that, or Oracle's SQL Developer.
However, views and stored procedures are different between Oracle and SQL Server. SQL Server uses T-SQL, Oracle uses PL/SQL. These are not very compatible and I don't know a tool can automatically convert between the two. If your database relies on specific T-SQL features, you will need a developer to do the conversion.
Get the jTDS jdbc driver from sourceforge.
Add it to Oracle SQL Developer.
Tools > Migration > Migrate
Create a migration repository in your new Oracle database.
Create a new migration project.
Point it to your SQL Server database.
Convert it - mind the data types.
Migrate the data:
online row-by-row inserts over JDBC. Fine for SMALL/test boxes.
offline - use micrsosoft's unload utility to pull the sql server down to flat files. SQL Developer will create SQL*Loader scripts to put them over into Oracle.
If you have GoldenGate licensed, use that to move the data over and to synch changes from one system to the other in case you need to keep both up and going.
Start looking at the migrated T-SQL procs and functions. SQL Developer will leave comments for code blocks it wasn't able to translate...but you will need to TEST and VERIFY every single translation. Customers can see upwards to 80-90% translation rates for their T-SQL, but it could be as low as 50%...it just depends on the nature of your code.
The entire process is described here.
I wrote a white paper, with Sybase ASE as the example source platform, here. The process is identical for SQL Server. It has step-by-step guidance with screenshots.
If you have an Oracle account manager, reach out for help. We have specialists that deal exclusively with migrations such as yours. They have lots of practical advice and can recommend 3rd party partners if you lack the expertise.
sql developer can help. You can download it here , it is free. http://www.oracle.com/technology/software/products/sql/index.html
There is step by step documentation including videos on how to migrate SQL Server to Oracle DB. You find it here:
Migrating from Microsoft SQL Server to Oracle
Or you can use a tool to do the job for you like Ispirer - Migrate Microsoft SQL Server to Oracle
You basicaly setup an Oracle Server, once its ready you migrate your tables using a software made for that. I guess this script can do the job:
m2o