2017-09-05 22 views
1

Je suis en train de créer une nouvelle base de données sur mon serveur en utilisant programme Microsoft.SqlServer.Management.Smo, mais il ne parvient pas toujours à créer la base de données:C# - créer de nouveaux résultats de base de données SQL Server dans l'erreur

Server svr = new Server(new ServerConnection(@".\SQLEXPRESS")); 
Database db = new Database(svr, "TESTDB"); 
db.Create(); 

Je reçois cette erreur à db.create();:

Une exception non gérée du type Microsoft.SqlServer.Management.Smo.FailedOperationException » se sont produits dans Microsoft.SqlServer.Smo.dll

Le nom du serveur est correct et j'utilise l'authentification Windows pour me connecter au serveur.

S'il vous plaît aider et s'il y a une meilleure façon s'il vous plaît laissez-moi savoir

+1

Existe-t-il un message sur l'exception ou une exception interne? Il y a généralement plus de détails disponibles que juste le nom de l'exception. – Scott

+1

Publier l'exception interne ou d'autres détails –

+2

Je voudrais simplement utiliser SqlClient et créer la base de données avec TSQL DDL. SMO n'est pas vraiment plus facile, et vous devez l'installer. Voir https://docs.microsoft.com/en-us/sql/t-sql/statements/create-database-sql-server-transact-sql –

Répondre

0

Dans l'image que vous avez affichée je vois le message « une exception est survenue lors de l'exécution d'une instruction Transact-SQL ou par lots ». Donc, je pense que c'est un problème d'autorisations. Comme explained here, vous pouvez essayer cette liste d'étapes:

  1. Connectez-vous à l'ordinateur en tant qu'administrateur (ou tout autre utilisateur avec des privilèges d'administrateur)
  2. Open "Configuration Manager SQL Server"
  3. Cliquez sur « Services SQL Server "dans le volet gauche
  4. Arrêtez l'instance" SQL Server "et" SQL Server Agent "dans le volet de droite si elle est en cours d'exécution
  5. Exécutez SQL Express en mode mono-utilisateur en cliquant avec le bouton droit sur l'instance" SQL Server "- > Propriétés (dans le volet droit de SQL Server Configuration Manager).
  6. Cliquez sur l'onglet Avancé et recherchez "Paramètres de démarrage". Changez les "Paramètres de démarrage" pour que la nouvelle valeur soit -m; (sans le <>) exemple: à partir de: -dc: \ Program Files \ Microsoft SQL ............. (jusqu'à la fin de la chaîne) à: -m; -dc: \ Program Files \ Microsoft SQL ............. (jusqu'à la fin de la chaîne)
  7. Démarrez le SQL Server
  8. Ouvrez votre MS SQL Server Management Studio et connectez-vous au serveur SQL avec " Authentification Windows "en tant que mode d'authentification. Étant donné que SQL Server fonctionne en mode mono-utilisateur et que vous êtes connecté à l'ordinateur avec des privilèges d'administrateur, vous disposez d'un accès "sysadmin" à la base de données.
  9. Développez le nœud « Sécurité » sur MS SQL Server Management Studio dans le volet gauche
  10. Développez le « Logins » noeud
  11. Double-cliquez sur « sa » login
  12. Modifier le mot de passe en entrant un mot de passe complexe Si "Appliquer la politique de mot de passe" est coché, sinon, entrez simplement un mot de passe.
  13. Assurez-vous que "sa" compte est "activé" en cliquant sur État dans le volet de gauche. Retournez dans la fenêtre principale de MS SQL Server Management Studio, vérifiez si l'authentification SQL Server est utilisée en cliquant avec le bouton droit sur le nœud le plus haut dans la fenêtre principale de MS SQL Server Management Studio, cliquez sur OK. le volet gauche (en général ". \ SQLEXPRESS (SQL Server)") et en choisissant les propriétés.
  14. Cliquez sur "Sécurité" dans le volet gauche et faire en sorte que "le mode SQL Server et l'authentification Windows" est celle sélectionnée sous "l'authentification du serveur"
  15. Cliquez sur "OK"
  16. Se déconnecter de gestion MS SQL Server Management Studio
  17. Ouvrez de nouveau "Gestionnaire de configuration du serveur SQL" et arrêtez l'instance SQL Server.
  18. Cliquez avec le bouton droit sur l'instance SQL Server et cliquez sur l'onglet "Avancé". Recherchez à nouveau "Paramètres de démarrage" et supprimez le "-m;" que vous avez ajouté plus tôt.
  19. Cliquez sur « OK » et lancez l'instance SQL Server à nouveau
  20. Vous devriez maintenant être en mesure de se connecter en tant que « sa » en utilisant le nouveau mot de passe que vous avez défini à l'étape 12.

Quoi qu'il en soit, check here si le smo est correctement installé.