web-dev-qa-db-fra.com

L'émulateur de stockage Azure ne parvient pas à démarrer avec «la base de données« AzureStorageEmulatorDb57 »n'existe pas»

J'ai un problème avec Azure Storage Emulator. J'ai essayé de réinitialiser la base de données et j'ai obtenu l'erreur ci-dessous.

C'était après l'installation de Visual Studio 2019 Preview, mais cela peut simplement être une co-incidence. J'ai essayé pendant environ une heure pour le faire fonctionner, puis j'ai abandonné et j'ai simplement réinitialisé ma machine avec l'option "garder mes fichiers", réinstallé Visual Studio 2017 et les outils Azure, mais je vois toujours le même problème.

Je sais qu'une réinitialisation semble un peu drastique, mais VS 2019 a cassé mes fonctions Azure dans VS2017, elles ne se lanceraient pas, donc je voulais une installation propre.

Si je crée manuellement la base de données avec sqllocaldb create (version 13.1.4001.0), la base de données est créée correctement mais l'initialisation échoue toujours avec le même message.

Des idées?

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator> AzureStorageEmulator.exe init Outil de ligne de commande Windows Azure Storage Emulator 5.7.0.0 Found SQL Instance (localdb)\MSSQLLocalDB. Création de la base de données AzureStorageEmulatorDb57 sur l'instance SQL '(localdb)\MSSQLLocalDB'. Impossible de créer la base de données 'AzureStorageEmulatorDb57': la base de données 'AzureStorageEmulatorDb57' n'existe pas. Fournissez un nom de base de données valide. Pour voir les bases de données disponibles, utilisez sys.databases. Une ou plusieurs actions d'initialisation ont échoué. Résolvez ces erreurs avant de tenter d'exécuter à nouveau l'émulateur de stockage. Erreur: impossible de créer la base de données 'AzureStorageEmulatorDb57': la base de données 'AzureStorageEmulatorDb57' n'existe pas. Fournissez un nom de base de données valide. Pour voir les bases de données disponibles, utilisez sys.databases ..

9
Murray Foxcroft
  1. Arrêtez l'émulateur Azure s'il est en cours d'exécution.
  2. Ouvrez SSMS et connectez-vous à votre instance (localdb).
  3. Créez manuellement le "AzureStorageEmulatorDb57".
  4. Ouvrez une invite de commande en tant qu'administrateur.
  5. Exécutez le "init AzureStorageEmulator.exe".
  6. Exécutez votre projet VS.
11
Bill

Je rencontrais ce même problème après l'installation de LocalDb pour SQL Server 2017. Ces étapes m'ont aidé à résoudre le problème auquel j'étais confronté:

  • Ouvrez une ligne de commande dans C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator
  • Courir AzureStorageEmulator.exe init /forceCreate
  • De la vérification de mes journaux d'erreurs (situé à %USERPROFILE%\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB), J'ai vu

    2018-12-21 15: 41: 13.47 spid65 CREATE FILE a rencontré l'erreur 5 du système d'exploitation (l'accès est refusé.) Lors de la tentative d'ouverture ou de création du fichier physique 'C:\Users {username} AzureStorageEmulatorDb59.mdf'.

  • Cette erreur m'a conduit au message suivant: https://dba.stackexchange.com/questions/191393/localdb-v14-creates-wrong-path-for-mdf-files
  • En lisant les réponses, j'ai compris qu'il s'agissait d'un bogue dans SQL Server 2017. Sans avoir accès au correctif, la solution qui fonctionnait pour moi accordait à Everyone l'accès pour modifier C:\Users. Ce n'était qu'un problème sur mon ordinateur portable de développement, donc je pouvais me permettre d'apporter ce changement de sécurité
10
aleroy

J'ai eu ce problème et je ne sais pas pourquoi un AzureStorageEmulatorDb57_log.ldf était toujours présent dans mon répertoire % USERPROFILE% lorsque j'ai supprimé mon instance MSSQLLocalDB, mais après avoir supprimé ce fichier le problème a disparu.

2
Eugenio Miró

Je suis tombé sur ce problème où j'avais changé la connexion utilisateur à ma machine. J'ai créé la base de données à partir de mon ancien compte utilisateur. J'ai copié les fichiers de la base de données vers le nouveau compte utilisateur mais cela m'a donné cette erreur. Il semble que ce soit un problème d'autorisation.

Vous devez trouver l'emplacement enregistré des fichiers mdf et ldf de cette base de données. Dans mon cas, il a été stocké dans 'C:\Users\yourUserName'

Supprimez simplement ces fichiers et exécutez à nouveau AzureStorageEmulator.exe et il créera les nouveaux fichiers mdf et ldf pour vous.

1

Cette solution n'est pas recommandée en général, mais vous pouvez l'essayer. Je pense qu'AzureStorageEmulator ne peut en quelque sorte pas accéder complètement à la configuration de localDB qui dans le répertoire a limité l'autorisation.

  1. Vous pouvez aller dans le dossier propertiy> sercurity> edit to full permission (with me directory is user> Appdata).
  2. Redémarrez ensuite l'émulateur cmd redémarrez l'émulateur Azure .

Maintenant ça a marché. Vous devez considérer que c'est non sûr plus tard.

0
Tien Tran

J'ai initialisé l'instance db et réussi, mais mon SQLServer est 2017.

Ensuite, je recherche la solution et le doc dit supprimer la base de données de problèmes résoudra le problème. Vous pouvez peut-être l'essayer en suivant les étapes du document.

Si vous avez encore des questions, faites-le moi savoir.

0
George Chen

Après avoir réinitialisé ma machine (et conservé les fichiers), j'ai rencontré ce problème. Pour moi, je n'ai pas pu exécuter une fonction Azure dans Visual Studio 2019 en raison d'une erreur autour de l'impossibilité de démarrer l'émulateur.

Il semble que j'ai eu les mêmes problèmes d'autorisation que (je présume) mon nouveau compte après la réinitialisation, je n'avais pas l'autorisation de toucher la base de données.

J'ai résolu ce problème en:

  1. Suppression du fichier DB Azure Storage Emulator: %USERPROFILE%/AzureStorageEmulatorDb[number].mdf
  2. Puis en exécutant AzureStorageEmulator.exe start avec les droits d'administrateur

J'ai ensuite pu exécuter la fonction Azure sans problème.

0
Ste Pammenter