原贴: https://www.mssqltips.com/sqlservertip/1414/run-same-command-on-all-sql-server-databases-without-cursors/

--This query will return a listing of all tables in all databases on a SQL instance:
DECLARE @command varchar(1000)
SELECT @command = 'USE ? SELECT name FROM sysobjects WHERE xtype = ''U'' ORDER BY name'
EXEC sp_MSforeachdb @command
--This statement creates a stored procedure in each user database that will return a listing of all users in a database, sorted by their modification date
DECLARE @command varchar(1000) SELECT @command = 'IF ''?'' NOT IN(''master'', ''model'', ''msdb'', ''tempdb'') BEGIN USE ? EXEC(''CREATE PROCEDURE pNewProcedure1 AS SELECT name, createdate, updatedate FROM sys.sysusers ORDER BY updatedate DESC'') END' EXEC sp_MSforeachdb @command
--This query will return a listing of all files in all databases on a SQL instance:

EXEC sp_MSforeachdb 'USE ? SELECT ''?'', SF.filename, SF.size FROM sys.sysfiles SF'

查询跨库存储过程调用,没有直接的方法:

DECLARE @sql NVARCHAR(2000)='USE ? 
SELECT DB_NAME();
SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE ''%P_ThisIsAStoredProcedure%''' EXEC sp_MSforeachdb @sql

联合sp_MSforeachdb,SP_MSFOREACHTABLE,sp_spaceused 查询各库各表的大小:

DECLARE @sql NVARCHAR(2000)='USE ^;
--SELECT DB_NAME();
EXEC sp_spaceused;
--EXEC SP_MSFOREACHTABLE ''EXEC sp_spaceused "?"'' CREATE TABLE #t
(
name VARCHAR(255),
ROWS BIGINT,
reserved VARCHAR(20),
DATA VARCHAR(20),
index_size VARCHAR(20),
unused VARCHAR(20)
)
EXEC sp_MSforeachtable "insert into #t exec sp_spaceused ''?''"
SELECT *,CAST(SUBSTRING(data,0,LEN(data)-2) AS float)/1024 as Data_MB FROM #t ORDER BY Data_MB desc
DROP TABLE #t
' EXEC sp_MSforeachdb @sql,'^'

查所有数据库表大小:

create table #temp1
([数据库名] varchar(50),
[数据库大小(MB)] dec (15,2),
[未分配空间(MB)] dec (15,2),
[保留(MB)] dec (15,2),
[数据(MB)] dec (15,2),
[索引(MB)] dec (15,2),
[未使用(MB)] dec (15,2)) insert into #temp1
exec sp_msforeachdb
'use ?;
select
db_name(),
convert(dec (15,2),(convert(dec (15,2),dbsize) + convert (dec (15,2),logsize)) * 8192 / 1048576),
convert(dec (15,2),(case when dbsize >= reservedpages then (convert (dec (15,2),dbsize) - convert (dec (15,2),reservedpages)) * 8192 / 1048576 else 0 end)),
convert(dec (15,2),reservedpages * 8192 / 1048576.),
convert(dec (15,2),pages * 8192 / 1048576.),
convert(dec (15,2),(usedpages - pages) * 8192 / 1048576.),
convert(dec (15,2),(reservedpages - usedpages) * 8192 / 1048576.)
FROM
(
SELECT sum(convert(bigint,case when status & 64 = 0 then size else 0 end)) AS dbsize
, sum(convert(bigint,case when status & 64 <> 0 then size else 0 end)) AS logsize
from dbo.[sysfiles]
) a
LEFT JOIN
(
select sum(a.total_pages) AS reservedpages,
SUM(a.used_pages) AS usedpages,
SUM(
CASE
-- XML-Index and FT-Index internal tables are not considered "data", but is part of "index_size"
When it.internal_type IN (202,204,211,212,213,214,215,216) Then 0
When a.type <> 1 Then a.used_pages
When p.index_id < 2 Then a.data_pages
Else 0
END
) AS pages
from [sys].[partitions] p join [sys].[allocation_units] a on p.partition_id = a.container_id
left join [sys].[internal_tables] it on p.object_id = it.object_id
) b ON 1=1
' select * from #temp1 ORDER BY [数据库大小(MB)] desc drop table #temp1

查询数据库某库下所有表的所有字段

SELECT TOP 100 a.TABLE_NAME,a.COLUMN_NAME,a.DATA_TYPE,a.CHARACTER_MAXIMUM_LENGTH,b.value
from information_schema.COLUMNS as a left join sys.extended_properties as b
on a.TABLE_NAME=OBJECT_NAME(b.major_id) and a.ORDINAL_POSITION=b.minor_id
where a.COLUMN_NAME LIKE '%parcelList%'

Run same command on all SQL Server databases without cursors的更多相关文章

  1. Describe in brief Databases and SQL Server Databases Architecture.

    Databases- A database is a structured collection of data.- Database can be thought as simple data fi ...

  2. BCP command usage in SQL Server

    The bcp Command-Line Utility You use the bcp (bulk copy program) tool to address the bulk movement o ...

  3. 转:Move all SQL Server system databases at one time

    Problem One task that you may need to do as a DBA is to move the system databases from one location ...

  4. P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

    P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May ...

  5. Microsoft SQL Server Trace Flags

    Complete list of Microsoft SQL Server trace flags (585 trace flags) REMEMBER: Be extremely careful w ...

  6. Migrating Oracle on UNIX to SQL Server on Windows

    Appendices Published: April 27, 2005 On This Page Appendix A: SQL Server for Oracle Professionals Ap ...

  7. Microsoft SQL Server Version List [sqlserver 7.0-------sql server 2016]

    http://sqlserverbuilds.blogspot.jp/   What version of SQL Server do I have? This unofficial build ch ...

  8. Microsoft SQL Server Version List(SQL Server 版本)

    原帖地址 What version of SQL Server do I have? This unofficial build chart lists all of the known Servic ...

  9. Zabbix template for Microsoft SQL Server总结

      Zabbix template for Microsoft SQL Server介绍   这里介绍Zabbix下监控Microsoft SQL Server数据库非常好用的一个模板,模板名为&qu ...

随机推荐

  1. python+图像分割seg

    好痛苦 1.目前思路为HOG+SVM 提取HOG时候发现,包装的lib cv2 里有hog算子,但是函数是指针形式.不会用了.. 现在改用推荐的scikits.image , from skimage ...

  2. C++语法之-------strcpy,memcpy,memset

    1.strcpy 原型:extern char *strcpy(char *dest,char *src); 用法:#i nclude 功能:把src所指由NULL结束的字符串复制到dest所指的数组 ...

  3. 分享一段视频关于SQL2014 Hekaton数据库的

    分享一段视频关于SQL2014 Hekaton数据库的 Microsoft SQL Server In-Memory OLTP Project "Hekaton": App Dev ...

  4. 一步一步搭建客服系统 (4) 客户列表 - JS($.ajax)调用WCF 遇到的各种坑

    本文以一个生成.获取“客户列表”的demo来介绍如何用js调用wcf,以及遇到的各种问题. 1 创建WCF服务 1.1 定义接口 创建一个接口,指定用json的格式:   [ServiceContra ...

  5. 让ASP.NET Web API支持POST纯文本格式(text/plain)的数据

    今天在web api中遇到了这样一个问题,虽然api的参数类型是string,但只能接收post body中json格式的string,不能接收原始string. web api是这样定义的: pub ...

  6. 使用FEST-Swing测试GUI

          在Java中最常用的单元测试工具要算JUnit了.FEST-Swing是一个能够与JUnit集成的GUI测试框架.使用FEST-Swing可以更方便的对Swing进行一系列的测试.下面就说 ...

  7. 曲演杂坛--EXISTS语句

    通常在我写EXISTS语句时,我会写成IF EXISTS(SELECT TOP(1) 1 FROM XXX),也没细细考究过为什么要这么写,只是隐约认为这样写没有啥问题,那今天就深究下吧! 首先准备测 ...

  8. 你在用什么思想编码:事务脚本 OR 面向对象?

    最近在公司内部做技术交流的时候,说起技能提升的问题,调研大家想要培训什么,结果大出我意料,很多人想要培训:面向对象编码.于是我抛出一个问题:你觉得我们现在的代码是面向对象的吗?有人回答:是,有人回答否 ...

  9. [WinAPI] 串口读写

    #include <stdio.h> #include <stdlib.h> #include <windows.h> HANDLE hComm; OVERLAPP ...

  10. 一个Java应用,三种字体风格(Java, Windows, Mac),真是蛋疼

    大家看看下面这张图,红色圈起来的是Java难看至极的字体渲染,黄色圈起来的是正常的Windows渲染,绿色是Mac风格的渲染. 其实我感觉正常风格就挺好的,就是看那个Java的Swing菜单,非常不顺 ...