My team development environment is based on local databases (SQL Server) and now I need to move our application to be based on SQL Azure Federations.
There's any way to "emulate" SQL Azure Federations in a local environment? Or should our development environment change?
afaik, you can't.
while you can simulate partitioning of data on your local SQL Server in terms of where they get stored (e.g, table partitions or partitioned views), you can't simulate the FEDERATION statements (i.e., USE FEDERATION, etc...) as they are only valid in Azure SQL Database Federations.
Related
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.
In Azure PAAS , When I create a SQL Database , it asks me to create a SQL Server why is this? Also as there are elastic pools why need a SQL Server?
Azure SQL Database and SQL Server PAAS - why need both?
Before answer this, let's see what is an Azure SQL logical server.For more information about Azure SQL logical server, please refer to this tutorial.
A logical server acts as a central administrative point for multiple single or pooled databases, logins, firewall rules, auditing rules, threat detection policies, and failover groups. A logical server can be in a different region than its resource group. The logical server must exist before you can create the Azure SQL database. All databases on a server are created within the same region as the logical server.
So the Azure SQL server is the dependency of the azure database. If you want to create an Azure sql database, an existing Azure SQL server is required. It is similar to a SQL Server instance that you may be familiar with in the on-premises world.
I have a "pay as you go" Azure subscription. I am trying to keep costs down.... Do I need the resource "SQL Server" when using the SQL database resource? As I read all the supporting documents SQL Server will be used on Azure VMs to extend on-premises SQL Server. I am not doing this, I am hosting a web application on the Cloud services (Classic) resource that is connecting to the Azure SQL database.
Thanks for the help!
Azure SQL Database gives you most of the functionalities of a "Standard" SQL Server database and is (in most cases) the choise with the lower costs.
It also provides you a set of additional functionalities (some of them needs to be enabled first or are part of the higher service tiers) like an out of the box 3-node failover cluster, geo-redundancy, automated backups, etc.
If you need additional SQL Server features like SQL Server Analysis Services, which are not part of Azure SQL DB or aren't provided as another Azure service, you need to create a Virtual Maschine with a real SQL Server installed.
The "SQL Server", which is hosting your Azure SQL DB, is just a wrapper and provides you only minimal features like user and role management or your firewall settings.
If your application is connecting only to Azure SQL database and using its features, you don't need SQL Server license. You just need to have the Azure subscription and pay for the SQL database(s) that you are using. However when you create an Azure SQL database, it will prompt you to create a "Server" resource which acts as a logical group for all of your SQL databases that you create within that "server". This server is NOT charged separately and just provides a logical grouping as well as a common connection point for your SQL databases. Your billing is always based on the SQL Database(s) that you create and use.
hope this helps.
Srini Acharya
Are there any tutorials available on the subject of migrating from an existing BI-stack based on SQL Server 2008 to Azure SQL Data Warehouse? I'm specifically interested in best practices with regards to how to handle cross database joins on non-premium tiers (our existing procedures and UDFs are full of joins on multiple database objects) and how to migrate existing SSAS cubes and its related programmability and ETL.
What BI-stack are you using? This will determine your next steps for the actual BI tools.
Specifically for cross-database queries when moving to the cloud, the guidance is to move the databases into schemas and then update your scripts to use schema based (2 part names) vs. database (3 part names) when referencing objects. For example, if you have staging and production databases you can simply move your staging objects into a [staging] schema within a single database.
Azure SQL Data Warehouse is commonly used as a backing store for SSAS cubes (MOLAP/ROLAP/Tabular mode). In the Azure cloud, customers have created IaaS SQL Server VMs to host ETL process (SSIS) and cubes (SSAS) with direct connections to SQL Data Warehouse.
I would like to delete records from an database table on Azure when the table reaches a certain size.
I would normally do this by scheduling a stored procedure job using SQL Server Agent.
Is the SQL Server Agent available on databases held on Azure?
Should I use an alternative approach?
If you run SQL Server in a Virtual Machine (or a cluster of Virtual Machines), you'll have all available features at your disposal.
If you are using Azure SQL Database service, there are some differences in terms of features offered. With SQL Database, SQL Server Agent is not available. If use of SQL Server Agent is a necessity, you'll need to run SQL Server in a VM.
The list of limitations is documented here.