SQL Server comment faire pour gérer les Backup Correctement

C'est vraiment épineux comme je l'ai montré dans le post précédent si vous cliquez bille en tête sur les options proposées de base, c'est la catastrophe et Restore Database Failed ! Et pourtant ce n'est pas ce que vous souhaitez car lorsque l'on restaure une base de donnée à une version précédente et bien c'est déjà que l'on  a un gros problème et le stress monte ce n'est pas la peine d'en rajouter.

SQL Server Backup Database

Donc, il faut donner le nom que vous souhaitez et pas vous laisser conduire par MSSMS avec ses options par défaut qui vous mène vers le Restore Failed !

Donc vous cliquez sur Add, puis Destination on disk -> File name :

SQL Server Backup Database où je veux

Ainsi une troisième boite de dialogue s'ouvre et vous pouvez donner le nom que vous souhaitez au backup ...

SQL Server Backup Database avec le nom que je veux

Attention de préciser l'extension du fichier .bak sinon SQL Server ne vous le proposera pas lors de la restauration de la base de données. Et oui SQL Server est idiot mais ça on le savait déjà.

SQL Server Database Restore

Pour le processus de restauration, idem, on ne se laisse pas guider par SQL Server et ses options stupides qui vous mènent vers l'échec le Failed !


SQL Server Restore Database comme je veux

Et cela commence tout en haut on ne choisit pas l'option par défaut mais l'option "Device" dans la radio button en suite en 2 on va pouvoir choisir le backup à restorer en 3 on voit les différentes backup on peut choisir et cliquer sur Ok.

Voilà on a appris à ne pas se laisser mener par SQL Server et gérer les backups correctement ce qui sinon on va inévitablement vers un Failed !

SQL Server - Gestion des Backup

Cela m'a toujours paru être un sujet épineux car au moment de restaurer votre base de données vous allez avoir des sueurs froides dans mon souvenir ça toujours été comme ça ! SQL Server fait toujours des siennes alors aujourd'hui, on en est où ?

Microsoft - Créer une sauvegarde complète de base de données

Déjà ça commence par des restrictions ... Vous ne pourrez pas faire ceci, vous ne pouvez pas faire cela Grrrr !

SQL Server créer une sauvegarde

Jusque là tout va bien ... Je choisie quelques petites options histoire de corser les choses ... Un deuxième nom de fichier plus parlant pour moi ...

SQL Server créer une sauvegarde

Bon, ça parait bien compliqué tout ca ... pour une simple sauvegarde.

SQL Server créer une sauvegarde

Du coup, je fais tout de suite l'opération inverse ... La base de vit pas rien ne peut se passer.

SQL Server Restore Database

Je sélectionne tout ça, tout ça ... Restore -> Database

SQL Server Restaurer une Base sauvegardée

Je n'ai rien fait d'autre que de cliquer sur le bouton Restore ... et BOUM !!!

SQL Server Restaurer une Base sauvegardée c'est impossible


Restore Database Failed !!!

C'est nul, c'est vraiment de la daube SQL Server. Il n'y a vraiment que les masos pour continuer à travailler avec une telle Daube.

C'est comme le "Detach" et "Attach" de la base de données. le Detach avec les options "Drop Connections" et "Update Statistics" que vous êtes obligé de systématiquement cocher sinon c'est la cata. C'est les seuls a avoir une concept aussi débile. C'est super chiant vous tentez une opération comme et POUF !!! Cet abrutit de SQL Server vous dit que vous ave oublié de Détacher la base de donnée ! Mais peut-on inventer un concept plus idiot, vous avez envie de lui dire mais si l'opération ne peut avoir lieu qu'avec une Base détachée et bien détache la cette foutue Base.

CRRRR !!!!!

Pourquoi est ce que cette espèce de grosse Daube d'SQL Server ne le fait pas lui même. On dirait une femme de ménage qui laisse le saut et la serpillière au milieu du salon pour montrer qu'elle a fait le ménage... c'est à chier.

Le souci,  c'est que moi, j'en ai marre de cette nullité crasse. Le prochain projet, je le jure, je change de moteur de BD.

Pas fun mais alors pas fun du tout !

SQl Server - SQL Server Agent (MSSQL SERVER) won't start !

SQL Server Agent ne démarre pas ! Vous la connaissez celle là ? C'est pour ça que j'écris ce blog, pour répertorier les bêtises des ingénieurs de Redmond. SQL Server est un ramassis d'absurdités et si vous cliquez ici c'est que vous le savez et que vous souhaitez trouver une réponse rapide à votre problème avec SQL Server !

Alors cette fois, il s'agit d'SQL Server Agent (MSSQL SERVER) qui ne souhaite pas démarrer. Vous êtes en train de vouloir transférer des données d'uns instance d'SQL Server à une autre et vous ne pouvez pas car vous ne pouvez pas démarrer SQL Server Agent !

A ce stade, vous vous dites, c'est simple, il suffit d'aller dans les services et de faire bouton droit sur démarrer. La plus part du temps avec d'autres services c'est exactement ce qu'il faut faire mais pas avec SQL Server Agent, lui il ne voudra pas démarrer, c'est la misère.

 Alors vous exécutez services.msc et :

