欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL?Server查詢所有表數(shù)據(jù)量的代碼實(shí)例

 更新時(shí)間:2025年08月21日 08:41:38   作者:夜光小兔紙  
在SQL Server中查看數(shù)據(jù)庫中有多少張表,可以通過查詢系統(tǒng)視圖或系統(tǒng)表來實(shí)現(xiàn),這篇文章主要介紹了SQL?Server查詢所有表數(shù)據(jù)量的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

1.查詢當(dāng)前數(shù)據(jù)庫中所有用戶表的數(shù)據(jù)量(即每個(gè)表的記錄數(shù))

SELECT  a.name ,  b.rows  FROM    sysobjects AS a

       INNER JOIN sysindexes AS b ON a.id = b.id
WHERE   ( a.type = 'u' )  AND ( b.indid IN ( 0, 1 ) )
ORDER BY b.rows DESC

SELECT 
    t.NAME AS TableName,
    s.Name AS SchemaName,
    p.rows AS RowCounts
FROM 
    sys.tables t
INNER JOIN      
    sys.schemas s ON t.schema_id = s.schema_id
INNER JOIN      
    sys.partitions p ON t.object_id = p.object_id
WHERE 
    p.index_id IN (0, 1)  -- 0 = heap table, 1 = clustered index
GROUP BY 
    t.Name, s.Name, p.Rows
ORDER BY 
    p.rows DESC;

說明:
sys.tables:獲取數(shù)據(jù)庫中所有用戶表。

sys.partitions:每個(gè)表(或分區(qū))在物理存儲層面的分區(qū)信息,包含記錄數(shù)(rows)。

index_id IN (0, 1):過濾掉非主數(shù)據(jù)行的分區(qū)(如非聚集索引的副本)。

2.在1的基礎(chǔ)上增加顯示數(shù)據(jù)庫名

SELECT 
    DB_NAME() AS DatabaseName,
    t.NAME AS TableName,
    s.Name AS SchemaName,
    SUM(p.rows) AS RowCounts
FROM 
    sys.tables t
INNER JOIN      
    sys.schemas s ON t.schema_id = s.schema_id
INNER JOIN      
    sys.partitions p ON t.object_id = p.object_id
WHERE 
    p.index_id IN (0, 1)
GROUP BY 
    t.Name, s.Name
ORDER BY 
    RowCounts DESC;

3.跨所有數(shù)據(jù)庫查詢每個(gè)數(shù)據(jù)庫中每張表的數(shù)據(jù)量(行數(shù))

需要跨多個(gè)數(shù)據(jù)庫查,可以使用 sp_MSforeachdb 或手動遍歷數(shù)據(jù)庫執(zhí)行2中語句。

跨所有數(shù)據(jù)庫查詢每個(gè)數(shù)據(jù)庫中每張表的數(shù)據(jù)量(行數(shù)),使用 sp_MSforeachdb 系統(tǒng)存儲過程完成:

EXEC sp_MSforeachdb N'
USE [?];

IF DB_ID() NOT IN (1, 2, 3, 4)  -- 排除系統(tǒng)數(shù)據(jù)庫(master, tempdb, model, msdb)
BEGIN
    PRINT ''Database: [?]'';
    SELECT 
        DB_NAME() AS DatabaseName,
        s.name AS SchemaName,
        t.name AS TableName,
        SUM(p.rows) AS RowCounts
    FROM 
        sys.tables t
    INNER JOIN 
        sys.schemas s ON t.schema_id = s.schema_id
    INNER JOIN 
        sys.partitions p ON t.object_id = p.object_id
    WHERE 
        p.index_id IN (0, 1)
    GROUP BY 
        s.name, t.name
    ORDER BY 
        RowCounts DESC;
END
';

說明:
sp_MSforeachdb:遍歷所有數(shù)據(jù)庫。

USE [?]:在遍歷時(shí)切換數(shù)據(jù)庫上下文。

IF DB_ID() NOT IN (…):排除系統(tǒng)數(shù)據(jù)庫。

每個(gè)數(shù)據(jù)庫都會輸出一個(gè)標(biāo)題,然后列出其所有表及記錄數(shù)。

