Kami memiliki pengguna yang pergi dan saya perlu tahu setiap objek basis data yang ia miliki. Apakah ada permintaan yang akan memberikan informasi ini?
16
Kami memiliki pengguna yang pergi dan saya perlu tahu setiap objek basis data yang ia miliki. Apakah ada permintaan yang akan memberikan informasi ini?
Ini akan memberi Anda apa yang Anda cari:
;with objects_cte as
(
select
o.name,
o.type_desc,
case
when o.principal_id is null then s.principal_id
else o.principal_id
end as principal_id
from sys.objects o
inner join sys.schemas s
on o.schema_id = s.schema_id
where o.is_ms_shipped = 0
and o.type in ('U', 'FN', 'FS', 'FT', 'IF', 'P', 'PC', 'TA', 'TF', 'TR', 'V')
)
select
cte.name,
cte.type_desc,
dp.name
from objects_cte cte
inner join sys.database_principals dp
on cte.principal_id = dp.principal_id
where dp.name = 'YourUser';
Ini akan mendapatkan objek yang dimiliki oleh pengguna khusus Anda ( 'YourUser'
tentu saja pengganti ). Jenis objek yang diminta oleh kueri ini adalah:
Untuk menampilkan semua pemilik basis data non-sa:
Jika Anda membutuhkan pemilik sistem Pekerjaan SQL:
sumber
Untuk Pekerjaan, Anda tidak dapat menggunakan syslogins karena pemiliknya dapat menjadi bagian dari grup dan tidak ada dalam login. Gunakan di bawah ini
sumber