SQL Server Agent won't Start !
SQL Server Agent won't Start !
Et oui, comme moi vous êtes stupéfait tout est grisé, vous ne pouvez pas starter SQL Server Agent. Alors que faire ?

SQL Server Agent ne veut pas démarrer - Solution

Le Solution, c'est d'aller dans "Properties" et de choisir "Automatic" plutôt que "Disabled". Comme sur la figure ci-dessous :

SQL Server Agent won't Start !
SQL Server Agent won't Start !
Ainsi SQL Server Agent pourra démarrer lorsque ce sera nécessaire. C'est pas débile, ça, hein ? Franchement !

SQL Server - The server was not found or was not accessible.

Encore un petit message sympathique de notre ami le serveur SQL. J'ai de plus en plus de mal à comprendre les gens qui travaillent encore avec ce serveur de base de données, il faut vraiment être maso. Cette fois je suis sur une machine du Cloud Azure alors j'ai eu même du mal à faire accéder l'application web qui était installé sur le serveur même. Maintenant j'essaye depuis internet.

Voici le message d'erreur :

SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, uint waitForMultipleObjectsTimeout, bool allowCreate, bool onlyOneCheckConnection, DbConnectionOptions userOptions, out DbConnectionInternal connection)

Franchement n'en jetez plus ! C'est quoi ce message de 10 km alors que le problème c'est juste SQL Server qui est une grosse daub(bip) !

Ce qui est sympa avec Internet c'est que le style change suivant les navigateurs :

SQL Server - SQL Server is configured to allow remote connections.
SQL Server - SQL Server is configured to allow remote connections.

Le style change mais c'est toujours le même message de mer... ! Il n'a rien à voir avec le problème c'est sans soute pour nous égarer.

Tellement d'années plus de dix ans que la configuration du moteur de base de données SQL Server est toujours à ce niveau de difficulté, remarquez avec lui vous balayez l'ensemble des problèmes que vous pouvez avoir lors d'une connexion réseau.

Résoudre les problèmes avec SQL Server

Du coup la littérature s'est drôlement étoffée.

Vous avez également de la lecture Ici :

Stackoverflow - How do I fix the error 'Named Pipes Provider, error 40 - Could not open a connection to' SQL Server'?

Là vous avez un pauvre hère qui a tout fait bien mais qui ne comprend pas  pourquoi il ne peut toujours pas se connecter à son Server SQL !

Alors ils partent en pleins délires pour récapituler et finalement ne pas trouver en définitive de solution c'est grave !

Mais bon ça reste un truc de maso !

Si non au autre type de solutions Ici :

MS-BI Tutorials - How to Fix named Pipes Provider Error 40 cannot open connection to Sql server instance





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 !


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.



Entity Framework - Utilisation de Code First Migrations

Comment utiliser le répertoire "Migrations" que l'on voit maintenant dans les applications Microsoft ASP.NET WebAPI ou MVC dont on trouve les codes sources sur Internet ?

Ce truc, cet article est assez cool pour que je prenne note alors que je ne suis pas venu ici depuis presque 1 an. Je cherche à travailler avec Visual Studio 20017 sur les applications ASP.NET JS, MVC, WebAPI et je trouve dans exemples d'application dans lesquels il y a un répertoire "Migrations" mais qu'en faire ?

Si l'application possède une fonctionnalité de création d'un élément de la base. La base sera crée toute seule comme dans l'exemple suivant :

BookService-master
https://docs.microsoft.com/en-us/aspnet/web-api/overview/data/using-web-api-with-entity-framework/part-1

Et s'il n'y a pas de création d'enregistrement, il faut créer la BD comme dans l'exemple :

https://github.com/MikeWasson/MoviesSPA

En faisant : Afficher la Console du gestionnaire de packages



Puis en exécutant la commande suivante :

PM> update-database

Dans la console, voici le résultat :


Comme c'est expliqué dans l'article Ici.

Voilà, c'est assez cool pour que je prenne note dans mon Blog moi aussi. Cet article vous explique également comment générer ce répertoire et son contenu dans une nouvelle application.

avec les commandes suivantes :

PM>Enabled-Migrations
PM>Add-Migration MyMigration
PM>Update-Database

De la documentation sur le site de Microsoft

Have very fun!

Microsoft Business Intelligence (BI) Data Tools SQL Server

Vous avez besoin d'informations, de news sur SQL Server et ses Data Tools ? De suivre les évolutions de la Business Intelligence. Alors voici un des meilleurs sites pour cela, le : Microsoft Business Intelligence (Data Tools)

Microsoft Business Intelligence (Data Tools)

SQL Server BI Data Tools

SSRS : SQL Server Reporting Services
SSIS : SQL Server Integration Services
SSAS : SQL Server Analysis Services
Windows PowerShell : Permet d'automatiser les tâches.
Microsoft Power BI : C'est un ensemble de services et de fonctionnalités en ligne offrant un environnement permettant de promouvoir la BI en libre-service auprès de l'utilisateur final, de prendre en charge les requêtes et le pivot d'alimentation. Il fournit une plate-forme à l'utilisateur final pour l'aider à importer des données, créer des ensembles de données et créer des rapports et des tableaux de bord.

