We are using Azure Cloud for our web application.
Once we work outside of the office we want to connect Azure Sql Database.
But the connection is too slow. Sometimes it takes one minute to get a response.
Is there any settings we need to apply to increase connection speed?
Related
We have a WinForms desktop app that connects to a remote server to pull some data. The remote server hosts a web service on a standard IIS website that queries a SQL Server database installed on the same machine. Today, if the remote server is under maintenance or not available our end-user cannot retrieve the necessary data.
Now I am requested to make this feature fault-tolerant. Here are my questions:
Should I ask for another remote server that runs the same web service and move the DB to a third remote server? So the two web services can connect to the same DB?
Should I consider moving the web service logic to the WinForms desktop app and connect directly to a remote DB paying a first-class 99.99% availability service?
Do AWS or Azure provide a ready-to-use solution that fulfills my requirements?
Is there any other option I didn't consider?
In the desktop version of Power BI, there is data that is from a SQL Server stored on an Azure Virtual Machine. The data has no problems manually connecting and refreshing in the desktop application, but this data is not being refreshed automatically. Gateway is installed on the same Virtual Machine that the SQL Server is on. DirectQuery is used in Power BI to connect to the SQL Server.
It sounds like there could be a couple of issues here. I've listed them below in bullet form.
Ensure scheduled refresh is enabled through the PowerBi online
service.
Ensure the firewall isn't blocking the gateway on the SQL server.
Ensure the credentials you are using with the gateway have read
permission to the database.
Even when the gateway is installed and working correctly. Live refresh isn't a feature that is available within the desktop client. This can only be achieved by clicking the "Refresh" button on the desktop client. Other than that I don't think I can provide any further help without additional information.
The solution consists of an SQL Database and desktop application working hard with that DB. DB Deployed as Azure SQL Database, application running on Azure Virtual Machine with Windows Server onboard. What is the deployment guidelines for this two services in Azure? I want to achieve max performance. Should they both be located in same resource group?
You will need to get your app and the database located as close as possible so yes the same resource group.
Make sure you do not have Mars enabled (MultipleActiveResultSets in connection string).
Make sure you do use connection pooling.
Read this to understand what you are dealing with:
https://www.simple-talk.com/sql/learn-sql-server/improving-the-quality-of-sql-server-database-connections-in-the-cloud/
Ed
If I only have one VM in Azure I can get outtages at any time when Azure decides to reboot/reprovision my server. Therefor I have to at least two servers in an availability group to get a stable environment.
This is used by a web app (web roles) and an important aspect is that the databases are used for reading. They will get their data from sql replication from an on-premises database. The replication can be done separately to each database. Additionally using Azure Sql Database is not an option because we have not be able to implement a durable data sync solution (using Microsoft Sync Framework), Sql Database does not support sql replication, and constantly uploading the complete database would be too slow.
How should the database VMs be hosted and accessed to able to use Sql Server VMs?
One alternative is to use AlwaysOn Availability Groups. This however requires Sql Server Enterprise edition and the price is very high considering I need to have at least two servers. In this scenario I at least get one connection point behind which a sql server always should be answering. This is however beyond our reach because of the cost.
One alternative could be to use Traffic manager to round robin the connections. When the database server goes down we have to wait for TTL to expire before the webrole would refresh the ip address so that seems a big problem.
How should one host Sql Server VMs in Azure?
You can use FailoverPartner parameter in the connection string to specify the secondary replica address. You can see more in this article.
I'm working on a large web application running under IIS 6.0 and connecting to an SQL Server 2005 database. I'm currently trying to connect to the database using Windows Authentication to properly log which user account updates records in the database, but I've run into a bit of a performance issue; The initial connection that establishes the session takes easily over a minute to finish.
There are no network issues (This is a test server, so all tests are local). My IIS is configured to use Basic Authentication (I need the login info plain) and Local Impersonation is enabled, with an empty username/password setting.
This setup establishes the connection properly, but as mentioned, takes way too long to start up (subsequent queries are performed at normal speed)
Does anyone know if Local Impersonation should affect performance this dramatically? Am I looking in the wrong place? Is there any way to force SQL Server to keep the database connection open?
Thanks in advance for any help!
Try changing the way you reference your local server. If your application settings are (local)\instance_name update it to (127.0.0.1)\instance_name.
I’ve had similar performance issue in the past and this fixed it. Note that you’ll need to add this IP address as one of the listeners in SQL Server Configuration manager under Network configuration -> TCP/IP