黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

使用一個T-SQL語句批量查詢數據表占用空間及其

系統 2493 0
原文: 使用一個T-SQL語句批量查詢數據表占用空間及其行數

?

要找到數據庫中數據表占用的空間和存在的行數。可以使用sp_spaceused搭配數據表的名稱。就可以產生該表耗用的空間和現有行數。

如:

USE ADVENTUREWORKS

GO

EXEC sp_spaceused [Sales.SalesOrderHeader]

GO

?

?

但如果數據庫中包含數千的數據表,如何能利用一句SQL語句來實現?

?

解決方法:

一、動態SQL:

先用T-SQL動態產生表達式,然后放到一個查詢中執行。如:

USE ADVENTUREWORKS

GO

SET NOCOUNT ON

SELECT 'EXEC SP_SPACEUSED [' + S . name + '.' + T . name + '];'

FROM sys . tables T INNER JOIN sys . schemas S

ON T . SCHEMA_ID = S . SCHEMA_ID

WHERE S . NAME = 'HumanResources'

SET NOCOUNT OFF

結果如下:

使用一個T-SQL語句批量查詢數據表占用空間及其行數

把結果復制到新的窗口執行即可得到結果。

但這種方法需要人手操作不適合自動化、定時化操作。

二、使用累加字符串的方式動態生成:

因為要自動化,所以會利用數據表的INSERT觸發器,執行動態表達式。并且自動將輸入的數據表,計算結果:

-- 建立表,執行 insert 觸發器

USE AdventureWorks

GO

CREATE TABLE myTab

(

??? TableName VARCHAR ( 255 )

)

GO

?

?

-- 建立觸發器:

CREATE TRIGGER tr2 ON myTab

AFTER INSERT

AS

??? DECLARE @sql VARCHAR ( max )

??? SET @sql = ''

??????? -- 使用累加字符串,產生語句

??? SELECT @sql = @sql +

??????????? ??????????? 'EXEC sp_spaceused [' + TableName + ']; '

??????????? FROM inserted

??????????? -- 利用 EXECUTE 執行動態語句

??? EXEC ( @sql )

?

-- 新增指定的數據表名稱,會自動顯示數據表的使用空間:

INSERT myTab

SELECT S . name + '.' + T . name

FROM sys . tables T INNER JOIN sys . schemas S

ON T . schema_id = S . schema_id

WHERE S . name = 'HumanResources'

?

? 使用一個T-SQL語句批量查詢數據表占用空間及其行數

使用一個T-SQL語句批量查詢數據表占用空間及其行數


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論