Power BI
Power BI
Enorme site sur le BI dans l'univers SQL server de Microsoft. Des exemples concrets, des mises en situation dans le monde du BI, du code T-SQL. Tout ce qu'il faut... et plus encore.

Une vraie découverte ce blog qui présente de façon intensive toutes ces technologies Microsoft cela vous permet de vous plonger rapidement au cœur des sujets important de la Business Intelligence en particulier

Peut-on encore manager une database SDF avec Visual Studio 2013 ?

Mais que ce que c'est que cette question ? Et puis elle implique autre chose, je me suis posé cette question lors du transfert d'une application MVC 3 vers MVC 4 et je suis tombé sur cet os !

Je cherche des éléments sur les applications MVC et je tombe sur ce projet du codeplex :

http://mvcmusicstore.codeplex.com/

Ca à l'air bien, de correspondre à ce que je souhaite étudier. Seulement voilà, après avoir transformer cette pauvre application MVC 3 en application MVC 4, c'est à dire de refaire les références vers le Framework 4.0, bricoler le Web.config, tout ce qui va bien, cela ne fonctionne toujours pas !

J'ai une erreur de merde comme toujours avec MVC :

No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlServerCe.4.0'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

Ca fait peur ! Quelle merde ce truc !

Erreur SDF database in Visual Studio 2013
Que c'est laid, que c'est moche :

SQL Server c'est toujours aussi pourri !
Ne cherchez pas à suivre les messages d'erreurs indiqués ici, c'est du bidon de chez Redmond. Des conneries à n'en plus finir car ils se prennent eux même les pieds dans leurs pinceaux !

Solution


Is Microsoft dropping support for SDF database files in Visual Studio?

The answer is yes: Microsoft is silently dropping support (as usual IMHO) to Sql Compact Edition.

It started abandoning Sql CE 3.5 in Vs2012 It continued dropping Sql CE in Sql Management Studio 2012 and finally in VS2013.

Vous trouverez des liens vers les outils qui permettent de continuer à travailler avec des base sdf.

MSDN :


Y-en a vraiment marre croyez-moi entre les incompatibilités des différents MVC 2 3 4 5. SQL server qui est toujours aussi délicat (pourri) à manager ...

Comment se connecter à SQL Server

Comment connecter mon "Explorateur de serveurs" de Visual Studio à un SQL Server distant sur une autre machine. Voilà mon sujet du matin ...

Dans Visual Studio "Explorateur de serveurs" je vois bien que je peux ajouter un serveur ...

Visual Studio - Explorateur de serveurs - Ajouter un serveur...
Mais quand je tente d'ajouter un serveur que je connais c'est impossible alors quel est le problème ?

La littérature Microsoft MSDN sur le sujet est comme toujours absconse sur ce genre de point crutial mais tentons d'en sous-tirer la substantifique moelle ...

https://msdn.microsoft.com/fr-fr/library/ms188642.aspx
Logging In to SQL Server ... Ici on m'apprend à former le nom du Serveur SQL à atteindre.

On parle plutôt de se connecter à l'aide de SQL Management Studio ce que je vais faire pour l'instant. J'essaye tout un tas de truc mais rien à faire, toujours le même message :

SQL Server n'est pas configuré pour autoriser les connexion distantes.
Donc le SQL Server auquel je souhaite me connecter devrait se nommer en gros : COMPUTER-NAME\SQLEXPRESS.

En bas de la page ms188642, pour aller plus loin je trouve la page suivante :

Vérifier la configuration du Serveur SQL

Pour réaliser ce que je souhaite, c'est à dire de connecter une application ASP.NET sur un Serveur SQL, il me faut une machine Serveur, j'ai à ma disposition une machine Virtuelle OVH, Windows 2008 Server R2.

Sql Server Configuration Manager

Utilisation de l'outil : Menu Démarrer->Microsoft SQL Server->SQL Server Configuration Manager :


Vérification de l'existence et de la configuration du Serveur SQL :

Gestion des Services SQL Server
Et par exemple, une des raisons pour lesquels on ne peut pas se connecter à SQL Server c'est que l'instance du Serveur n'est pas démarrée.

Dans ce cas simplement faire Bouton droit -> Démarrer

Sql Server Configuration Manager - Démarrer une instance d'SQL Server
Une autre raison : vous pouvez avoir changer le nom de la machine auquel cas le nom de l'instance du serveur aura changé il faudra reconfigurer les connexions.

Et sinon vous avez :

Microsoft - Résoudre les problèmes de connexion au moteur de base de données SQL Server
Je crois que l'on peut dire qu'ils (les ingé de Redmonds) ont fait un peu de progrès pour avoir une documentation un peu complète ...

Voilà : C'était donc comment utiliser le Sql Server Configuration Manager pour vérifier l'état de votre instance d'SQL Server.