如何仅在sqlserver中显示用户数据库?

时间:2009-06-02 07:06:43

标签: sql-server sql-server-2005

如何在sqlserver中显示用户数据库

我查询为select sys.databases,它显示所有内容,包括msdb temp和all。

我只需要用户创建的数据库。

是否有任何查询:select * from sys.databases type ='u'??

帮助我。

先谢谢

3 个答案:

答案 0 :(得分:2)

有没有理由需要比这更先进?

SELECT * FROM sysdatabases WHERE name NOT IN('master', 'tempdb', 'model', 'msdb')

答案 1 :(得分:1)

您应使用它们的owner name指定它们。为此,您应该将sys.databasessys.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 '$'