Comment connaitre de nom de l'instance SQL Server sur ma machine ?

C'est toujours un problème ce fameux Nom d'instance de SQL Server et c'est très Microsoftien car aucune doc ne donne vraiment la bonne réponse. Ce qu'il faut savoir c'est : L'instance nommée d'un Server SQL c'est le nom de la machine si il n'y a qu'une instance SQL Server d'installée sur cette machine.

Voilà déjà cette règle est essentielle. Ensuite, le nom de la machine est équivalent au point : "." lors de la connexion au server SQL vous pouvez utiliser "." pour vous connecter. Vous avez compris et si vous installez une deuxième instance de SQL Server alors la deuxième instance prend le nom de MSSQLSERVER01 ...

Et sinon vous pouvez consulter les noms des instances installées sur votre machine grâce au Tools de l'article suivant :

Vérifiez votre installation de SQL Server

Ici :

Le Blog SQL Server d'ElSüket - Trouver le numéro d’une instance nommée de SQL Server

Il y a un gars qui vous explique un truc du moyen âge mais ça fonctionne c'est d'aller de lire les clefs du Registre :


Comment connaitre de nom de l'instance SQL Server sur ma machine ?
Comment connaitre de nom de l'instance SQL Server sur ma machine ?
Donc dans mon exemple le nom de l'instance de mon Server SQL est : MSSQLSERVER

Et voilà !

Can't connect to localhost on SQL Server

Souvent le problème c'est de bien poser la bonne question. C'est pourquoi je prends note ici de cette question car je suis avec Mon SQL Server Management Studio et j'essaye de me connecter à ".". Oui le petit nom de localhost c'est "." dans SQL Server le point c'est la même chose que localhost 127.0.0.1.

Au bout de trois heures (à peu prêt) SQL Server Management Studio me répond par une insulte :

Cannot connect to .. (notez les deux points donc localhost).
A network-related or specific error occured while establishing a connection to SQL Server.

Mais qu'est ce qu'il a encore SQL Server, c'est ce que je vais découvrir.

Can't connect to localhost on SQL Server
Can't connect to localhost on SQL Server
Du coup de googoolise et je trouve l'excellent site de StackOverflow :

stackoverflow - Can't connect to localhost on SQL Server Express 2012 / 2016

Je me dis que si c'est bon pour SQL Server Express 2012/2016 ça doit être bon pour SQL Server 2019 ...

Ajouter une légende

On me dit dans SQL Server Configruation de regardez si les deux options TCP/IP et Named Pipes sont "enable" c'est à dire valides.


SQL Server Configuration - Enable PCP/IP and Named Pipes
SQL Server Configuration - Enable PCP/IP and Named Pipes

La réponse de Stackoverflow est parfaite, elle va plus loin mais franchement pourquoi alors que je viens d'installer SQL Server, je ne peux pas accéder à "localhost" ...

Les mystères de SQL Server sont impénétrables (mais chiants surtout ;-)

Après quelques manipes, je m'aperçois que j'ai installé deux instances d'SQL Server sur ma machine vous le voyez sur cette figure il y a MSSQLSERVER et MSSQLSERVER01. J'ai essayé de supprimer la deuxième instance, j'ai bricolé les droits j'ai trouvé encore d'autres trucs à faire etc... rien n'y fait.

Quoi qu'il en soit, j'ai du tout désinstaller et tout réinstaller pour qu'enfin je puisse faire Connect ".".

Quel Bordel ce SQL Server !



Visual Studio Class Designer - Editez vos modèles de données

Ca c'est cool, vraiment cool ! Pour nous aider à prendre en main les modèles de bases de données complexes maintenant nous avons accès à un outil qui était auparavant réservé aux versions payantes de SQL Server Entreprise et SQL Server Ultimate, voici le Class Designer (l'éditeur de modèles de données à la portée de tous).

Installation du Code Tools Class Designer

J'ai découverts avec bonheur cette fonctionnalité dans Visual Studio Community 2019 alors qu'elle n'était réservée qu'aux versions prémium de SQL Server, je vous montre comment l'installer :

Je vais chercher le Visual Studio Installer et je l'exécute :

Visual Studio Installer
Visual Studio Installer
Je cherche à modifier mon installation de Visual Studio existante sur ma machine :

Modifier une installation de Visual Studio Community 2019
Modifier une installation de Visual Studio Community 2019

Puis je vais chercher dans Individual components -> Code tools  -> Class Designer :

Installation du Code tools -> Class Designer dans Visual Studio Community 2019
Installation du Code tools -> Class Designer dans Visual Studio Community 2019
Puis je cherche à ouvrir le fichier .cd (Class Diagram) de mon projet et voici que le modèle de données de mon projet apparait.

Ajouter un Diagramme de Classe dans un projet existant

Il vous suffit de faire Bouton droit sur votre projet :


Ajouter un Class Diagram à un projet existant
Puis de trouver l'icône du fichier de Class.  En tapant par exemple Class Diagram dans la barre de recherche :

Ajouter un Class Diagram à un projet existant
Ajouter un Class Diagram à un projet existant

