2010-01-08 2 views
6

J'ai créé un site ASP.Net dans Visual Studio et créé la base de données à l'intérieur (le fichier .mdf se trouve dans le dossier APP_data).Le serveur SQL n'ouvre pas la base de données créée par Visual Studio

Maintenant, lorsque je veux déployer sur le site client, je pense à la maintenance de la base de données sans ouvrir Visual Studio, et en utilisant les outils SQL Server Express (sauvegarde, etc.).

J'ai cherché comment faire cela, et j'ai appris que je devrais joindre le fichier .mdf au serveur sql.

J'ai essayé de faire ceci et ai échoué!

L'erreur est: Impossible d'ouvrir le fichier physique "< .mdf>". Erreur du système d'exploitation 5: "5 (n'a pas réussi à récupérer le texte pour cette erreur Raison: 15105)". (Microsoft SQL Server, Erreur: 5120)

Google ne m'a pas aidé à résoudre le problème.

Maintenant, j'ai 2 options: 1. Pour abandonner et déployer le site dans la situation actuelle où le DB est un fichier .mdf et ASP.Net peut s'y connecter par le serveur SQL express compact (dans le processus).

  1. Pour extraire toutes les données (je dois penser comment ...) et l'importer dans un nouveau DB, cette fois dans SQL Server DB.

Wat recommandez-vous?

Merci d'avance.

Répondre

5

Si vous utilisez Windows Vista ou version ultérieure, essayez d'ouvrir SQL Server Management Studio en cliquant avec le bouton droit de la souris et en disant "Exécuter en tant qu'administrateur". Comme Mitch l'a mentionné peut-être c'est juste un problème d'autorisations. Ensuite, essayez d'attacher à la base de données.

+0

cela a fait l'affaire, merci +1 –

+0

Je ne peux pas le faire fonctionner à la fois sur VS et SMSS simultanément, à moins que je ne détache et ne s'attache de l'un à l'autre ce qui est un long chemin. N'y a-t-il pas un clic droit sur db dans VS pour afficher "Browse with SMSS"? – Shimmy

2

L'erreur 5 est généralement liée aux autorisations. Avez-vous des autorisations pour accéder au fichier dans son emplacement?

0

Si vous l'avez créé dans Visual Studio, il s'agit probablement d'une base de données Express. SQL Server ne prend pas en charge les connexions de base de données "en mode utilisateur" utilisées par SQL Server Express. En dépit de partager un nom, ils sont deux technologies assez distinctes et différentes.

Pour afficher le contenu d'une base de données SQL Express (créée par exemple dans Visual Studio), j'utilise simplement l'explorateur de serveur Visual Studio.

+4

À l'avenir, si vous avez besoin de manipuler des données à partir de Visual Studio avec une base de données SQL Server appropriée, vous pouvez: "Outils -> Options -> Outils de base de données -> Connexions de données" et modifier "SQLEXPRESS" Connexion au serveur (par exemple: "MyServer \ SQL2008"). – nathanchere

Questions connexes