Ne peut pas être ouvert car il s'agit de la version 852. ce serveur prend en charge la version 782 et antérieures
Je suis à l'aide de Visual Studio 2017 et SQL Server 2014. Tout en attachant un fichier de base de données de Visual Studio, j'ai cette erreur:
""
Après la mise à niveau le fichier que j'ai utilisé cette chaîne de connexion
<connectionStrings>
<add name="con"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\binaaelmamorra.mdf;Integrated Security=True;Connect Timeout=30"/>
</connectionStrings>
Ça fonctionne sur ma machine, mais sur la machine client, un message d'erreur apparaît disant
Ne peut pas être ouvert car il s'agit de la version 852. Ce serveur prend en charge la version 782 et plus tôt
Bien que j'ai installé SQL Server 2016 de la bd locale sur le côté client, je n'arrive toujours pas à me débarrasser d'elle.
Ma deuxième question est: quel est l'instance de SQL Server à laquelle le fichier de base de données n'est pas compatible?
sqllocaldb i ProjectsV13
OriginalL'auteur Bilal Ahmed | 2017-09-26
Vous devez vous connecter pour publier un commentaire.
Il semble que vous avez plusieurs instances des différentes versions de SQL Server sur votre machine.
Pour le "complet" versions (l'Express), vous pouvez vérifier quelle version ils sont en regardant le Gestionnaire de Configuration SQL Server:
Pour le "LocalDB" les versions de SQL Server (pour les développeurs des versions), vous pouvez utiliser le
sqllocaldb
outil de ligne de commande.Obtenir un aperçu de ce que vous avez sur votre machine à l'aide de cette commande:
Ensuite, vous pouvez vérifier les différentes instances à l'aide de la commande détails:
Si cela vous dit qu'il y a deux les instances de SQL Server LocalDB disponibles
mssqllocaldb
est la version 13.1 (SQL Server 2016), tandis que lev11.0
instance est la version 11.0 (SQL Server 2012).Donc, si vous voulez joindre une
.mdf
fichier à aucun de ces deux cas, vous avez juste besoin de choisir le bon afin de le faire fonctionner avec la version que vous voulez. Et une fois que vous avez "mis à niveau", un fichier de base de données vers une version plus récente de SQL Server (comme 2016 - interne DB version 852), vous pouvez JAMAIS revenir en arrière il n'y a aucun moyen de se détacher et d'attachement, de sauvegarde/restauration ou d'autres moyens pour obtenir ces fichiers binaires à une version antérieure de SQL Server. Vous devez créer un script sur la structure (et éventuellement des données) de votre plus récent fichier de base de données à.sql
fichiers et de les exécuter sur l'ancienne version.OriginalL'auteur marc_s
Version 852 est SQL Server 2016, et la version 782 SQL Server 2014. Une bonne référence pour les versions peuvent être trouvées sur cette page Microsoft.
Basé sur vos explications, cela devrait être une version 782 DB. Puisqu'il s'agit de la version 852 DB, ce qui signifie qu'il a été mis à niveau à l'aide de SQL Server 2016, pas SQL Server 2014. Par conséquent, vous devriez vérifier pour toutes les versions de SQL Server en cours d'exécution sur votre local /dev machine, afin de confirmer que seul SQL Server 2014 est en cours d'utilisation, et non pas (potentiellement) de SQL Server 2016 installé par VS 2017.
En outre, il semble que la version de votre utilisateur final est en 2014, pas en 2016. C'est potentiellement un problème si la DB est un Serveur SQL server 2014 mode DB. Essayez explicitement la connexion à la base de données TempDB avant de le connecter à la DB. (Note: C'est quelque chose que j'avais à faire lors de la rencontre d'un 2014/2016 incompatibilité, si je ne me souviens pas de ce que le réel problème est.)
OriginalL'auteur Laughing Vergil
Si vous souhaitez que votre projet génère un Serveur SQL server 2014 de la Base de données que vous pouvez attacher sur la machine cliente,F, vous devez créer une instance de serveur sur votre machine. Pour ce faire, ouvrez la ligne de commande en mode administrateur et entrez la commande "sqllocaldb créer v12.0 12.0". Cela crée une instance de serveur appelé "v12.0" dans la version 12.0, SQL Server 2014.
Si le serveur n'a pas encore commencé, le serveur doit être démarré avec la commande "sqllocaldb commencer v12.0".
Maintenant, vous avez à changer votre conectionString comme ceci:
Peut-être que vous avez mis de certains paramètres de votre application.config
OriginalL'auteur Renat Baratov