The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

Je comprends que l'on ait envie de passer à une version de Postgres ou SQLite car avec SQL Server c'est toujours la même chose et c'est un peu fatiguant ces problèmes de compatibilité d'une version à l'autre. J'ai une base qui fonctionnait parfaitement avec SQLExpress en développement, il y a quelques années, j'essaye de rependre mon projet et pouf :

Error Message

The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

Franchement, j'ai autre chose à faire que ça !

Alors là, c'est à l'exécution de l'application pour aller un peu plus loin, je remonte le projet et je me retrouve avec une application ASP.NET Aspx avec les Bases de données dans le répertoire App_Data quand j'y pense c'était bien pratique pour le déploiement.

Donner le droit d'accès

Du coup je dis que c'est peut être un problème de droits d'accès au répertoire App_Data sur ma nouvelle plateforme de développement.

Vous vous souvenez de la galère ... que c'est avec SQL Server d'octroyer les droits d'accès à un répertoire pour y poser vos Bases de Données ailleurs que dans le répertoire DATA :

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA

Alors pour mémoire, on y va :

SQL Server - Octroyez les droits d'accès à un répertoire

Bouton droit sur le répertoire puis Propriétés->Security Add ...


SQL Server - Octroyez les droits d'accès à un répertoire
SQL Server - Octroyez les droits d'accès à un répertoire

Mais quelle galère ... J'essaye d'ajouter des droits à "User" pour que mon SQL Server qui prend l'Identity User puisse accéder aux bases de données qui sont dans le répertoire App_Data.

SQL Server - Octroyez les droits d'accès à un répertoire
SQL Server - Octroyez les droits d'accès à un répertoire

Non mais c'est vraiment insupportable cette façon de gérer les droits d'accès, j'y perds ma vie !

Bon allez ça suffit, je vais déplacer mes Base de donnée dans le seul répertoire qui a les droits de SQL Serveur :

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA

Franchement, je peux vous dire que c'est fatiguant, s'il devait avoir quelque chose qui change dans MS SQL c'est bien ça, toutes ces versions du moteur qui toutes sont aussi pénibles les une que les autres à gérer. Il faut que je me mette à scripter.

Attacher mes Bases de données à SQL Server

Du coup, comme j'ai déplacé mes BDs je dois modifier les chaines de connexion en conséquence et je dois attacher mes bases de données à SQL Server.

Allez on y vas haut les cœurs :

SQL Server DataBase - Attach ...
SQL Server DataBase - Attach ...

Et ça continue Avec quelques bons scripts sous SQLite j'aurais déjà terminé.


SQL Server DataBase - Attach ...

Et vous vous souvenez qu'à la fin, il vous faut renommer la Base de Données ...


SQL Server DataBase - Attach ...

Tout ceci pour finir par essayer d'utiliser la base de mon ancienne application que j'aimerais tout simplement retravailler avec Visual Studio 2019 Community.

Me voici donc avec Visual Studio Community et son Server Explorer Tools :

The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

Oh quelle tristesse tout cela pour ça ... Pouf !

Je pars chercher la solution et je reviens vous la donner.

Solution

The user instance login flag is not supported on this version of SQL Server.

La solution est supprimer la partie : User Instance=True de la chaine de connexion. OH sans blague vous auriez pensé à ça ...

CQFD !


Aucun commentaire:

Enregistrer un commentaire