Connecting to on-premises SQL Server through Azure Service Bus - sql-server

Is this possible through some tcp redirection? If so, how?
Edit: I'd like to connect to on-premises SQL from a worker role to do some custom ATS-SQL synchronization.

About 18 months ago, Clemens Vasters posted an article about building a Port Bridge over the Service Bus, which demonstrates how to connect to an on-premises SQL Server database. No use of Azure Connect. The article is here.
This is just a sample, and not necessarily considered production-ready, but should hopefully get you going in the right direction.

You can try out the new Service Bus EAI & EDI Labs Release. It provides connectivity to various on-premise systems including SQL Server. The connectivity is provided using Service Bus Relay, and may be exactly what you are asking for. In the process, we can do transformations of the data on the cloud etc.
It is not in production yet, but we would like to get feedback on this.
http://blogs.msdn.com/b/windowsazure/archive/2011/12/16/announcing-the-service-bus-eai-amp-edi-labs-release.aspx
Thanks,
Sameer [MSFT]
sameerch # microsft.com

Have you looked at the Sync Framework to synchronise your data?
Sync Framework: SQL Server to SQL Azure Synchronization

Much as I love the idea of routing raw TCP traffic through the service bus the performance is going to be pants (sorry Clemens...)
Have you taken a look at WIndows Azure COnnect
http://www.windowsazure.com/en-us/home/tour/virtual-network/
This will basically give you a VPN like connection back to your on-premise SQL Server. If you can make it work (i.e. can install the agent locally) then this is probably the best approach.

If all you need is data sync, have you looked at SQL Azure data sync?
http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-data-sync-overview.aspx

Related

On-prem SQL Server to Azure

I have 2-3 source systems which are on-prem databases. I am planning to use Logic Apps to connect to these source systems. As per the Azure documentation we need to install a On-Prem Gateway on a local computer.
I am skeptical of this methodology as it demands dedicated system, so not sure if this works in actual production scenario.
Please can you suggest what is the right way to do it.
Here is how to connect to on-premise data sources:
If the services are accessible over the internet then you call service endpoint over HTTP or HTTPS from azure logic apps. This article will help you with details steps to be followed: https://learn.microsoft.com/en-us/azure/connectors/connectors-native-http
If it is not accessible over the internet then this article will help with step by step process: https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-gateway-connection
Before you can access data sources on premises from your logic apps, you need to create an Azure resource after you install the on-premises data gateway on a local computer. Your logic apps then use this Azure gateway resource in the triggers and actions provided by the on-premises connectors that are available for Azure Logic Apps.
Also check this for reference.
You may also want to consider the costs.

Process data from on-premise SQL Server with cloud functions?

My client has his data stored on SQL Server hosted on an on-premise network. I established a VPN connection from Google to the network, but I don't know how to follow from here. My final goal is to process his data using cloud functions. Any suggestions?
PS: I read that Shared VPC can be used to accomplish this, but I don't have a proper organization for this purpose :/
Edit: I followed the suggestions on the comments but now I'm missing to extract the data since pyodbc is not pre-installed on Cloud Functions. Any ideas oh how to query an on-prem database on SQL Server through Cloud Functions?

How can I use a Azure Database for PostgreSQL in a Azure Logic App?

To simulate a device I want to use a Logic App to fill a Azure Database for PostgreSQL with test data.
I found the two connectors PostgreSQL and SQL server but unfortunately both don't work for me. The PostgreSQL connector does only support onpremise databases and neither the autodetection nor the manually input of the connectionstring works with SQL Server.
Would great if somebody could give me a hint how to write data into a Azure Database for PostgreSQL from a Logic app.
Unfortunately, there is no connector available for this as of today.
The current alternatives would be
Use Azure Functions (which can be called from Logic Apps if required)
Create Custom APIs and a Custom Logic App Connector
Also, there is a feature request on UserVoice that you may upvote to gain traction.

Replication advice for local SQL Server to hosted server

we're close to migrating our legacy MS Access app to SQL Server for our internal warehouse management system. Our customers are often asking us for access to the data for e-commerce integration and general reporting. Once the migration is complete I would like to provide open access to the data via web services and odata. However I don't want to host these services as we are on a slow ADSL connection which won't cope with the traffic.
My question is, can I replicate (one-way) to a remote DB hosted by shared-hosting companies such as Hostgator? I see they have shared windows hosting with unlimited MS SQL DBs. Are there any special requirements on the hosted-side? For instance do I need to explicitly set-up replication on hosting db or is it managed on the client-side?
If this is possible then I might be able to run all our web services and reporting apps on the host's servers, and only the replicated data need travel over WAN. What sort of control is there over replication? Such as bandwidth throttling, replication periods etc? For instance when & how often does replication take place?
I'm new to SQL Server in general and some of the topics are a little overwhelming.
Thanks for your help.
You could try setting up transactional replication with a push subscription with the distributor on your side. The relevant bit is how the distribution agent connects to the subscriber. distrib.exe supports both trusted and SQL authentication, so you should be good to go either way.

Database Security for Sync Framework / Occasionally Connected Apps?

My company is building an occasionally connected app, and we're thinking about using the Microsoft Sync Framework.
From what I can tell, though, clients are required to connect directly to the database server in order to sync. This sounds like a security hole. I could use a VPN to connect to the server, I guess, but my database is on EC2, and we've wasted lots of effort trying to get a VPN solution work on EC2 to no avail. I've read plenty of other tales, confirming that software VPNs on Windows/EC2 don't work.
Any suggestions on how to architect this Occasionally Connected App?
Clients do not need to connect directly to the database. It's very easy to sync over a WCF service using wsHttp or netTcp bindings.
See the tag Faq here: https://stackoverflow.com/tags/microsoft-sync-framework/info

Resources