在SQL Server中执行sp数据库时排除系统数据库

时间:2009-01-16 04:37:36

标签: c# sql-server

我正在通过执行 sp_databases 存储过程来检索数据库列表。有什么办法可以从这个列表中排除系统数据库吗?我想要使用查询SELECT name FROM dbo.sysdatabases where dbid> 6。

谢谢

1 个答案:

答案 0 :(得分:1)

sp_databases没有参数。

您唯一能做的就是使用INSERT EXEC模式插入表var,然后从表var中选择并排除要排除的dbs。看起来有点凌乱,你能扩展这个问题的背景吗?

这很有效,但它有点hacky:

create table #t (db_name varchar(255), db_size int, remarks text) 

insert #t 
exec sp_databases

select * from #t
where db_name not in ('master', 'model', 'tempdb', 'msdb')