亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

曲演雜壇--收縮數據庫數據文件

2024-07-21 02:50:01
字體:
來源:轉載
供稿:網友
曲演雜壇--收縮數據庫數據文件

--=====================================================================

部分朋友在遇到收縮數據庫文件的時候遇到一些困難,發現明明有大量剩余空間或刪除了大量數據,還是無法收縮數據庫,這是為啥子呢?

--====================================================================

要收縮數據庫文件,首先我們需要確定有多少空間可以收縮,由于收縮文件是按照Extent來收縮,因此我們需要查找有多少未分配的分區。

--========================================================--查看當前數據庫下各文件的占用空間和可收縮空間--FileSize_MB:當前文件的占用空間--shrink_space_MB:可以收縮的最大空間(未使用的區所占空間)SELECT DB_NAME() AS DatabaseName,F.name,F.physical_name,F.size*8.0/1024 AS FileSize_MB,U.total_page_count,U.allocated_extent_page_count,U.allocated_extent_page_count/8 AS allocated_extent_count,U.unallocated_extent_page_count,U.unallocated_extent_page_count/8 AS unallocated_extent_count,U.unallocated_extent_page_count*8/1024 AS shrink_space_MBFROM sys.database_files FINNER JOIN sys.dm_db_file_space_usage UON F.file_id=U.file_id

或者使用

--==========================================---顯示指定的表或視圖的數據和索引的碎片信息。--使用(TotalExtents-UsedExtents)*8*8/1024 得到可以收縮的空間(單位MB)DBCC SHOWFILESTATS

--===========================================================

在一些情況下,刪除了大量數據,但是可以收縮的空間還是很小,這是為什么呢?讓我們一步步來分析查找。

首先我們查看數據庫上Extent的使用情況

--===========================================--查看數據庫TetDB1的各分區使用情況CREATE TABLE #TmpExtentInfo(    [file_id] INT,    [page_id] BIGINT,    [pg_alloc] INT,    [ext_size] INT,    [object_id] BIGINT,    [index_id] INT,    [partition_number] INT,    [partition_id] BIGINT,    [iam_chain_type] VARCHAR(200),    [pfs_bytes] VARCHAR(200))GOINSERT INTO #TmpExtentInfoEXEC('DBCC EXTENTINFO(''TestDB1'')')

有了所有Extent的使用情況,我們便可以查找在已分配的數據區上未使用的空間情況

--==========================================================--查找在已分配的Extent上未使用的數據頁SELECT OBJECT_NAME(object_id) AS TableName,index_id,SUM(ext_size- pg_alloc)*8.0/1024 AS UnusedSpaceInAllocatedExtent_MBFROM #TmpExtentInfoGROUP BY object_id,index_idORDER BY UnusedSpaceInAllocatedExtent_MB DESC

對于上面有大量未使用空間的用戶對象,可以重建索引來釋放分區。

--============================================================================================

如果未找到,我們就需要更深一步來數據頁的使用情況

--===================================--創建臨時表來存放索引碎片信息CREATE TABLE #TmpPageFrag (   ObjectName char(255),   ObjectId int,   IndexName char(255),   IndexId int,   Lvl int,   CountPages int,   CountRows int,   MinRecSize int,   MaxRecSize int,   AvgRecSize int,   ForRecCount int,   Extents int,   ExtentSwitches int,   AvgFreeBytes int,   AvgPageDensity int,   ScanDensity decimal,   BestCount int,   ActualCount int,   LogicalFrag decimal,   ExtentFrag decimal);--===================================--使用DBCC SHOWCONTIG來獲取索引碎片信息INSERT INTO #TmpPageFragEXEC('DBCC SHOWCONTIG WITH TABLERESULTS, ALL_INDEXES;')--==================================--查找碎片較大的索引SELECT * FROM #TmpPageFragORDER BY CountPages*(100-AvgPageDensity)/100 DESC

當然我們也可以使用以下腳本來查找

SELECT OBJECT_NAME(object_id) AS TableName,*FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, 'SAMPLED')ORDER BY page_count*(100-avg_fragmentation_in_percent) DESC

找到碎片較多的索引,可以通過索引維護來釋放更多數據頁

--===========================================================================================

因為收縮數據庫文件是將已分配的頁從數據文件的末尾移動到該文件前面的未分配頁,因此我們需要先定位哪些“已分配的頁”處于數據文件的末尾,由于數據頁在文件中的偏移量=頁ID*8192,因此頁ID越大的數據頁,處于文件的越尾端,因此我們需要查找頁ID最大的對象

--===========================================--查看數據庫TetDB1的各分區使用情況CREATE TABLE #TmpExtentInfo(    [file_id] INT,    [page_id] BIGINT,    [pg_alloc] INT,    [ext_size] INT,    [object_id] BIGINT,    [index_id] INT,    [partition_number] INT,    [partition_id] BIGINT,    [iam_chain_type] VARCHAR(200),    [pfs_bytes] VARCHAR(200))GOINSERT INTO #TmpExtentInfoEXEC('DBCC EXTENTINFO(''TestDB1'')')--==========================================================--查找在數據文件尾端的對象SELECT OBJECT_NAME(object_id) AS TableName,*FROM #TmpExtentInfoORDER BY page_id DESC

然后對這些索引進行重建,這樣便可以將數據頁移動到文件前段,從而避免收縮文件時過多的數據頁移動。

--=============================================================================

接下來就是收縮啦,這沒什么好說的,如果要收縮的空間比較大,可以分多次小空間低收縮。

--============================================================================

在收縮數據庫過程中,我們要時刻關注阻塞情況哦,遇到個長期運行的事務,親,不要不淡定哦!

--===========================================================================

打完收工,依舊是妹子鎮貼。

