Transfer data between SQL database servers securely by end to end service

Mohammadreza Ale Agha 1 Reputation point
2021-10-05T22:49:37.967+00:00

Hi
We have two SQL server databases in two different location that belongs to two different companies.
I want to transfer a few table data (about a million records) from source database server to destination (Master) server. (Cumulative data of 30 companies).
By the way, for the security reasons these SQL servers have no direct access to each others and SQL ports are behind the firewalls and they have not each other SQL logins too.
Actually, I already had deployed this scenario with SQL Server Linked Server but they rejected it for security as mentioned before. So using Bulk Copy, SSIS, … because of direct access to SQL Server ports is not acceptable.
I consider using WCF service (or Web service) on both sides to exchange data between servers but I'm not sure to be the best practice (BTW, WCF is somehow deprecated)
It's necessary to have secure connection like HTTPS or any SSL connection and better to have compression or sending binary data (instead of plain text).
(Other vendor already implemented it with RabbitMQ but with some performance problems.)
I would be grateful to recommend the best practices for this scenario.

.NET
.NET
Microsoft Technologies based on the .NET software framework.
3,415 questions
ASP.NET Core
ASP.NET Core
A set of technologies in the .NET Framework for building web applications and XML web services.
4,207 questions
SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
12,808 questions
ASP.NET API
ASP.NET API
ASP.NET: A set of technologies in the .NET Framework for building web applications and XML web services.API: A software intermediary that allows two applications to interact with each other.
302 questions
{count} votes

4 answers

Sort by: Most helpful
  1. Mohammadreza Ale Agha 1 Reputation point
    2021-10-05T23:22:14.1+00:00

    This transfer will be repeated once a day. It's better to transfer only new or updated data but it's possible to delete all old data in destination server and retransfer it.

    0 comments No comments

  2. Martin Cairney 2,241 Reputation points
    2021-10-06T02:21:50.247+00:00

    You could make use of Azure Data Sync to enable this. Using this data can be shared both ways if required, but easier if it is a one way move.

    You will need to create an additional Azure SQL Database to use this, but the on-premises databases only need to have an agent installed. The movement of traffic between the source databases and the Azure management database is always secure and doesn't need firewall rules other than http.

    See https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-data-sync-data-sql-server-sql-database


  3. Mohammadreza Ale Agha 1 Reputation point
    2021-10-10T16:49:20.763+00:00

    Thanks a lot,
    The main question is, what is the best way to copy lots of records from a server to another server daily without knowing the servers about each other logins information.
    Consider the below items please!
    1-The Databases are SQL Server 2014
    2-The servers have not each other logins (so it may be like two service in each sides with their own logins to databases that negotiate with each others).
    3-The data should be transferred over the internet so the embedded support of security and compression is a privilege.
    For example using WCF Service, end to end Web API to transfer data and bulk copy to save it to destination server, … .
    Thanks


  4. Tom Phillips 17,716 Reputation points
    2021-10-11T12:10:06.94+00:00

    Since you don't have access to the SQL Server directly, your simplest approach is probably to simply export all the data to CSV files, compress/encrypt them, and upload them to a FTP or cloud site.

    0 comments No comments