Bonjour,
J'ai besoin d'extraire la liste de tous les users de toutes les bases de mon serveur, mais j'arrive pas à retrouver la table qui les contient.
Si qlq'1 connait une requête qui puisse me donner ce résultat ou juste la base système qui corresponde à tous les users SQL.
Merci d'avances.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
khawla31 a écrit :
Bonjour, J'ai besoin d'extraire la liste de tous les users de toutes les bases de mon serveur, mais j'arrive pas à retrouver la table qui les contient. Si qlq'1 connait une requête qui puisse me donner ce résultat ou juste la base système qui corresponde à tous les users SQL. Merci d'avances.
A adapter :
DECLARE @SQL VARCHAR(max);
SET @SQL = '';
SELECT @SQL = @SQL + 'SELECT ''' +name +''' AS BD, name COLLATE French_CS_AS ' + 'AS SQL_USER FROM ' + name + '.sys.database_principals ' + 'WHERE type = ''S'' UNION ALL ' FROM master.sys.databases;
SET @SQL = SUBSTRING(@SQL, 1, LEN(@SQL) - 10);
EXEC (@SQL);
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
khawla31 a écrit :
Bonjour,
J'ai besoin d'extraire la liste de tous les users de toutes les bases de mon
serveur, mais j'arrive pas à retrouver la table qui les contient.
Si qlq'1 connait une requête qui puisse me donner ce résultat ou juste la base
système qui corresponde à tous les users SQL.
Merci d'avances.
A adapter :
DECLARE @SQL VARCHAR(max);
SET @SQL = '';
SELECT @SQL = @SQL
+ 'SELECT ''' +name +''' AS BD, name COLLATE French_CS_AS '
+ 'AS SQL_USER FROM ' + name + '.sys.database_principals '
+ 'WHERE type = ''S'' UNION ALL '
FROM master.sys.databases;
SET @SQL = SUBSTRING(@SQL, 1, LEN(@SQL) - 10);
EXEC (@SQL);
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Bonjour, J'ai besoin d'extraire la liste de tous les users de toutes les bases de mon serveur, mais j'arrive pas à retrouver la table qui les contient. Si qlq'1 connait une requête qui puisse me donner ce résultat ou juste la base système qui corresponde à tous les users SQL. Merci d'avances.
A adapter :
DECLARE @SQL VARCHAR(max);
SET @SQL = '';
SELECT @SQL = @SQL + 'SELECT ''' +name +''' AS BD, name COLLATE French_CS_AS ' + 'AS SQL_USER FROM ' + name + '.sys.database_principals ' + 'WHERE type = ''S'' UNION ALL ' FROM master.sys.databases;
SET @SQL = SUBSTRING(@SQL, 1, LEN(@SQL) - 10);
EXEC (@SQL);
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************