2010-02-13 5 views
3

Pour mon projet de dernière année, je fais ce que j'appelle - SeeQuaL et c'est une interface unique pour accéder à 3 des types de bases de données les plus célèbres - SQLite, SQL Server et MySql. Je suis assez sûr que je peux faire des choses avec le SQLite et MySQL. Mais SQL Server, mec! va sûrement me donner des problèmes.La connexion à tous les SA célèbres dans SQLSERVER: Peut-elle être activée différemment?

Supposons maintenant que j'ai SQL Server Express 2005 installé sur mon système mais Je n'ai pas installé Management studio. Pour accéder à mes bases de données, je vais devoir vous connecter avec le mode d'authentification du serveur SQL AKA via the all famous login - SA.

Voici donc ma question:

Comment puis-je activer ce compte (sa) et définir l'authentification du serveur à "Authentification SQL Server et Windows" mode SANS en utilisant le studio de gestion ??

Je ne sais pas quant à la façon d'y arriver :(Alors s'il vous plaît aidez-moi les gars! Y at-il la table que j'ai besoin d'accéder à thro Windows mode d'authentification par lequel je peux faire ce travail?

+2

Pourquoi avez-vous besoin se connecter via sa? C'est plus insécurisant que la sécurité intégrée. Il semble que vous ayez entrepris un projet sans vraiment comprendre les exigences des personnes qui utilisent MSSQL. –

+0

hmm @. @ Bien, j'ai toujours utilisé la connexion 'sa'. Souhaitez-vous s'il vous plaît développer plus pour que je comprenne? Ou me connecter à un endroit où je peux comprendre? – Shrayas

+0

Il y a en effet beaucoup de malentendus derrière ce "Naturellement" ... dans la plupart des grandes entreprises, le compte "sa" est inaccessible. Tout utilisateur désigné peut être administrateur d'une annonce, mais pourquoi avez-vous même besoin de cela? ** tout ** utilisateur valide devrait être en mesure de se connecter ... –

Répondre

5

Si vous écrivez quelque chose qui prétend remplacer Management Studio, découvrez ce que fait Management Studio en premier lieu. Vous pouvez piéger presque tout ce que Management Studio fait en utilisant le bouton Script dropdon et en sélectionnant "Script Action to New Query Window" en haut de la fenêtre de dialogue après avoir fait les actions que vous voulez mais juste avant d'appuyer sur le bouton Ok.

Voici le code SQL qui est utilisé par Management Studio pour faire ce que vous demandez:

USE [master] 
GO 
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2 
GO 

Une autre option utilise Profiler. Il est inclus dans Developer Edition.

+0

wow o.O comment avez-vous fait ça? Pouvez-vous élaborer s'il vous plaît? Je vais vérifier cela. Si cela fonctionne, vous avez sauvé mon projet!^o^ – Shrayas

+0

Merci un million de compagnon. Cette action "script action ..." est en effet un outil si puissant! : D Vous avez enregistré mon projet! :) – Shrayas

0

off First êtes-vous sous Windows? Si oui quelle version? Je vais supposer que votre Windows 7 en cours d'exécution, mais de mémoire les étapes sont les mêmes pour Vista

  1. mordre la balle et télécharger SQL Server 2008 Management Studio Express
  2. Après avoir installé SMSE, faites un clic droit sur le lien SMSE dans votre menu Démarrer et cliquez sur "Administrateur".
  3. Connectez-vous à votre installation SQLEXPRESS locale à l'aide de l'authentification Windows.
  4. Dans l'Explorateur d'objets, Cliquez droit sur votre instance SQLEXPRESS et sélectionnez « Propriétés »
  5. Cliquez sur Sécurité et sélectionnez « SQL Server & de Windows mode d'authentification », puis cliquez sur OK
  6. Développer La sécurité> Logins, puis faites un clic droit sur votre "sa" utilisateur, et sélectionnez les propriétés.
  7. Définissez le mot de passe "sa" utilisateur à quelque chose dont vous vous souviendrez, je suggère d'utiliser un Passphrase plutôt qu'un mot de passe.
  8. Cliquez sur OK, et vous devriez être bon d'aller ..

Vous pouvez tester en fermant et la réouverture SMSE sans privilèges d'administrateur et essayez de vous connecter avec vos informations SA.

+0

Eh bien, je sais comment le faire avec le studio de gestion. Mais mon application est un petit remplacement au studio de gestion. Ce qui signifie que lorsqu'une personne télécharge mon application, elle devrait être capable de créer/ouvrir une base de données en utilisant le login SA. – Shrayas

+0

Je ne peux pas m'attendre à ce que cette personne ait téléchargé le studio de gestion et permette d'abord la connexion de SA peut i. – Shrayas

+0

Je vous suggère de modifier votre question à cet effet. De toute façon, vous devrez vous connecter à la base de données en utilisant l'authentification Windows avant de pouvoir changer le mode d'authentification. –

4

Je pense que je peux vous donner la réponse, parce que je viens de la résoudre ces derniers jours. Pour le mode "Authentification SQL Server et Windows" SANS utiliser le studio de gestion, la réponse est simple, sauf que M $ ne veut pas vous le dire explicitement.

Développez la clé de Registre

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer 

là, vous verrez une valeur REG_DWORD nommée LoginMode, si 1 est l'authentification Windows, si 2, il est Windows + authentification SQL. Ce que vous devez faire est de le changer de 1 à 2 et de redémarrer les services SQLEXPRESS.

Encore une chose à faire, pour activer sa et définir son mot de passe, qui est désactivé par défaut.

droit sur vous SQL Express la machine, connectez-vous à vous par exemple des services SQLEXPRESS avec commande

sqlcmd -S localhost\SQLEXPRESS 

puis exeucte

1> ALTER LOGIN sa ENABLE ; 
2> ALTER LOGIN sa WITH PASSWORD = 'mypassword' ; 
3> GO 

Maintenant, vous avez terminé.

j'ai appris ces de l'adresse suivante:

+0

Eh bien, après avoir lu la réponse de George Polevoy, j'ai réalisé qu'il a déjà répondu à votre question parfaitement. Quel gourou. –

Questions connexes