Connecting iisexpress to an azure sql db which is security enabled - visual-studio

I created an azure sql database and started developing my web app. From Visual Studio I could debug using iisexpress and it would happily connect. But now I have turned on the "Security Enabled" feature (to require encrypted connections), the connection from iisexpress times out.
I edited the connection strings in the azure portal and the actual azure web app works fine, its just debugging with iisexpress that is broken. I've copied those exact connection strings into my web.debug.config.
Does anyone know how to get this working?

There is no need to change the connection string anymore if you set the "Security Enabled Access" to "Required". The only reason to use the security enabled connection string (the ones which looks like: .database.secure.windows.net) is if you have down level client. Only .NET 4.0 and below will require it. 4.5 will just work fine.
Please note, the security enabled connection string is not related to encryption. you need this feature if you want Auditing and Dynamic Data Masking.
Thanks,
Tomer - MSFT.

Related

How can I run my project on client pc without installing SQL server on client pc

I have developed a c# windows application which uses SQL server 2012 database in Visual Studio 2015 which is running well on my pc.
I am to install this application on a number of computers without SQL server installed on it, but when I run the application, its gives me database connection error.
My question is, how can I create the setup file to be able to run the app on those clients pc without installing SQL server on all those computers. Please I need your help.
Thank you.
Am Emmanuel.
Use an Azure database and have the clients connect to that.
Have a look at https://azure.microsoft.com/en-us/services/sql-database/
Alter your application connection string and make sure you keep the connection string secret.
Server=tcp:myserver.database.windows.net,1433;Database=myDataBase;User ID=mylogin#myserver;Password=myPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;
An important fact is that the clients need to allow communication via port 1433.
If this is not an option create an API application and query the database via that.
If you need a private database per client you can use a database file and connect to the file
https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-express-localdb?view=sql-server-ver15
Update based on reply
You can create a pop-up on the application allowing the users to add valid settings and credentials when your appsettings.json is blank or "a test connect" to the database fails.

Is it possible to connect using Azure AD with MFA for Entity Framework calls via Visual Studio?

I'm trying to connect to a SQL Azure database from the VS package manager console - e.g.
Update-Database -ConnectionString "Some connection string that let's me connect with AzureAD MFA" -ConnectionProviderName "System.Data.SqlClient"
The closest I got was using this connection string, but I got an error saying that MFA was required, which makes sense! Is there another way to specify the connection to authenticate via AAD and prompt me for MFA, similar to the way SSMS can do it?
As far as I known, you can use C# to connect Azure SQL database with the use who enables Azure AD MFA.The C# program uses the interactive mode of authentication, which supports Azure AD multi-factor authentication (MFA). For instance, a connection attempt can include a verification code being sent to your mobile phone. For more details, please refer to the official document.

Can't login to SQL Azure Management

Actually i have following step by step from http://www.windowsazure.com/en-us/manage/services/sql-databases/getting-started-w-sql-databases/ to create database and etc.
But when i try to login using username and password which i have configured,message error appear " Failed to retrieve connection information. Try to login again. "
I have configure firewall before to allowed my public ip to access the database.
How to solve my problem ?
Thanks
Clear your cookies and browsing history and contact Microsoft support if this persists after some time (like an hour)
That is very interesting problem.
What about checking connection with Microsoft SQL Server (can be Express edition).
If you configured firewalls then you should be able to access Azure database via Microsoft SQL Server Management Studio from your system with no problems.
Alternatively you could check Visual Studio. But I am not sure if Visual Studio Express edition can connect to Azure databases (you might need some paid version).
If you still have some connectivity issue using SQL Management Studio then that would indicate some networking problems between your place and Azure data centre. In that case I would recommend spinning up another Azure database (for very short time) in different data centre, set up firewalls and see if that will work.
EDIT
Any way to configure Firewall for Azure ?
Firewall to database cannot be configured at a level of individual databases; it needs to be configured at a level of server.
In Windows Azure Management portal, go to Database tab and then select database server:
Once you in server dashboard, select configuration top tab. You can change DB Server firewall allowed IP addresses under Allowed IP Addresses
In the same section there is Current Client IP Address which tell you the current IP. That very handy when you work with VPN or change your network quite often.
Allow popups. Chrome was blocking this from me.

azure web application not working from azure--no errors

I created a webapplication using Visual Studio2010 MVC3 .I am able to run this application successfully on my computer emulator.Then I deployed this to azure and is not working.I cant see any errors .The only message I can see on screen is "Internet Explorer cannot display the webpage " .Any suggestions?
By default, the MVC3 template sets up session state management via SQL Express (you can verify this by looking at web.config). This works great locally but not in Windows Azure, since SQL Express won't be running there. Just change your database connection to point to SQL Azure (or disable session state) and hopefully you'll be back up and running again.
Nate Totten wrote a bit more on this topic, here.
I think it's some connection problem, not your code problem since you got the "internet explorer cannot display the website".
I would suggest you RDC to your VM and open the IIS and browse your website, to check if the deployment is correct. And then you can try to go to your website from you machine by the VIP instead of its domain name. For example http://XXX.XXX.XXX.XXX/ instead of http://yourwebsite.cloudapp.net/. If it works then I think you'd better recreate the hosted service and have another try.
HTH

Can't Connect to Database when Web Application is deployed to IIS

i have developed an application and it is working fine but when ever i create a virtual directory for it in IIS and run the application i am getting connection failure exception and named pipes exception.
thanks!
It looks like you having some issue with the database connection from your application. Can you post your code and the exact nature of the error.
Without any code or details of the language it is hard to guess what the issue can be however a common one that occurs with asp.net could be your database connection string. Are you using a SQl Server / Sql Server Express database with your application? You need to check that the connection string.
The problem is the Integrated Security=True setting in your connection string. IIS uses the ASPNET windows login which will be different to the Windows login used when running from VS. You've got a few options:
Grant the ASPNET user the required access rights on your database
Use Sql Server authentication: Set up a user on the database as a sql login and pass this username / password in on the connection string and set Integrated Security=False
Change the identity IIS runs under to one that has access to the DB.
There may be other options also however I think these are most common. Which to choose depends on the architecture you are deploying to, personally I almost always go for Sql Server Authentication using a username and password. The web.config can be encrypted for further security if required.

Resources