Remarque : Vous ne pourrez pas utiliser le ClassDiagram dans tous vos projets. Par exemple, vous ne pourrez pas ajouter un Diagramme de Class dans les projets ASP.NET Core. Quand on fait ajouter New Item on ne le trouve tout simplement pas ! Vous devez donc créer un Projet de Standard Librairie associé à votre projet, là vous pourrez ajouter votre fichier .cd.

Edition du modèle de données .cd (Class Diagram)

Voici le modèle de données de mon projet dans l'éditeur de Class Diagram avec Visual Studio Community :

Visual Studio Community - Création du ClassDiagram ContosoUniversity
Visual Studio Community - Création du ClassDiagram ContosoUniversity

Oh c'est classe ! Avec la touche Ctrl et la molette de ma souris, je peux afficher plus de diagrammes de classe.

Voilà, nous venons d'apprendre à éditer nos modèles de données grâce à l'éditeur Class Diagram qui est maintenant une fonction de Visual Studio Community.

Have fun! No pain!

SQL Server Installation Center - Vérifier votre install de SQL Server

Il est toujours bon de prendre quelques notes à l'installation d'une nouvelle version de SQL Server car il y a maintenant de nombreuses versions et je voudrais installer une machine avec ASP.NET Core travailler le Front avec Angular et avoir un moteur de base de données performant avec tout ça.

Donc j'installe la version MS SQL Server Express :

Installation de MS SQL Server - Les version proposées - Evaluation - Developer - Express
Je n'ai pas envie de me taper l'achat d'une licence SQL Server, je choisie donc Express ... mais encore que j'ai un doute et si la version Developer était maintenant gratuite ... puisque la case à cocher demande de spécifier : "Specify a free version".

Je cherche "sql server developer édition vs express" et je trouve le document suivant :


Comparatif des versions SQL Server 2017
Comparatif des versions SQL Server 2017
Du coup j'installe la version Développeur c'est toujours ça de gagné.

Vous voyez bien, à chaque nouvelle installation de SQL Server, il faut faire très attention pour arriver à ses fins et retrouver ses petits.

Je clique sur "Continuer" et me voici avec un tas de fonctionnalités :

SQL Server - Fonctionnalités
Voilà ce que je choisie en gros, tout sauf la "Machine Learning" :
SQL Server Fonctionnalités installées
Je clique sur Installer :


SQL Server Installation Failed
Oracle Java SE Development Kit

Je clique sur Installer :
Install Java SE
Install – Rule “Oracle JRE 7 Update 51 (64-bit) or higher is required” failed

Et ça ne marche pas ! Quel foutoir ce truc sur le site de Java, si je veux le JRE, je dois m'inscrire !

Le gars me dit que l'erreur lors de la vérification des Features Rules est due au choix de l'option

Du coup, je décoche l'option : "PolyBase Query Service for External Data"

Cette fois ça fonctionne :

Installation d'une Instance SQL Server
On peut voir d'ailleurs que je me suis trompé j'ai installé deux instances ! Grrr !

Pour vérifier ce que vous avez d'installé sur votre Serveur

Au passage, je note un outils intéressants pour valider mon installation de SQL Server  :

Microsoft - Valider une installation de SQL Server

Le Tools dans SQL Server Installation Center :


SQL Server Installation Center - Tools
SQL Server Installation Center - Tools
Qui m'affiche le résultat suivant :

Setup Discovery Report
Setup Discovery Report
Je ne savais pas que j'avais tout ceci d'installé ... ;)

Voilà, maintenant je peux passer à l'installation de MS SQL Management Studio ...

SQL Server Express LocalDB c'est quoi ?

Encore une nouvelle mouture de SQL Server, décidément Microsoft multiplie les moutures de son moteur de Bases de Données pourquoi ? Pour ne pas livrer la version Serveur complète que l'on trouve encore sous forme de licence pour quelques milliers d'euros, oui des milliers.

Pour développer des applications ASP.NET Core il me faut SQL Server Express LocalDB alors c'est quoi cette version de SQL Server. On peut tout de même constater que SQL Server se démocratise bien obligé par la communauté qui fournit des moteurs de bases de données SQL performants et gratuits.

Utiliser une base de données et ASP.NET Core

On nous dit que LocalDB est une version allégée du moteur de base de données SQL Server Express et on est bien obligé de le croire. Et moi qui croyais que SQL Server Express était déjà une version allégée de MS SQL Server, à n'y rien comprendre.

Bref ! LocalDB est le moteur intégré et livré avec ASP.NET Core.


SQL Server Express LocalDB le moteur SQL de ASP.NET Core

Et pour faire le tour du développement d'applications web avec ASP.NET Core le tutoriel suivant les parfaitement bien fait un CRUD complet :

Tutoriel : Créer une application web de pages Razor avec ASP.NET Core

Et on voit de plus en plus de code par exemple l'aspect "Migration" qui créé automatiquement du code pour créer votre base de donnée à la première exécution de l'application et qui prendre en charge les modifications de structure.