Alternative of Azure elastic query? - azure

We are having 20 database in Azure. From First database we are using Azure elastic query to fetch employee details from each database to show in ui. But elastic query is taking taking lot of time for only 500 rows.
Is there any alternative way to handle cross database querying in Azure.

Cross-DB query in SQL Server is generally a lot faster than Elastic Query. If you want cross-database queries in a PaaS service, please consider SQL Azure Managed Instance which supports multiple databases per instance like SQL Server does. You will find the cross-db perf to be similar to SQL Server cross-db intra-instance queries.
Best of luck

Related

What extra one gets by selecting Azure SQL Managed Instance vis-a-vis Azure SQL DB PaaS

I would like to know what extra benefits one get by choosing Azure SQL Managed Instance compared to Azure SQL DB PaaS. I know SQL Managed Instance is offered as a vCore based purchasing model only. Apart from this what is the extra add on and benefits that one gets over the other. Any reply would be appreciated.
With Azure SQL Managed Instance, you essentially get a full fledged SQL Server that you can control any way you want, just like you would control a locally configured SQL Server. All the power and access and customization you want.
With, Azure SQL DB PaaS, you are essentially getting a database service, so, you give up a lot of control.
For example, take server collation. With the database service, SQL_Latin1_General_CP1_CI_AS , is all you get. With the Managed Instance, its your server. So, go ahead and select whatever collation you want, just like how you would select the collation at the time of creatoin.
Another issue is with auditing, if that is something that is important to your setup. with SQL Managed Instance, auditing happens at server level, because, you are getting the full database server. With the database service, it only database, because, you are only getting a database.
These are just the main details that I found. more details here at this Azure doc - https://learn.microsoft.com/en-us/azure/azure-sql/database/features-comparison
Of course, Managed is going to cost you more because you are paying for the license of the SQL server too.
Lastly, for me, this is the almost (not the exact same thing) like you running your own File Server on a Windows VM on Azure (Managed Instance) versus, just using Blob Storage. In both cases, you are just trying to store some files, but its how much control you have.
I would say think about Azure SQL DB vs Azure SQL Managed Instance (MI) as
Azure SQL DB = Resources dedicated to individual DBs like a container. They are grouped under a Azure SQL Server but that SQL Server is just for grouping.
Azure SQL MI = Almost same as on-prem SQL Server except you don't have to worry about OS, backups, high availability.
Here is a good comparison.
https://learn.microsoft.com/en-us/azure/azure-sql/database/features-comparison
Hopefully this will help
Azure SQL Database - The usual PaaS way. You have vCore, DTU, and Serverless billing mode. And Elastic pool support.
Azure SQL Managed Instance - Similar as below. When you want to use instance-scoped features of Azure SQL Managed Instance like Service Broker, CLR, SQL Server Agent, and Linked servers. As if you have an SQL Server on premise, Azure is responsible for patching, upgrading version etc.
SQL Server on Azure Virtual Machines - Similar as above. But you are responsible for OS and SQL server upgrade.

Is it possible to use Azure Analysis Services as the backend to a web app hosted on an Azure App Service

Instead of AzureSQL --to- App Service website
AzureSql --to-> Azure Analysis Service --to--> App Service Website
The only insructions we see online is how to connect AAS to Powerbi, Excel Etc. Is it possible to use it as a backend to a website?
You can't seamlessly connect to analysis services from azure sql. Linked server feature is not available on azure sql, instead we get https://learn.microsoft.com/en-us/azure/sql-database/sql-database-elastic-query-overview which doesn't really help you in this scenario.
Atm your only option is to connect to AAS, get records you want, insert it to database and do normal query.
In MS SQL server you can define analysis services as linked server and query it directly from from tsql with https://learn.microsoft.com/en-us/sql/t-sql/functions/openquery-transact-sql but even in this case it might be a good idea to copy result of open query to sql table first and then use that table in joins. MS SQL doesn't really know how many records will be returned by open query so in many scenarios it will produce sub optimal plans for queries that use open query results.

Azure SQl Server Cross server Database Queries in Azure SQL Database

hi i have create 1 database in Azure SQL server .Now i want to create procedure using link server.And my other database is on different server not on Azure.So it is giving error .Please help
Linked servers are not supported in Sql Azure. If both servers were in Azure, you could used elastic database query to do cross database queries within the SQL Azure Server.
Perhaps you could give us a clearer idea of exactly what you're trying to do, and what the exact error is?

Azure - SQL (IaaS or PaaS)

I've been trying to figure out if I can run my DBs using PaaS for a specific application.
The bit I can't quite find an answer to is if Azure DBs on PaaS supports running as a Transactional Publisher?
I've seen an article that says a DB in Azure is capable of being a subscriber, but can't find anything regarding the other way round.
Today SQL DB doesn't support transaction replication if the SQL DB database is the publisher.

Can't query between databases in SQL Azure

I have a SQL Azure Database Server and I need to query between the Databases but can't figure out how to accomplish this.
Here is the structure of my databases:
Server.X
Database.A
Database.B
Database.C
In Database.A I have a Stored Procedure that needs to retrieve data from Database.B. Normally, I would reference the database like SELECT * FROM [Database.B].[dbo].[MyTable] but this does not appear to be allowed in SQL Azure.
Msg 40515, Level 15, State 1, Line 16
Reference to database and/or server name in 'Database.B.dbo.MyTable' is not supported in this version of SQL Server.
Is there a way to do this on the database end?
In the final version Databases A & C will both need data from Database B.
Update:
As per Illuminati's comment and answer, the situation has changed since this answer was originally accepted and there is now support for cross database queries as per https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/
Original Answer (2013):
Cross database queries aren't supported in SQL Azure. Which means you need to either combine the databases to prevent the need in the first place, or query both databases independently and basically join the data in your application.
Cross database queries are now supported in SQL Azure
https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/
Azure SQL DB is previewing Elastic Database Query feature at this point in time that will help you query among Azure SQL DBs with some limitations. You can get detailed information about the feature here.

Resources