如何在sqlserver中显示用户数据库
我查询为select sys.databases,它显示所有内容,包括msdb temp和all。
我只需要用户创建的数据库。
是否有任何查询:select * from sys.databases type ='u'??
帮助我。
先谢谢
答案 0 :(得分:2)
有没有理由需要比这更先进?
SELECT * FROM sysdatabases WHERE name NOT IN('master', 'tempdb', 'model', 'msdb')
答案 1 :(得分:1)
您应使用它们的owner name
指定它们。为此,您应该将sys.databases
与sys.server_principals
一起加入。
最近的版本也可以具有ReportServer数据库,并包含$
登录名。
select
d.name
,d.database_id
from
sys.databases d
join
sys.server_principals p
on p.sid = d.owner_sid
where
p.name <> 'sa' and d.name not like '%$%';
答案 2 :(得分:0)
或按此thread:
select * from sys.sysdatabases where dbid>4 and [name] not like '$'