注意事項(xiàng):
該語句需以 sa 或具有跨庫權(quán)限的賬戶執(zhí)行。

sp_MSforeachdb 是未文檔化的存儲過程,雖然廣泛使用但微軟不推薦用于關(guān)鍵任務(wù)。如果需要更穩(wěn)健的版本可考慮自己實(shí)現(xiàn)游標(biāo)版本。

總結(jié) 

到此這篇關(guān)于SQL Server查詢所有表數(shù)據(jù)量的文章就介紹到這了,更多相關(guān)SQLServer查詢所有表數(shù)據(jù)量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis的動態(tài)sql詳解(精)

    mybatis的動態(tài)sql詳解(精)

    MyBatis的動態(tài)SQL是基于OGNL表達(dá)式的,它可以幫助我們方便的在SQL語句中實(shí)現(xiàn)某些邏輯,本文詳解mybatis的動態(tài)sql,需要的朋友可以參考下
    2015-08-08
  • SQL server使用自定義函數(shù)以及游標(biāo)

    SQL server使用自定義函數(shù)以及游標(biāo)

    最近忙于動態(tài)監(jiān)測軟件的開發(fā),處理有關(guān)標(biāo)準(zhǔn)宗地編碼和區(qū)段編碼關(guān)系,關(guān)系如下表所示
    2011-10-10
  • ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻

    ASP和SQL Server如何構(gòu)建網(wǎng)頁防火墻

    本文介紹的是利用ASP和SQL Server構(gòu)建網(wǎng)頁防火墻,介紹建立的過程,主要分三步給大家介紹的。希望對你有幫助,一起來看。
    2015-10-10
  • SQL?Server中的邏輯函數(shù)介紹

    SQL?Server中的邏輯函數(shù)介紹

    這篇文章介紹了SQL?Server中的邏輯函數(shù),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • sql where 1=1的優(yōu)缺點(diǎn)分析

    sql where 1=1的優(yōu)缺點(diǎn)分析

    where 1=1; 這個(gè)條件始終為True,在不定數(shù)量查詢條件情況下,1=1可以很方便的規(guī)范語句
    2013-04-04
  • SQL SERVER 將XML變量轉(zhuǎn)為JSON文本

    SQL SERVER 將XML變量轉(zhuǎn)為JSON文本

    這篇文章主要介紹了SQL SERVER 將XML變量轉(zhuǎn)為JSON文本的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • SQL Server誤設(shè)置max server memory的處理方法

    SQL Server誤設(shè)置max server memory的處理方法

    這篇文章主要給大家介紹了關(guān)于SQL Server誤設(shè)置max server memory的處理方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧下
    2019-12-12
  • 修改數(shù)據(jù)庫為多用戶模式

    修改數(shù)據(jù)庫為多用戶模式

    這篇文章主要介紹了修改sql數(shù)據(jù)庫為多用戶模式的方法,需要的朋友可以參考下
    2014-07-07
  • sqlserver 觸發(fā)器實(shí)例代碼

    sqlserver 觸發(fā)器實(shí)例代碼

    何為觸發(fā)器?在SQL Server里面也就是對某一個(gè)表的一定的操作,觸發(fā)某種條件,從而執(zhí)行的一段程序。觸發(fā)器是一個(gè)特殊的存儲過程
    2011-12-12
  • 關(guān)于SQL Server數(shù)據(jù)庫中的用戶權(quán)限和角色管理功能實(shí)現(xiàn)

    關(guān)于SQL Server數(shù)據(jù)庫中的用戶權(quán)限和角色管理功能實(shí)現(xiàn)

    在本文中,我們介紹了在SQL Server中創(chuàng)建用戶、分配權(quán)限和管理角色的基礎(chǔ)知識,請記住定期審查和更新用戶權(quán)限,以符合您組織的安全政策和數(shù)據(jù)訪問要求,這篇文章主要介紹了關(guān)于SQL Server數(shù)據(jù)庫中的用戶權(quán)限和角色管理,需要的朋友可以參考下
    2024-03-03

最新評論