Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
Does ProGet support Azure SQL databases?
-
That would explain it then! One of the first information boxes on MSDN for DB_ID is: "Applies to: SQL Server (SQL Server 2008 through current version), Azure SQL Database,..." so we assumed that would work.
The current workaround then would be to install to another database like SQL Express, then backup/restore the fresh database into SQL Azure.
Once you've done that, edit InedoLib.DbConnectionString in web.config for the web app and ProGet.Service.exe.config for the service to both point to Azure, then restart the web and service.
I'll also put in a note to find another way to get it working on Azure.
-
As it turns out, you can't just back up a SQL Server or SQL Server Express database and restore it on SQL Azure.
What worked for me:
- Install ProGet with SQL Express and let it create the database.
- Create an empty ProGet database in SQL Azure along with a SQL login/user that has access to that database.
- Use the SQL Database Migration Wizard to automate the move from SQL Express to SQL Azure.
- Update the web and service connection strings as you mentioned to use the SQL Azure database with the SQL authentication credentials for the proget user.
- Restart the web app and service.
Thanks for the help on this one. Seems to be working like a champ now.
-
While this technically works, it makes installing and upgrading Proget very cumbersome. Since this is from 2015, and SQL Azure has been getting more traction, is there any progress on a fix for this?
Note that it seems that ProGet works fine once the SQL Azure database is built. The problem is strictly in the installers.
-
I'm not sure when we will be prepared to "formally support" this; i.e. properly documenting, setting up testing cases, running those before we deploy, making sure that we change the installer as soon as Azure rules change, etc.
Because of that, we haven't researched how to make installation simpler, let alone looked at the code and tried solutions ourselves. We would be happy to provide the community with access to our code (while we work towards open sourcing everything) to suggest ways to make life a little easier for these sorts of use cases.
If it's as simple as changing a query here and there, and it will still work with our supported SQL Server versions, then sure, why not? We just don't know Azure SQL well enough to know how simple or complex this would be.
-
It seems that the installer is just making some calls that aren't supported by Azure. I doubt they are required by the installer, they appear to be checks for DB existence, etc.
In addition, it seems the installer tried to connect to master directly instead of the database it was told to in the connection string. In Azure, that behavior is blocked by default since the main user doesn't have access to master.
Of course, I can't see what it does beyond this point since I can't get by it.
With those small changes, hopefully you'd be able to unofficially support Azure.
-
That sounds about right, but I'm not so familiar with the installer (or the Azure side) for that matter.
Anyway, I gave you access to our source code on GitLab... if you have any ideas on what we can do to better (unofficially) support Azure in this case, please share. Maybe it's something as simple as like, a try/catch/try/catch to test for Azure-compatibility.
I think, it might be this repository https://gitlab.com/inedo/ProGetInstaller, but it could also be the Inedo.Installer project as well that does the database testing.
-
Was there any progress made with getting the installation checks working for Azure. I can't access the gitlab repo to investigate myself?
-
We are addressing this now, and should finally have a better experience for installing with SQL Azure as of ProGet 5.2. (Logged as PG-1490)
-
I've been testing this now and it seems that it is not working yet.
Like mentioned already, the installer gets the connection to database, but error is thrown on summary:
"Database progetdb does not exist and the current user does not have the privilege"I try to test the previous workarounds later when I have more time.
-
We made and tested several changes to the installer a while back, but it's not something we regularly test/verify.
Please share what you find work! Thanks.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login