回答
我敢肯定有一个“好”的方式,但这个工程:
SELECT * FROM sys.databases
where owner_sid != 1
最简单的方法是
exec sp_databases
但是,其中将包括系统数据库,所以你需要手动排除。不知道是否有一个不同的系统sproc会为你做。
虽然你可以使用
select * from sys.databases
我敢肯定的owner_sid字段不是一个系统数据库的可靠指标,获得更多的扩展信息,因为我有两个系统,有些用户在相同的SID数据库在我的服务器上。
SELECT name, owner_sid
FROM sys.databases
owner_sid应该提供足够的信息来区分,但我发现我的Oslo_Repository希德也被指定为1 ,所以它可能不是100%可靠的。
您查询sys.databases并删除系统。真正的系统数据库是master
,tempdb
,model
(即,db_id1,2和3)和mssqlsystemresource
。然而mssqlsystemresource
有一些魔术背后,似乎并不存在。另一方面大家可以将SQL引擎也认为是msdb
也是一个系统数据库。所以查询将是这样的:
select * from sys.databases
where name not in (N'master', N'tempdb', N'model', N'msdb')
btw还有其他的'ambiguos'数据库,比如replicaiton分发数据库,ReportServer和ResportServerTempDB。 – 2009-08-14 19:20:46
+1我认为这是一个更好的解决方案。 – 2011-02-10 00:16:37
SELECT [name]
FROM master.dbo.sysdatabases
WHERE dbid > 6
- 1. 如何在sql server 2005中获取用户创建的模式
- 2. 在SQL Server 2005中创建数据库
- 3. 如何在sql server 2005上使用c#vs08创建数据库
- 4. 在SQL Server 2005中使用T-SQL创建数据库别名
- 5. 如何获取SQL SERVER数据库中所有表的行数
- 6. 如何在SQL Server中创建数据库的数据库图
- 7. 在SQL Server中获取所有数据库大小的总和
- 8. 如何在sql server 2005中编写sql server数据库图表?
- 9. 如何在SQL Server 2005中恢复SQL SERVER 2008数据库
- 10. 在SQL Server 2005主数据库中创建表
- 11. 获取在SQL Server 2005中
- 12. 如何从数据库中获取所有用户数据?
- 13. 如何用用户创建SQL Server数据库?
- 14. 如何获取SQL Server CE 2005的创建脚本表
- 15. 查询来获取数据库的SQL Server 2005中
- 16. 如何使用tsql获取SQL Server实例中的所有数据库名称?
- 17. SQL Server 2005如何查找拥有所有图书的用户
- 18. 如何编写创建取决于其在SQL Server参数2005
- 19. 如何在SQL Server 2014上创建SQL Server 2012数据库?
- 20. 在SQL Server中创建数据库
- 21. 在SQL Server中创建数据库
- 22. 如何获取现有sql 2005/2008数据库的dbschema文件?
- 23. 在SQL Server数据库中创建用户
- 24. .net Windows应用程序使用SQL Server 2005数据库...是客户端机器上所需的SQL Server 2005
- 25. 如何在sql server 2005中删除用户定义的数据库?
- 26. 如何使用C#在SQL Server数据库中创建视图?
- 27. 在另一个表中创建从不同的数据库在SQL Server 2005中
- 28. 如何在SQL Server 2005 Management Studio中创建SQL Server 2005存储过程模板?
- 29. 如何确定谁拥有单用户模式下的SQL Server 2005数据库?
- 30. SQL Server 2005 - 创建数据库与另一个数据库的权限
对我的作品在SQL Server 2005 – Rajesh 2009-08-13 07:38:09
这将显示所有数据库这里的主人是不是“山”的登录。所以,如果你的用户数据库的所有者是'sa',那么他们也将被排除在外。 – firedfly 2011-02-09 20:56:08