запрос для баз данных и привилегий

хорошо .. я использую sql server 2008 ... я хочу sql-запрос для поиска различных баз данных, созданных конкретным пользователем входа в систему ??? для например. допустим, user1 создал базы данных db1 и db2. и пользователь2 создает базы данных db3 и db4.. тогда запрос должен дать результат db1,db2 для пользователя1 и db3,db4 для пользователя2...

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


person naitik333    schedule 12.03.2011    source источник
comment
общее.... кто-нибудь помогите мне.... скажите, как узнать привилегии конкретного пользователя??? плиз помогите мне...   -  person naitik333    schedule 14.03.2011


Ответы (2)


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

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
person Andomar    schedule 12.03.2011
comment
спасибо за ответ... но это даст все базы данных с именем dbowner.... но я хочу, чтобы все базы данных были созданы конкретным пользователем??? пожалуйста, дайте мне этот запрос... также запрос на поиск привилегий пользователя... - person naitik333; 12.03.2011
comment
хорошо..... но можете ли вы изменить свой запрос, чтобы я получал все базы данных, созданные конкретным пользователем, в разных строках и только базы данных, созданные этим пользователем, а не все базы данных... - person naitik333; 12.03.2011

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

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

person Feras Taleb    schedule 12.03.2011
comment
спасибо за ответ... но это даст все базы данных с именем dbowner.... но я хочу, чтобы все базы данных были созданы конкретным пользователем??? пожалуйста, дайте мне этот запрос... также запрос на поиск привилегий пользователя. - person naitik333; 12.03.2011