cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 26 oct. 2006 à 17:03
Bonne nouvelle :P
Fabrice
cacalex
Messages postés69Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 avril 2008 26 oct. 2006 à 16:07
Bah, déjà, j'arrive à donner les permission SELECT, UPDATE ,DELETE et INSERT sur les tables et les vues... Il ne me resteras qu'à modifier manuellement EXECUTE pour les procédure stockés...
Ce code m'as évité beaucoup de travail !!!
Merci !
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 26 oct. 2006 à 10:55
Bonjour,
Comme je vous l'ai expliqué, de nombreux changement ont été effectués entre la version SQL Server 2000 et SQL Server 2005, notemment la mise en place des schémas (qui n'existe pas réellement sous 2000).
En effet, sous 2000, le schéma est le compte utilisateur ayant créé l'objet (donc très souvent on retrouve dbo.NomObjet).
Sous 2005, c'est différent et un peu plus proche des concepts d'ORACLE.
Cordialement
Romelard Fabrice
cacalex
Messages postés69Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 avril 2008 25 oct. 2006 à 18:23
En fait, quel est l'équivalent pour 2000 du sys.schemas de 2005 ?!?!?
Qu'est-ce que contient le sys.schemas de 2005 ?!?!?
Ça m'aiderais à m'orienter...
Merci !
cacalex
Messages postés69Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 avril 2008 25 oct. 2006 à 18:21
Remplacer
'sys.database_principals'
par
'sysusers',
et remplacer
"name @RoleName AND type 'R'"
par
"name @RoleName AND altuid '0'"
Et ça fonctionnes...
Impossible faire fonctionner "Grant Execute" des fonctions par contre...
---- BOUCLE SUR LES FONCTIONS
---- AJOUTE LES DROITS EXECUTE DES FONCTIONS
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Résultat :
-- MISE EN PLACE DU ROLE LECTEUR FUNCTION : DROIT SUR LE EXECUTE
Serveur : Msg 208, Niveau 16, État 1, Ligne 98
'sys.schemas' : nom d'objet incorrect.
Je vais fouiller un peu...
Merci !
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 25 oct. 2006 à 17:56
Bonjour,
Le soucis est que sous SQL Server 2000, les vues systèmes utilisées ici n'existent pas. Il faut donc taper dans les tables systèmes afin d'effectuer ces sélections.
N'ayant pas ce moteur sous la main actuellement, je ne peux pas la traduire, je regarderai à l'occasion.
Cordialement
Romelard Fabrice [MVP]
cacalex
Messages postés69Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 avril 2008 25 oct. 2006 à 17:31
J'adorerais pourvoir utiliser ce code...
Mais je suis sur SQL 2000... Une idée des changements à apporter pour le rendre fonctionnel ???
-'sys.database_principals': nom d'objet incorrect.
26 oct. 2006 à 17:03
Fabrice
26 oct. 2006 à 16:07
Ce code m'as évité beaucoup de travail !!!
Merci !
26 oct. 2006 à 10:55
Comme je vous l'ai expliqué, de nombreux changement ont été effectués entre la version SQL Server 2000 et SQL Server 2005, notemment la mise en place des schémas (qui n'existe pas réellement sous 2000).
En effet, sous 2000, le schéma est le compte utilisateur ayant créé l'objet (donc très souvent on retrouve dbo.NomObjet).
Sous 2005, c'est différent et un peu plus proche des concepts d'ORACLE.
Cordialement
Romelard Fabrice
25 oct. 2006 à 18:23
Qu'est-ce que contient le sys.schemas de 2005 ?!?!?
Ça m'aiderais à m'orienter...
Merci !
25 oct. 2006 à 18:21
'sys.database_principals'
par
'sysusers',
et remplacer
"name @RoleName AND type 'R'"
par
"name @RoleName AND altuid '0'"
Et ça fonctionnes...
Impossible faire fonctionner "Grant Execute" des fonctions par contre...
---- BOUCLE SUR LES FONCTIONS
---- AJOUTE LES DROITS EXECUTE DES FONCTIONS
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Résultat :
-- MISE EN PLACE DU ROLE LECTEUR FUNCTION : DROIT SUR LE EXECUTE
Serveur : Msg 208, Niveau 16, État 1, Ligne 98
'sys.schemas' : nom d'objet incorrect.
Je vais fouiller un peu...
Merci !
25 oct. 2006 à 17:56
Le soucis est que sous SQL Server 2000, les vues systèmes utilisées ici n'existent pas. Il faut donc taper dans les tables systèmes afin d'effectuer ces sélections.
N'ayant pas ce moteur sous la main actuellement, je ne peux pas la traduire, je regarderai à l'occasion.
Cordialement
Romelard Fabrice [MVP]
25 oct. 2006 à 17:31
Mais je suis sur SQL 2000... Une idée des changements à apporter pour le rendre fonctionnel ???
-'sys.database_principals': nom d'objet incorrect.
Merci !