PS: 我會盡量放點小清新的圖片,以防止有些兄弟上班時間看妹子被抓到,影響不好!!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲伊人成综合成人网| 国产一区视频在线播放| 精品国产福利在线| 夜夜躁日日躁狠狠久久88av| 国产精品免费小视频| 国产精品久久久久秋霞鲁丝| 欧美极品第一页| 亚洲综合精品一区二区| 欧美在线视频网| 亚洲欧美激情视频| 亚洲最大福利网站| 日韩暖暖在线视频| 成人情趣片在线观看免费| 日本韩国欧美精品大片卡二| 欧美精品久久久久久久久久| 亚洲无线码在线一区观看| 亚洲一区二区三区香蕉| 色一情一乱一区二区| 国产精品久久9| 欧美电影电视剧在线观看| 国产精品av网站| 欧美日韩午夜视频在线观看| 欧美日韩在线视频首页| 久久久久久国产精品久久| 亚洲乱码一区av黑人高潮| 亚洲电影免费观看高清| 欧美日韩国产成人在线观看| 久久亚洲精品中文字幕冲田杏梨| 欧美亚洲国产视频| 久久亚洲综合国产精品99麻豆精品福利| 日本三级韩国三级久久| 欧美亚洲国产日本| 亚洲第五色综合网| 午夜精品久久久99热福利| 欧美孕妇孕交黑巨大网站| 色综合伊人色综合网| 国产一区深夜福利| 欧美性猛交xxxx乱大交| 538国产精品视频一区二区| 亚洲wwwav| 97在线观看视频国产| 亚洲桃花岛网站| 亚洲视频777| 亚洲一品av免费观看| 久久精品电影网| 国产日韩换脸av一区在线观看| 欧美激情久久久| 91久久精品日日躁夜夜躁国产| 中文字幕亚洲在线| 国产精品网红福利| 欧美成人一区二区三区电影| 久久五月天综合| 亚洲精品中文字幕av| 国产精品福利小视频| 日韩欧美国产黄色| 欧美性videos高清精品| 国产激情久久久| 成人亚洲欧美一区二区三区| 日韩精品免费观看| 精品久久久一区二区| 久久免费国产精品1| 欧美xxxwww| 欧美最猛性xxxxx免费| 久久免费国产精品1| 97免费中文视频在线观看| 欧美极品在线视频| 久久久久久久久国产精品| 日韩中文字幕视频在线观看| 日本人成精品视频在线| 国产精品中文字幕在线观看| 亚洲大胆人体视频| 狠狠色狠色综合曰曰| 久久在线观看视频| 日韩高清电影好看的电视剧电影| 亚洲jizzjizz日本少妇| 欧美性videos高清精品| 国产精品久久久久久久9999| 97在线免费视频| 5278欧美一区二区三区| 91色在线观看| 欧美日韩在线一区| 亚洲精品98久久久久久中文字幕| 精品久久久久久亚洲精品| 亚洲自拍偷拍色图| 欧美中文字幕第一页| 欧美性猛交xxxx偷拍洗澡| 亚洲精品之草原avav久久| 免费99精品国产自在在线| 国产精品网红福利| 日韩大片免费观看视频播放| 久久精品国产96久久久香蕉| 欧美激情精品久久久久久蜜臀| 亚洲日本中文字幕免费在线不卡| 亚洲欧美一区二区三区四区| 日韩电影大全免费观看2023年上| 91国产一区在线| 国产综合久久久久久| 中文字幕精品在线视频| 亚洲二区中文字幕| 国产精品久久久久9999| 国产精品欧美日韩一区二区| 国产日产久久高清欧美一区| 亚洲国产天堂久久综合网| 亚洲国产日韩欧美在线动漫| 久久人人爽人人爽人人片av高请| 国产69精品久久久久久| 欧美激情亚洲视频| 亚洲天堂av女优| 国产日韩一区在线| 久久精品99久久久香蕉| 亚洲第一色中文字幕| 欧美激情视频网| 欧美日韩午夜视频在线观看| 91国内揄拍国内精品对白| 久久久久久这里只有精品| 菠萝蜜影院一区二区免费| 国产精品在线看| 成人亚洲综合色就1024| www亚洲精品| 91精品国产91久久久久| 庆余年2免费日韩剧观看大牛| 欧美一级淫片播放口| 国产精品va在线播放我和闺蜜| 亚洲欧洲xxxx| 色综合老司机第九色激情| 国产精品久久久久久久午夜| 久久成人这里只有精品| 日韩天堂在线视频| 日本精品久久久久久久| 国产区精品视频| 91国偷自产一区二区三区的观看方式| 日韩中文综合网| 欧美肥老妇视频| 中文字幕欧美日韩精品| 国产伦精品一区二区三区精品视频| 国产一区二区久久精品| 成人淫片在线看| 日韩一区二区三区xxxx| 欧美日韩国产丝袜美女| 亚洲加勒比久久88色综合| 欧美一区二粉嫩精品国产一线天| 日韩中文字幕第一页| 岛国av午夜精品| 欧美精品videossex88| 久久久爽爽爽美女图片| 久久精品久久久久久国产 免费| 国产成人综合精品在线| 日本三级韩国三级久久| 国外成人免费在线播放| 中文字幕日韩av综合精品| 欧美中文字幕在线视频| 91在线直播亚洲| 少妇激情综合网| 欧美一级黄色网| 91丨九色丨国产在线| 国产91精品久久久久| 亚洲第一福利网站| 日韩欧美亚洲一二三区| 欧亚精品中文字幕| 日韩欧美aⅴ综合网站发布| 91国产中文字幕| 国产精品视频不卡| 亚洲午夜色婷婷在线| 中文欧美日本在线资源|