Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/05/2011, 04h29   #1
Membre Expert
 
Inscription : octobre 2007
Messages : 3 947
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 947
Points : 1 905
Points : 1 905
Par défaut Attribution des droits sur une Database

Bonjour

J'ai un serveur qui accepte l'authentification Mixte (Windows et SQL Server)

J'ai créé une DataBase en étant loggé avec l'Authentification Windows
Impossible maintenant d'y acceder aver l'authentification SQL Server

Que puis-je faire pour faire en Sorte que TOUTES les database sur mon serveur soient accessible avec les DEUX authentification (ca aussi c'est un parcours du combattant avec SQL Server)

Merci de votre aide
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 06h20   #2
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
Bonjour,

Il existe seulement deux modes d'authentification :

- Windows seulement
- SQL Server et Windows ensemble

Ceci se paramètre au niveau de l'instance SQL Server.
Après un clic-droit > Propriétés dans l'explorateur d'objets (F8) de SQL Server Management Studio, sur l'instance à gérer, rendez-vous dans la page "Sécurité"

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 09h28   #3
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Il a dit que sont instance acceptait l'authentification en mode mixte.

olibara, vous devez créer l'utilisateur (à ne pas confondre avec un login) nécessaire pour la base en question et indiquer qu'il appartient au groupe db_owner.
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 17h31   #4
Nouveau Membre du Club
 
Homme
IED décisionnel
Inscription : mai 2011
Messages : 33
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : IED décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2011
Messages : 33
Points : 27
Points : 27
Bonjour,
Voici la procédure (user friendly)

Clique droit sur sécurité (dans l'explorateur d'objet)
->Nouveau-> Connexion

puis tu choisis Authentification SQL server
tu renseignes login/mdp
ensuite dans l'onglet rôle : tu définis le rôle du user sur le serveur
dans l'onglet mappage tu sélectionnes les bases qu'il utilisera et tu définis ses droits sur chaque base

voila
Etienne5685 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 17h48   #5
Membre Expert
 
Inscription : octobre 2007
Messages : 3 947
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 947
Points : 1 905
Points : 1 905
Merci tout le monde !
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 10h02   #6
Membre Expert
 
Inscription : octobre 2007
Messages : 3 947
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 947
Points : 1 905
Points : 1 905
Bon

Merci de votre aide
Mais je ne suis helas pas sorti de l'auberge
Je trouve que ce flux d'attribution de Login, de user et de pasword est anormalement alambiquée

Je crois que c'est une spécialité a part entiere

J'ai essayé de le faire en script (la methode via SSMS est franchement trop compliquée a retenir si on ne le fait pas tous les jours)

voici ce que j'ai fait
Citation:
CREATE LOGIN xxx WITH PASSWORD = 'yyy'
,CHECK_POLICY = OFF
,DEFAULT_DATABASE = [Stock]
GO

-- Now add user to database

USE [Stock];
CREATE USER xxx FOR LOGIN xxx;
GO
C'est tres joli ca marche mais ce user a qui j'aimerais donner tous les droit ne peut pas inserer dans la DB

Comment puis-je proceder a ce stade pour accorder ces droits ?

- Soit avec SSMS
- Soit en script
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 10h13   #7
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
Citation:
C'est tres joli ca marche mais ce user a qui j'aimerais donner tous les droit ne peut pas inserer dans la DB
Il faut donc lui donner le droit de le faire

Code :
1
2
3
4
5
6
7
8
9
10
USE <maBase>;
GO
 
-- L'utilisateur pourra lire les données de toutes les tables
EXEC sp_addrolemember 'db_datareader', '<user>';
GO
 
-- L'utilisateur pour écrire dans toutes les tables
EXEC sp_addrolemember 'db_datawriter', '<user>;
GO
++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 10h27   #8
Membre Expert
 
Inscription : octobre 2007
Messages : 3 947
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 947
Points : 1 905
Points : 1 905
Citation:
Il faut donc lui donner le droit de le faire
Merci MikeDavem, je suis sans doute un peu niais avec SqlServer mais ca je m'en doutais quand meme !

Maintenant grace a toi je sais comment le faire en script sans me battre avec le labyrinthe des menus de SSMS

Mais je pense que le plus complet c'est de mettre le role 'db_Owner' : non ?

Cependant j'avais fini par trouver le chemin avec SSMS

Mais je ne saisi la distinction entre les deux Listbox

OwnedSchema
et
RoleMembers

Encore merci pour ton aide
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 10h45   #9
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
Citation:
Merci MikeDavem, je suis sans doute un peu niais avec SqlServer mais ca je m'en doutais quand meme !
Je n'en doute pas rassurez vous. Si vous en avez la possiblité pensez à une petite formation de base .. cela vous permettra de ne pas à avoir à batailler avec ce genre de problèmes

Citation:
Mais je pense que le plus complet c'est de mettre le role 'db_Owner' : non ?
Oui c'est effectivement le plus complet et c'est justement cela le problème .. il faut juste savoir qu'étant db_owner un utilisateur a tous les droits sur la base. Si vous êtes dans un environnement de test pourquoi pas ... Si l'utilisateur est destiné à être propriétaire de la base de données pourquoi pas aussi.

Citation:
Mais je ne saisi la distinction entre les deux Listbox

OwnedSchema
et
RoleMembers
Un utilisateur peut être propriétaire d'un schéma ou / et être membre d'un rôle de bases de données ou de serveurs.

Un schéma est un conteneur d'objets (tables, procédures stockées, fonctions ...)

Un rôle peut être associé à un groupe (comme les groupes Windows). Ce groupe possède des droits sur les objets d'une base ou directement sur un schéma.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 11h56   #10
Membre Expert
 
Inscription : octobre 2007
Messages : 3 947
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 947
Points : 1 905
Points : 1 905
Merci beaucoup MikeDavem

C'est tres clair !
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h56.


 
 
 
 
Partenaires

Hébergement Web