запрос для баз данных и привилегий - PullRequest
0 голосов
/ 12 марта 2011

ок .. я использую SQL Server 2008 ... я хочу запрос SQL для поиска различных баз данных, созданных конкретным пользователем входа в систему ???напримерДопустим, user1 создал базы данных db1 и db2.и user2 создан базы данных db3 и db4 .. чем запрос должен дать результат db1, db2 для user1 и db3, db4 для user2 ...

также я хочу запрос для получения привилегий конкретного пользователя ??

Ответы [ 2 ]

0 голосов
/ 12 марта 2011

ну, я не знаю, почему вам нужно запросить владельца пользователя для каждой базы данных но я надеюсь, что это поможет вам: ВЫБЕРИТЕ имя, SUSER_SNAME (owner_sid) FROM sys.database

SUSER_SNAME () удаляет имя пользователя

0 голосов
/ 12 марта 2011

Ближайший, о котором я могу думать, это текущий владелец, который очень часто является создателем базы данных. Вы можете запросить, как:

select  db.name
,       l.name
from    sys.databases db
join    sys.syslogins l
on      db.owner_sid = l.sid

Чтобы запросить список через запятую для каждого пользователя, попробуйте:

select  l.name
,       stuff(db.list,len(db.list),1,'')
from    sys.syslogins l
cross apply
        (
        select  db.name + ','
        from    sys.databases db
        where   db.owner_sid = l.sid
        for xml path('')
        ) db(list)
where   db.list is not null
...