1、返回所有数据库信息(数据库名,创建日期,存储路径等)。
1 use master;
2 GO
3 select * from dbo.sysdatabases
2、返回当前数据库所有对象(可根据type字段过滤出用户表,索引等)。
1 USE AdventureWorks2008R2;
2 GO
3 SELECT * FROM SYS.objects WHERE TYPE='U'
3、查询指定库中所有表信息(记录数,使用空间等)。
1 USE AdventureWorks2008R2;
2 GO
3 exec sp_MSForEachTable
4 @precommand=N'create table ##(
5 表名 sysname,
6 记录数 int,
7 保留空间 Nvarchar(10),
8 使用空间 varchar(10),
9 索引使用空间 varchar(10),
10 未用空间 varchar(10))',
11 @command1=N'insert ## exec sp_spaceused ''?''',
12 @postcommand=N'select * from ## order by 记录数 '
13
14 DROP TABLE ##
结果如下:
表名 记录数 保留空间 使用空间 索引使用空间 未用空间
---------- ----------- ---------- ---------- ------------ ----------
discounts 3 16 KB 8 KB 8 KB 0 KB
stores 6 24 KB 8 KB 16 KB 0 KB
4、返回指定库所有表的记录数(使用系统函数sp_MSforeachtable(Table))。
1 USE AdventureWorks2008R2;
2 go
3 CREATE TABLE #temp (TableName VARCHAR (255), RowCnt INT)
4 EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?'
5 SELECT TableName, RowCnt FROM #temp ORDER BY RowCnt
6
7 DROP TABLE #temp;
全部在SQL Server 2008 R2环境下测试通过。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com