- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想分析我的数据库,并通过执行 "sp_MSforeachtable 'EXECUTE sp_spaceused [?];';"
将每个表的结果放入 MS Excel 工作表中。从 ADODB 命令或记录集,然后使用 CopyFromRecordset 将结果输出到 Excel。
这是我正在使用的代码:
Sub analyseHermesDB()
Dim oConn As Object, oRec As Object, oField As Object, iIndx As Integer
' sp_MSforeachtable 'EXECUTE sp_spaceused [?];';
Set oConn = CreateObject("ADODB.Connection")
Set oRec = CreateObject("ADODB.Recordset")
oConn.Open "FILE NAME=" & ThisWorkbook.Path & "\conn.udl"
With oRec
.activeconnection = oConn
.Source = "sp_MSforeachtable 'EXECUTE sp_spaceused [?];';"
.cursorlocation = 3
.Open
For iIndx = 0 To .fields.Count - 1
ActiveCell.Offset(0, iIndx).Value = .fields(iIndx).Name
Next
Do Until .EOF
ActiveCell.Offset(.absoluteposition, 0).CopyFromRecordset oRec
.movenext
Loop
ActiveCell.Offset(0, 1).Value = .RecordCount
.Close
End With
End Sub
"sp_MSforeachtable 'EXECUTE sp_spaceused [?];';"
在 SQL Server 2008 Management Studio 中,每个表都有一个结果集。
sp_MSforeachtable
获取表列表然后执行
EXECUTE sp_spaceused [?];'
每一个人?
最佳答案
sp_MSforeachtable 返回多个结果集,您需要以这种方式使用它们
但是,您可以使用一些简单的 SQL 来实现您想要的
无论如何,sp_spaceused 在内部使用类似的 SQL...
随意调整,这是我使用的脚本的精确复制/粘贴
SELECT
o.name,
SUM(ps.reserved_page_count)/128.0 AS ReservedMB,
SUM(ps.used_page_count)/128.0 AS UsedMB
FROM
sys.objects o
JOIN
sys.dm_db_partition_stats ps ON o.object_id = ps.object_id
WHERE
OBJECTPROPERTYEX(o.object_id, 'IsMSShipped') = 0
GROUP BY
o.name
ORDER BY
SUM(ps.reserved_page_count) DESC
关于excel - 使用 ADO 从 Excel 2003 执行 "sp_MSforeachtable"(SQL Server 2008 R2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16586348/
我想打印一些动态查询来对数据库中的所有表执行一个过程。这就是我到目前为止所写的 - EXEC SP_MSFOREACHTABLE ' IF EXISTS(SELECT * FROM INFOR
如何使用 sp_MSforeachtable 向每个表添加索引?它不断给出错误。 EXEC sp_MSforeachtable @precommand = 'declare @idx as char;
我知道 sp_msforeachtable 允许对所有表执行查询。 我有 100 个表,我想对 97 个表执行相同的查询。 我正在使用此查询:EXEC sp_MSForEachTable "DELET
我想使用 sp_msforeachtable 对数据库中的某些表执行一些操作。我使用 IF 语句来过滤表。但它没有给我正确的答案。如以下脚本所示,我使用 AdventureWorks 进行测试。我想对
我打算列出我的数据库中所有没有记录的表。 与大多数时候我使用 SP_MSforeachtable 一样,例如: EXEC sys.sp_MSforeachtable 'if (select Count
是否有任何方法可以引用在“sp_msforeachdb”循环内运行的“sp_MSforeachtable”循环内的表? 例如,在以下查询中“?”始终引用数据库: DECLARE @cmd VARCHA
我正在尝试编写此查询来查找具有特定列和特定值的所有表。这就是我到目前为止所做的 - EXEC sp_MSforeachtable @command1=' IF EXISTS (SELECT * FRO
我正在使用 SSIS 将一些测试数据加载到我们的数据仓库中,并且遇到了外键约束的老问题。我将删除/添加所有数据以查找本地测试环境中的数据问题。因此,此时我不太关心参照完整性......我遇到了这个方便
我正在尝试使用the undocumented system procedure sp_MSforeachtable 。但我需要将受影响的表限制为以“smp”开头且位于“dbo”架构中的表。我能够找到
我正在尝试使用 .dacpac 发布 SQL Server 数据库并将配置文件发布到 Azure SQL 数据库。我们已经使用本地 SQL Server 很长一段时间了,没有出现任何问题,现在我们正在
当我尝试在表上重建索引时: ALTER INDEX ALL ON [dbo].[Allocations] REBUILD 效果很好。 但是当我打电话时 EXECUTE sp_msForEachTabl
我想分析我的数据库,并通过执行 "sp_MSforeachtable 'EXECUTE sp_spaceused [?];';" 将每个表的结果放入 MS Excel 工作表中。从 ADODB 命令或
我是一名优秀的程序员,十分优秀!