亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

SQL Server數(shù)據(jù)庫(kù)巡檢命令清單:會(huì)話、索引碎片與死鎖排查實(shí)戰(zhàn)

SQL Server數(shù)據(jù)庫(kù)巡檢命令清單:會(huì)話、索引碎片與死鎖排查實(shí)戰(zhàn) 前陣子我集中對(duì)一套業(yè)務(wù)系統(tǒng)做了幾輪數(shù)據(jù)庫(kù)巡檢翻筆記本時(shí)發(fā)現(xiàn)當(dāng)天用到的SQL Server命令其實(shí)可以組成一份相當(dāng)完整的排查清單。從會(huì)話狀態(tài)到索引碎片從等待統(tǒng)計(jì)到死鎖現(xiàn)場(chǎng)基本覆蓋了日常運(yùn)維里最常遇到的那幾類問(wèn)題。這篇就把當(dāng)天真正動(dòng)手敲過(guò)、并且驗(yàn)證有效的命令逐條寫出來(lái)每條附帶我當(dāng)時(shí)的判斷邏輯和踩過(guò)的坑想直接拿去用的朋友照著復(fù)制即可。1. 這批命令的整理背景慢查詢和阻塞告警逼出來(lái)的清單那段時(shí)間生產(chǎn)環(huán)境頻繁報(bào)出兩類問(wèn)題一是某些頁(yè)面接口響應(yīng)突然變慢二是早上九點(diǎn)半左右偶發(fā)超時(shí)告警。我最初也是靠經(jīng)驗(yàn)逐個(gè)排查執(zhí)行計(jì)劃、索引、鎖挨個(gè)看效率不高。后面實(shí)在覺(jué)得不行干脆把高頻用到的排查命令統(tǒng)一整理成一份腳本文件命名成“巡檢腳本.sql”塞進(jìn)常用工具目錄里。之后只要系統(tǒng)再報(bào)警我第一件事就是跑一遍這套命令從全局指標(biāo)到細(xì)節(jié)語(yǔ)句一條龍過(guò)完基本十分鐘內(nèi)能定位到方向。這套命令挑選的標(biāo)準(zhǔn)很簡(jiǎn)單一條命令對(duì)應(yīng)一類常見(jiàn)問(wèn)題。比如連接數(shù)異常對(duì)應(yīng)會(huì)話視圖慢查詢對(duì)應(yīng)語(yǔ)句統(tǒng)計(jì)鎖等待對(duì)應(yīng)阻塞查詢空間緊張對(duì)應(yīng)數(shù)據(jù)庫(kù)文件大小。每一條都要能直接給出可判斷的指標(biāo)而不是給一堆原始數(shù)據(jù)讓讀者自己猜。適用版本方面我本地的環(huán)境是SQL Server 2019和2022下面寫的系統(tǒng)視圖和命令在2016及以上版本都可以跑老版本2008 R2部分視圖字段略有差異使用時(shí)要留意。另外提一句我整理的這些命令多數(shù)是只讀查詢不會(huì)修改數(shù)據(jù)跑起來(lái)相對(duì)安全。但涉及DBCC、重建索引和備份那幾條必須在維護(hù)窗口或低峰期操作千萬(wàn)別在業(yè)務(wù)高峰期直接對(duì)生產(chǎn)庫(kù)執(zhí)行重建索引這個(gè)后面細(xì)說(shuō)。2. 數(shù)據(jù)庫(kù)健康巡檢命令先看整體狀態(tài)再追細(xì)節(jié)很多朋友排查問(wèn)題時(shí)習(xí)慣直接揪著某條慢SQL去優(yōu)化我的習(xí)慣是反過(guò)來(lái)——先看一眼服務(wù)器和數(shù)據(jù)庫(kù)整體狀態(tài)。因?yàn)楹芏鄷r(shí)候單個(gè)語(yǔ)句慢只是表象背后是連接數(shù)堆積或日志文件膨脹在拖累全局。開場(chǎng)先跑這幾條相當(dāng)于給數(shù)據(jù)庫(kù)做個(gè)體檢。2.1 會(huì)話與連接狀態(tài)快速判斷當(dāng)前有沒(méi)有“堵車”判斷數(shù)據(jù)庫(kù)“堵不堵”第一條命令是查當(dāng)前會(huì)話和連接數(shù)SELECT session_id, status, login_name, host_name, program_name, login_time, last_request_start_time, last_request_end_time FROM sys.dm_exec_sessions WHERE is_user_process 1 ORDER BY last_request_start_time;這條命令會(huì)把所有用戶會(huì)話列出來(lái)我主要看兩件事一是有沒(méi)有大量會(huì)話長(zhǎng)時(shí)間處于running或sleeping狀態(tài)二是last_request_start_time和last_request_end_time間隔是不是異常大。如果某個(gè)會(huì)話的開始時(shí)間和結(jié)束時(shí)間差了好幾秒甚至幾十秒大概率這個(gè)會(huì)話對(duì)應(yīng)的請(qǐng)求出現(xiàn)了阻塞或者執(zhí)行計(jì)劃有問(wèn)題。再配合查詢具體請(qǐng)求狀態(tài)SELECT session_id, start_time, status, command, wait_type, wait_time, blocking_session_id FROM sys.dm_exec_requests WHERE session_id 50;wait_type是重點(diǎn)常見(jiàn)的有LCK_M_S共享鎖等待、LCK_M_X排他鎖等待、PAGEIOLATCH_SH磁盤IO等待、CXPACKET并行查詢等待??吹絯ait_type是鎖等待時(shí)就得繼續(xù)查阻塞鏈這個(gè)我放到后面專門講??吹絇AGEIOLATCH_SH這類IO等待占大頭就要考慮是不是內(nèi)存不足或磁盤性能瓶頸而不是盲目加索引。2.2 數(shù)據(jù)庫(kù)文件和日志狀態(tài)預(yù)防磁盤被寫滿巡檢時(shí)必須看的還有數(shù)據(jù)庫(kù)文件大小和剩余空間。生產(chǎn)環(huán)境最常見(jiàn)的事故之一就是日志文件瘋狂增長(zhǎng)把磁盤塞滿導(dǎo)致數(shù)據(jù)庫(kù)進(jìn)入只讀狀態(tài)。我用的語(yǔ)句是SELECT db.name AS database_name, mf.type_desc AS file_type, mf.name AS logical_name, mf.physical_name, mf.size * 8 / 1024 AS size_mb, mf.growth * 8 / 1024 AS growth_mb, mf.is_percent_growth, CAST(mf.size * 8.0 / 1024 / 1024 AS DECIMAL(10,2)) AS size_gb, CAST(FILEPROPERTY(mf.name, SpaceUsed) * 8.0 / 1024 / 1024 AS DECIMAL(10,2)) AS used_gb FROM sys.databases db JOIN sys.master_files mf ON db.database_id mf.database_id WHERE db.database_id 4 ORDER BY size_gb DESC;這里算出每個(gè)文件的邏輯名、物理路徑、總大小、已用空間一眼看到剩余空間。有個(gè)容易忽略的點(diǎn)growth字段如果是按百分比增長(zhǎng)大型數(shù)據(jù)庫(kù)擴(kuò)容時(shí)可能瞬間分配很大空間引起IO抖動(dòng)。建議核心業(yè)務(wù)庫(kù)的數(shù)據(jù)文件和日志文件都改成固定大小增長(zhǎng)比如每次增長(zhǎng)2GB或4GB避免頻繁自動(dòng)擴(kuò)張帶來(lái)的性能波動(dòng)。2.3 活動(dòng)事務(wù)檢查清理日志失敗的常見(jiàn)原因還有一條我經(jīng)常用的DBCC命令DBCC OPENTRAN(數(shù)據(jù)庫(kù)名);這條的作用是查看當(dāng)前數(shù)據(jù)庫(kù)中最早的活動(dòng)事務(wù)。如果日志備份一直失敗或者日志文件無(wú)法收縮多半是有長(zhǎng)事務(wù)沒(méi)有提交。跑完這條如果看到類似“最早的活動(dòng)事務(wù)”信息就能定位到具體的事務(wù)開始時(shí)間和SPID。記得有一次某張業(yè)務(wù)表被一條未提交的UPDATE鎖住外部程序一直在等鎖日志也越漲越大就是靠DBCC OPENTRAN找到事務(wù)源頭然后和業(yè)務(wù)側(cè)確認(rèn)后手動(dòng)回滾才解除的。3. 性能排查命令從等待統(tǒng)計(jì)中揪出真正的瓶頸數(shù)據(jù)庫(kù)變慢往往不是單一語(yǔ)句的問(wèn)題而是某個(gè)環(huán)節(jié)成為了瓶頸。我比較依賴等待統(tǒng)計(jì)來(lái)定位因?yàn)榈却y(tǒng)計(jì)是SQL Server自己記錄的“卡在哪”的數(shù)據(jù)比我們猜要準(zhǔn)確得多。有個(gè)很形象的類比醫(yī)院急診室護(hù)士會(huì)記錄每個(gè)病人的等待原因和等待時(shí)間等待統(tǒng)計(jì)就是數(shù)據(jù)庫(kù)的“候診記錄表”。3.1 等待類型匯總先看整體等待分布SELECT wait_type, wait_time_ms / 1000.0 AS wait_time_sec, waiting_tasks_count, signal_wait_time_ms / 1000.0 AS signal_wait_sec, (wait_time_ms - signal_wait_time_ms) / 1000.0 AS resource_wait_sec, wait_time_ms * 100.0 / SUM(wait_time_ms) OVER() AS wait_percent FROM sys.dm_os_wait_stats WHERE wait_type NOT IN ( BROKER_EVENTHANDLER, BROKER_RECEIVE_WAITFOR, BROKER_TASK_STOP, BROKER_TO_FLUSH, BROKER_TRANSMITTER, CHECKPOINT_QUEUE, CHKPT, CLR_AUTO_EVENT, CLR_MANUAL_EVENT, CLR_SEMAPHORE, DBMIRROR_DBM_EVENT, DBMIRROR_EVENTS_QUEUE, DBMIRROR_WORKER_QUEUE, DBMIRRORING_CMD, DIRTY_PAGE_SCAN, DISPATCHER_QUEUE_SEMAPHORE, EXECSYNC, FSAGENT, FT_IFTS_SCHEDULER_IDLE_WAIT, FT_IFTSHC_MUTEX, HADR_CLUSAPI_CALL, HADR_NOTIFICATION_DEQUEUE, HADR_TIMER_TASK, HADR_WORK_QUEUE, KSOURCE_WAKEUP, LAZYWRITER_SLEEP, LOGMGR_QUEUE, MEMORY_ALLOCATION_EXT, ON_TASK_WAIT, PREEMPTIVE_OS_LIBRARYOPS, PREEMPTIVE_OS_COUNTOPS, PREEMPTIVE_OS_CRYPTOPS, PREEMPTIVE_OS_QUERYMDN, PREEMPTIVE_OS_TXITPROC, REQUEST_FOR_DEADLOCK_SEARCH, RESOURCE_QUEUE, SLEEP_BPOOL, SLEEP_BUFFERPOOL, SLEEP_DBSTARTUP, SLEEP_DCOMSTARTUP, SLEEP_MASTERDBREADY, SLEEP_MASTERMDREADY, SLEEP_MASTERUPGRADED, SLEEP_MSDBSTARTUP, SLEEP_SYSTEMTASK, SLEEP_TASK, SLEEP_TEMPDBSTARTUP, SNI_HTTP_ACCEPT, SP_SERVER_DIAGNOSTICS_SLEEP, SQLTRACE_BUFFER_FLUSH, SQLTRACE_INCREMENTAL_FLUSH, SQLTRACE_WAIT_ENTRIES, WAIT_FOR_RESULTS, WAITFOR, WAITFOR_TASKSHUTDOWN, WHILE_TEMP, XE_BUFFERMGR_ALLOC, XE_DISPATCHER_WAIT, XE_DISPATCHER_JOIN, XE_MODULEMGR_CALLNOTIFICATION, XE_LOGGER_TICK, XE_TIMER_EVENT ) AND waiting_tasks_count 0 ORDER BY wait_time_ms DESC;這里我排除了大量自循環(huán)等待類型——比如SLEEP_TASK、WAITFOR這類屬于空閑等待如果不過(guò)濾掉它們會(huì)占掉大部分統(tǒng)計(jì)容易誤導(dǎo)判斷??唇Y(jié)果時(shí)我主要關(guān)注三塊排名靠前的是PAGEIOLATCH_*說(shuō)明磁盤IO壓力大LCK_*說(shuō)明存在鎖阻塞CXPACKET說(shuō)明并行查詢等待較多。每種等待的應(yīng)對(duì)思路完全不同不能盲目加索引或加內(nèi)存。3.2 最耗時(shí)查詢排行直接找出“罪魁禍?zhǔn)住钡却y(tǒng)計(jì)確認(rèn)了方向后下一步就是把最慢的語(yǔ)句找出來(lái)。我用的是執(zhí)行計(jì)劃緩存中的統(tǒng)計(jì)信息SELECT TOP 10 qs.total_elapsed_time / qs.execution_count AS avg_elapsed_ms, qs.total_worker_time / qs.execution_count AS avg_cpu_ms, qs.total_logical_reads / qs.execution_count AS avg_logical_reads, qs.execution_count, qs.total_elapsed_time, qs.total_logical_reads, qs.creation_time, SUBSTRING(st.text, (qs.statement_start_offset / 2) 1, ((CASE qs.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset) / 2) 1) AS statement_text, qs.plan_handle FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st ORDER BY avg_elapsed_ms DESC;這條能列出平均耗時(shí)最長(zhǎng)、平均CPU最多、邏輯讀取最多的語(yǔ)句。我通常按平均邏輯讀取排序再看耗時(shí)因?yàn)檫壿嬜x太高的語(yǔ)句往往意味著全表掃描或索引缺失。得到plan_handle之后還可以進(jìn)一步查看該語(yǔ)句的完整執(zhí)行計(jì)劃SELECT query_plan FROM sys.dm_exec_query_plan(0x06000600...); -- 填入實(shí)際的 plan_handle注意query_plan返回的是XML格式在SSMS中點(diǎn)擊即可看到圖形化執(zhí)行計(jì)劃。這里有個(gè)隱藏坑執(zhí)行計(jì)劃緩存是動(dòng)態(tài)的實(shí)例重啟或內(nèi)存壓力大時(shí)舊的統(tǒng)計(jì)會(huì)被清掉。所以如果系統(tǒng)已經(jīng)重啟過(guò)或者跑了很長(zhǎng)時(shí)間sys.dm_exec_query_stats里只能看到緩存中的語(yǔ)句。想完整記錄歷史語(yǔ)句還是得提前開擴(kuò)展事件或第三方監(jiān)控不能只靠這一個(gè)視圖。3.3 缺失索引提示參考但不要無(wú)腦加SQL Server提供一個(gè)很實(shí)用的動(dòng)態(tài)管理視圖可以直接告訴你“它覺(jué)得哪里缺索引”SELECT migs.avg_total_user_cost * migs.avg_user_impact AS improvement_score, migs.avg_user_impact, migs.avg_total_user_cost, mid.database_id, mid.object_id, mid.statement AS table_name, mid.equality_columns, mid.inequality_columns, mid.included_columns, CREATE INDEX [IX_ OBJECT_NAME(mid.object_id, mid.database_id) _ REPLACE(REPLACE(REPLACE(ISNULL(mid.equality_columns, ), , , _), [, ), ], ) CASE WHEN mid.inequality_columns IS NOT NULL THEN _ REPLACE(REPLACE(REPLACE(mid.inequality_columns, , , _), [, ), ], ) ELSE END ] ON mid.statement ( ISNULL(mid.equality_columns, ) CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN , ELSE END ISNULL(mid.inequality_columns, ) ) CASE WHEN mid.included_columns IS NOT NULL THEN INCLUDE ( mid.included_columns ) ELSE END ; AS create_index_statement FROM sys.dm_db_missing_index_details mid JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle mid.index_group_handle WHERE mid.database_id DB_ID() ORDER BY improvement_score DESC;這個(gè)視圖會(huì)直接拼出建議的CREATE INDEX語(yǔ)句看起來(lái)非常方便但我要提醒一句缺失索引建議只是基于成本評(píng)估的“建議”不是“必須執(zhí)行”。我在實(shí)際中見(jiàn)過(guò)不少案例按提示加索引后單條查詢快了不少但整個(gè)表的寫入變慢甚至因?yàn)樗饕^(guò)多導(dǎo)致日志增長(zhǎng)和存儲(chǔ)膨脹。我的習(xí)慣是先人工判斷這個(gè)缺失索引對(duì)應(yīng)的查詢是否高頻涉及的列是否在WHERE和JOIN條件中出現(xiàn)選擇性是否夠好再加一個(gè)INCLUDE的列是否能讓查詢覆蓋。一條查詢?nèi)绻慌芤淮尉退泐A(yù)測(cè)收益99%也不值得加索引。4. 索引維護(hù)命令碎片檢測(cè)與重建/重組的完整決策鏈索引維護(hù)是SQL Server日常運(yùn)維里繞不開的話題但也是被誤解較多的。很多人只知道定期重建索引卻不問(wèn)為什么重建、碎片到什么程度才需要重建。這里把完整的命令決策鏈寫出來(lái)。4.1 碎片詳情查詢重建之前先看看數(shù)據(jù)執(zhí)行如下語(yǔ)句查看某個(gè)數(shù)據(jù)庫(kù)所有索引的碎片情況SELECT OBJECT_NAME(ps.object_id) AS table_name, i.name AS index_name, ps.index_type_desc, ps.page_count, ps.avg_fragmentation_in_percent, ps.avg_page_space_used_in_percent, ps.record_count, ps.ghost_record_count FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, SAMPLED) ps JOIN sys.indexes i ON ps.object_id i.object_id AND ps.index_id i.index_id WHERE ps.avg_fragmentation_in_percent 5 AND ps.page_count 100 AND ps.index_type_desc HEAP ORDER BY ps.avg_fragmentation_in_percent DESC;重點(diǎn)看兩列avg_fragmentation_in_percent代表碎片率avg_page_space_used_in_percent代表頁(yè)面填充率。碎片率只是表面指標(biāo)頁(yè)面填充率過(guò)低說(shuō)明頁(yè)內(nèi)空間浪費(fèi)嚴(yán)重即使碎片率不高也需要關(guān)注。這里我踩過(guò)一個(gè)大坑SAMPLED模式只采樣部分頁(yè)面掃描大表很快但結(jié)果可能不夠準(zhǔn)確。小表或者碎片極不均勻的表用SAMPLED可能漏掉某些碎片區(qū)。更準(zhǔn)確的是DETAILED模式但DETAILED會(huì)掃描全部頁(yè)面大表耗時(shí)很長(zhǎng)必須在維護(hù)窗口執(zhí)行。所以我的做法是日常巡檢用SAMPLED快速看維護(hù)日再針對(duì)重點(diǎn)大表用DETAILED做最終確認(rèn)。4.2 重建與重組的選擇按碎片率分檔處理查到碎片后按以下規(guī)則處理比較穩(wěn)妥碎片率低于5%不需要處理哪怕索引會(huì)繼續(xù)膨脹。碎片率在5%到30%之間執(zhí)行重組ALTER INDEX ... REORGANIZE這個(gè)是邏輯整理不重建物理結(jié)構(gòu)不會(huì)產(chǎn)生大量日志。碎片率大于30%執(zhí)行重建ALTER INDEX ... REBUILD物理上重新分配頁(yè)產(chǎn)生日志較多。對(duì)應(yīng)命令分別是-- 重組單個(gè)索引 ALTER INDEX [IX_表名_列名] ON [dbo].[表名] REORGANIZE; -- 重建單個(gè)索引 ALTER INDEX [IX_表名_列名] ON [dbo].[表名] REBUILD; -- 重建表上所有索引 ALTER INDEX ALL ON [dbo].[表名] REBUILD WITH (FILLFACTOR 90, ONLINE ON);如果生產(chǎn)環(huán)境是企業(yè)版重建索引時(shí)可以帶ONLINE ON這樣表在重建期間仍然可讀寫業(yè)務(wù)影響小很多標(biāo)準(zhǔn)版不支持在線重建通常只能選擇在維護(hù)窗口操作。另外重建大表索引前一定要預(yù)估好日志空間。曾經(jīng)有人在幾小時(shí)內(nèi)跑完重建結(jié)果日志文件把磁盤塞爆最后數(shù)據(jù)庫(kù)進(jìn)入只讀。更穩(wěn)妥的做法是對(duì)核心大表在重建前先備份數(shù)據(jù)庫(kù)或者把數(shù)據(jù)庫(kù)恢復(fù)模式臨時(shí)改成簡(jiǎn)單模式僅限于非關(guān)鍵庫(kù)并且要評(píng)估數(shù)據(jù)安全。4.3 填充因子與其他參數(shù)別讓索引維護(hù)白忙活FILLFACTOR是索引頁(yè)的填充百分比它直接影響后續(xù)碎片產(chǎn)生的速度。默認(rèn)值是0等價(jià)于100%即索引頁(yè)盡可能填滿。對(duì)于頻繁插入的表建議設(shè)置成90左右預(yù)留一部分空間給后續(xù)插入避免頁(yè)分裂導(dǎo)致碎片快速增加對(duì)于基本只讀的表可以保持默認(rèn)這樣索引更緊湊查詢IO更少。還有一個(gè)點(diǎn)容易被忽略——重建索引之后對(duì)應(yīng)的統(tǒng)計(jì)信息也會(huì)自動(dòng)更新。所以通常不需要再單獨(dú)執(zhí)行UPDATE STATISTICS。但如果某個(gè)查詢的執(zhí)行計(jì)劃一直不穩(wěn)定另當(dāng)別論。5. 阻塞與死鎖排查命令還原現(xiàn)場(chǎng)而不是只看到結(jié)果數(shù)據(jù)庫(kù)阻塞和死鎖是運(yùn)維中最頭疼的問(wèn)題之一。難點(diǎn)在于死鎖發(fā)生那一刻就結(jié)束了等你去查的時(shí)候現(xiàn)場(chǎng)已經(jīng)沒(méi)了。所以阻塞查詢要“實(shí)時(shí)”跑死鎖追蹤要“提前開”。以下是我排查這類問(wèn)題時(shí)實(shí)際用到的命令組合。5.1 實(shí)時(shí)阻塞鏈查詢從等待者找到源頭sp_who2是老一代DBA常用命令勝在簡(jiǎn)單EXEC sp_who2;但sp_who2返回的信息不夠結(jié)構(gòu)化也不方便過(guò)濾。我現(xiàn)在更常用這樣一條查詢能直接看到阻塞者和被阻塞者的關(guān)系SELECT r.session_id AS blocked_session_id, r.blocking_session_id AS blocking_session_id, r.wait_type, r.wait_time / 1000.0 AS wait_time_sec, r.status, t.text AS blocked_sql_text, b.text AS blocking_sql_text, es.host_name, es.login_name, es.program_name FROM sys.dm_exec_requests r LEFT JOIN sys.dm_exec_connections rc ON r.session_id rc.session_id LEFT JOIN sys.dm_exec_connections bc ON r.blocking_session_id bc.session_id CROSS APPLY sys.dm_exec_sql_text(rc.most_recent_sql_handle) t CROSS APPLY sys.dm_exec_sql_text(bc.most_recent_sql_handle) b JOIN sys.dm_exec_sessions es ON r.session_id es.session_id WHERE r.blocking_session_id 0 AND r.blocking_session_id IS NOT NULL;這條查詢把阻塞者和被阻塞者兩邊的SQL文本都列出來(lái)一眼就能看出是哪條語(yǔ)句鎖住了什么資源。有一次排查超時(shí)告警跑完后發(fā)現(xiàn)阻塞源頭是一個(gè)長(zhǎng)事務(wù)里的UPDATE語(yǔ)句一直在更新某大表的同一批記錄。往下一查發(fā)現(xiàn)更新條件字段上沒(méi)有索引每次更新都在全表掃描持有大量鎖不釋放后面所有涉及該表的操作全被擋在門外。后續(xù)在該字段上補(bǔ)了索引再配合業(yè)務(wù)側(cè)縮短事務(wù)時(shí)間問(wèn)題才徹底解決。5.2 歷史死鎖追蹤提前開啟跟蹤標(biāo)記死鎖不像阻塞可以現(xiàn)場(chǎng)看到更多時(shí)候需要我們翻歷史記錄。SQL Server默認(rèn)會(huì)記錄死鎖相關(guān)信息但信息比較簡(jiǎn)略。我建議在實(shí)例層面開啟跟蹤標(biāo)記1222和1204這樣死鎖發(fā)生時(shí)會(huì)把完整的資源和語(yǔ)句寫到錯(cuò)誤日志里DBCC TRACEON(1222, -1); DBCC TRACEON(1204, -1);開啟后查看錯(cuò)誤日志中的死鎖信息EXEC sp_readerrorlog 0, 1, deadlock;日志里會(huì)顯示類似“deadlock victim”的字樣以及涉及的資源、進(jìn)程ID和SQL語(yǔ)句。如果還嫌不夠直觀可以開擴(kuò)展事件來(lái)捕獲xml_deadlock_report事件保存死鎖圖形文件用SSMS打開直接看環(huán)形依賴關(guān)系。我個(gè)人在生產(chǎn)環(huán)境更推薦擴(kuò)展事件方式因?yàn)樗鼙4嫱暾乃梨i圖XML排查效率比看文本日志高很多。5.3 鎖粒度和隔離級(jí)別理解比命令本身更重要排查鎖問(wèn)題到深處必須理解隔離級(jí)別的影響。很多時(shí)候不是語(yǔ)句寫錯(cuò)了而是隔離級(jí)別設(shè)置不合理導(dǎo)致鎖持有時(shí)間過(guò)長(zhǎng)。比如默認(rèn)的READ COMMITTED下讀操作只加共享鎖讀完即釋放但如果改成REPEATABLE READ或SERIALIZABLE讀鎖會(huì)一直持有到事務(wù)結(jié)束極易造成阻塞放大。-- 查看當(dāng)前會(huì)話隔離級(jí)別 SELECT CASE transaction_isolation_level WHEN 0 THEN Unspecified WHEN 1 THEN READ UNCOMMITTED WHEN 2 THEN READ COMMITTED WHEN 3 THEN REPEATABLE READ WHEN 4 THEN SERIALIZABLE WHEN 5 THEN SNAPSHOT ELSE UNKNOWN END AS isolation_level FROM sys.dm_exec_sessions WHERE session_id SPID;針對(duì)某些報(bào)表類查詢?nèi)绻试S臟讀可以按語(yǔ)句級(jí)別加WITH (NOLOCK)提示把讀鎖徹底去掉但這要業(yè)務(wù)側(cè)接受可能出現(xiàn)的中途被修改的數(shù)據(jù)。對(duì)核心交易邏輯不建議用NOLOCK來(lái)繞過(guò)鎖問(wèn)題正確做法是優(yōu)化事務(wù)粒度、減少鎖持有時(shí)間或者開啟READ COMMITTED SNAPSHOTRCSI讓讀操作走行版本快照。6. 備份與完整性校驗(yàn)命令出事后才做的操作其實(shí)最需要提前演練備份算是SQL Server命令里最基礎(chǔ)也最不能出錯(cuò)的部分。我發(fā)現(xiàn)很多團(tuán)隊(duì)的備份腳本是“能跑就行”但從沒(méi)做過(guò)恢復(fù)演練真到出問(wèn)題時(shí)才發(fā)現(xiàn)備份文件損壞或恢復(fù)鏈斷裂。這里分享的是我實(shí)際使用的備份與校驗(yàn)命令組合。6.1 全量備份與差異備份參數(shù)不是隨便填的全量備份最常用的一條BACKUP DATABASE [數(shù)據(jù)庫(kù)名] TO DISK ND:\Backup\數(shù)據(jù)庫(kù)名_20260120.bak WITH INIT, NAME N數(shù)據(jù)庫(kù)名-全量備份, COMPRESSION, CHECKSUM, STATS 10;幾個(gè)關(guān)鍵參數(shù)說(shuō)明一下。INIT表示覆蓋同名文件如果不用INIT而且目標(biāo)文件已存在備份會(huì)追加到文件里容易造成文件字節(jié)數(shù)增長(zhǎng)且不可讀。COMPRESSION啟用備份壓縮能顯著減小備份體積但也更消耗CPU資源——如果服務(wù)器CPU本身已經(jīng)長(zhǎng)期高位可以改成MAXTRANSFERSIZE調(diào)優(yōu)而不是啟用壓縮。CHECKSUM在校驗(yàn)備份時(shí)非常關(guān)鍵它會(huì)在備份過(guò)程中計(jì)算校驗(yàn)和RESTORE VERIFYONLY時(shí)就能檢查數(shù)據(jù)頁(yè)是否有損壞。差異備份的命令類似BACKUP DATABASE [數(shù)據(jù)庫(kù)名] TO DISK ND:\Backup\數(shù)據(jù)庫(kù)名_20260120_diff.bak WITH DIFFERENTIAL, INIT, NAME N數(shù)據(jù)庫(kù)名-差異備份, CHECKSUM;需要強(qiáng)調(diào)差異備份是基于上一次全量備份的增量。如果全量備份被覆蓋或刪除中間所有差異備份都失效。所以備份文件的保留策略必須嚴(yán)格比如保留最近7天每日全量再加上當(dāng)天所有差異備份不要手動(dòng)去刪中間文件。6.2 事務(wù)日志備份恢復(fù)時(shí)間點(diǎn)的關(guān)鍵對(duì)恢復(fù)模式為FULL的數(shù)據(jù)庫(kù)必須定期備份事務(wù)日志BACKUP LOG [數(shù)據(jù)庫(kù)名] TO DISK ND:\Backup\數(shù)據(jù)庫(kù)名_20260120_log.trn WITH INIT, CHECKSUM;日志備份做得好才能把數(shù)據(jù)庫(kù)恢復(fù)到任意時(shí)間點(diǎn)?,F(xiàn)實(shí)中我看到不少情況是全量備份和差異備份都有但日志備份頻率過(guò)低甚至一天才一次。如果數(shù)據(jù)庫(kù)在下午兩點(diǎn)宕機(jī)日志備份最后一次是早上六點(diǎn)中間的數(shù)據(jù)就只能丟。核心交易庫(kù)建議日志備份間隔控制在15分鐘以內(nèi)備份文件不大成本主要是IO開銷和時(shí)間精度。6.3 恢復(fù)校驗(yàn)備份的真正考驗(yàn)是能不能恢復(fù)備份完不等于萬(wàn)事大吉我用一條命令驗(yàn)證備份文件完整性RESTORE VERIFYONLY FROM DISK ND:\Backup\數(shù)據(jù)庫(kù)名_20260120.bak WITH CHECKSUM;這條只校驗(yàn)備份集完整性不實(shí)際恢復(fù)數(shù)據(jù)速度快可作為日常監(jiān)控任務(wù)的一部分。但需要說(shuō)明VERIFYONLY不能完全代替真正的恢復(fù)演練。我自己的做法是每季度至少做一次完整的RESTORE DATABASE到隔離環(huán)境的演練確認(rèn)備份文件能正?;謴?fù)并且應(yīng)用日志鏈后能得到期望時(shí)間點(diǎn)。偶爾遇到備份文件在校驗(yàn)時(shí)報(bào)CHECKSUM錯(cuò)誤的情況就是因?yàn)閭浞葸^(guò)程中磁盤IO異常或文件受損這種時(shí)候必須盡快定位物理磁盤問(wèn)題重新做備份不能繼續(xù)往這個(gè)文件上追加任何數(shù)據(jù)。6.4 數(shù)據(jù)庫(kù)完整性檢查DBCC CHECKDB的正確打開方式除了備份我還把DBCC CHECKDB納入月度維護(hù)計(jì)劃。它檢查數(shù)據(jù)庫(kù)邏輯和物理完整性能發(fā)現(xiàn)頁(yè)損壞、分配錯(cuò)誤、邏輯一致性等問(wèn)題DBCC CHECKDB([數(shù)據(jù)庫(kù)名]) WITH NO_INFOMSGS, ALL_ERRORMSGS, PHYSICAL_ONLY;大多數(shù)情況下生產(chǎn)庫(kù)我建議用PHYSICAL_ONLY模式因?yàn)樗粰z查物理結(jié)構(gòu)不檢查所有邏輯約束耗時(shí)比完整檢查短很多。維護(hù)窗口充足時(shí)再跑不帶PHYSICAL_ONLY的完整檢查。還有一個(gè)實(shí)際建議CHECKDB也是CPU和IO密集操作盡量不要和索引重建、全量備份安排在同一時(shí)間段執(zhí)行免得互相搶資源。7. 把命令整理成自己的巡檢清單多跑幾遍你也有手感最后分享一個(gè)我自己堅(jiān)持的習(xí)慣。上面這些命令不是每次都需要全部跑一遍我的做法是分為日常巡檢、周度巡檢、月度維護(hù)三檔對(duì)應(yīng)不同頻率和深度。日常巡檢每天早上一遍跑會(huì)話狀態(tài)查詢、數(shù)據(jù)庫(kù)文件大小、DBCC OPENTRAN、備份是否成功。十分鐘內(nèi)完成腳本里加好時(shí)間戳和狀態(tài)高亮異常時(shí)直接標(biāo)紅。周度巡檢加跑等待類型匯總、碎片率抽樣、最耗時(shí)查詢排行用于發(fā)現(xiàn)性能退化趨勢(shì)。月度維護(hù)跑CHECKDB、索引重組或重建、季度恢復(fù)演練、完整死鎖日志分析。把這些命令組合到一起后你會(huì)發(fā)現(xiàn)數(shù)據(jù)庫(kù)問(wèn)題大多是漸變的——日志文件在悄悄變大某條語(yǔ)句的邏輯讀在逐步上升等待類型占比在慢慢偏移。只看某一天的快照很難發(fā)現(xiàn)問(wèn)題持續(xù)按固定頻率采集并對(duì)比才能抓住趨勢(shì)。關(guān)于這些命令本身我再補(bǔ)充一個(gè)建議新建一個(gè)專門的查詢腳本文件把每條命令都寫好注釋和排序條件別到用的時(shí)候臨時(shí)打開SSMS手敲。人總是會(huì)記憶模糊的尤其凌晨被叫起來(lái)處理故障時(shí)一份固化的巡檢腳本比什么都可靠。我?guī)状瘟璩颗挪閱?wèn)題能十分鐘定位靠的就是這份提前寫好的腳本以及平時(shí)養(yǎng)成的固定執(zhí)行節(jié)奏。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
操屄不卡视频| 欧美激情在线观看视频| 国产吹潮女在线观看| 超碰4A| 亚洲av无码成人精品国产| 日韩色| 欧美亚综合色图| 91精品国产日韩欧美综合| 日日日日做夜夜夜夜做无码97| 日本中文字幕一区| 欧美性爱一区| 欧美日韩中文字幕不卡| 七月丁香婷婷| 亚洲日韩成人性爱视频| 熟妇亚洲一区二区三区| 色综九九九一区| 日本一级特级毛片视频| 久久黄色性爱视频| 97香焦色区| 暴力av在线| 奇米四色影视777久久久| 99热婷婷| 亚洲交换| 欧美操逼熟女| 亚欧中文字幕在线视频| 久久丝袜| 亚洲免费人妻在| 60秒免费小视频| 乱伦强奸区日韩| 福利在线黄片| 亚洲天堂久| 午夜偷拍久久熟女| 欧美日本天堂| 国产自产自拍| 老鸭窝黄色视频网站| 国产黄色视频久久| 久久久久久大| 久热免费视频| 99操视频| 加勒比五月天| 超碰无码加勒比| 欧美|91色综合| 欧美操人| 日韩免费在线视频观看| 欧美日韩美女精品久草一区二区三区| 天久久久噜噜噜久久国产精品爽爽 | 射丝袜高跟鞋99| 亚洲91射| 中文字幕精品专区搜索结果91| 翔田千里av一区二区三区| 亚洲欧美国产中文字幕| 精品一区二区亚洲国产| 成人欧美日超碰| 欧美色性爱| 精品无码产区一区二| 综合久久六月久久婷婷| 啊啊啊啊啊啊在线| 福利风月五月天影院| 中文色综合| 素人伊尹大香蕉免费下载视频| 国产区性爱在线视频秋霞豆 | 欧美人妻熟女在线| 黑丝少妇| 久久久久久久亚洲Av无码| 欧美日韩欧美| 亚洲色图20p| 国产亚州高清国产拍精| 99无码| 欧美亚洲涩涩| 久久精品免费| 第一高清av中文字幕| 啊啊啊啊网站| 91制服丝袜| 色五月激情AV在线| 日韩美女久久一区二区三区| 国产一区二区视频在线播放| 免费A片三p视频| 中文字幕二区| 久久人妻少妇| 亚洲天堂少妇| 欧美91视频| 一区二三区四区视频大全套| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 99啪啪视频| 欧美 日韩 亚洲 春色| 91中出| 久久国产精品m码| 欧美亚洲韩国视频十五区| 亚洲棕合电彰| 丁香色五月 97干| 亚洲综合伊人| 天美麻花大全视频| 黄片视频观看| 蜜桃在线观看一区二区三区 | 99视频只有精品| 操逼国产免费| 国产中文精品一区二区在线观看| A一区片| 我要去看2个日本美女.com曹逼| 精品人妻一区二区三区不卡断| 亚洲 综合 第一页| 久久久国产精品亚洲精品| 国产熟女精品区| 97日视频| 日韩不卡网操逼中文字幕日韩| 精久久久91| 99在线观看无大码| 欧美最大综合网| www.久久超碰| 日本在线伊人啪啪| 日韩三级伦理中文字幕| 亚洲一曲日韩精品| 日本在线激情一区二区三区| www.丁香五月| 久久偷拍人| 嗯嗯啊啊的视频| 精品玖九九久| 成人26uuu| av日韩国产一区二区| 国产欧美日韩在线不卡第一页| 男人的天堂啪啪| 91成人在线| 精品国产自在在线99| 加勒比色99999| 欧美极品少妇| 欧美偷拍| 狠狠操官网| 亚洲色图自拍| 美國A片| 又大又白奶子| 极品肉射| 国产天天看| 欧美高清在线| 国内亚洲高清无码| 精品在线78| 禁止观看美女黄| 欧美日韩性爱无码| 婷婷九月国产| 国产高清自拍视频| 74成人在线| 九九热最新| 欧美最大综合网| 国产91影院| 久久精彩视频| 96精品久久久| 黄色av一区二区在线| 精品人妻夜夜草| 97爱爱| 男人的天堂不卡一区二区| 丝袜色综合| 成人性爱av| 中文字幕 一区二区 亚洲无码| 精品在线78| 亚洲欧洲精品视频发布| 亚州色图欧美| TS人妖另类精品视频系列| 久久婷婷影院| 亚洲国产97| 婷婷丁香五月综合| 久久久555| 蜜色网色哟哟| 乱性AV| 日本久久综合| 秋霞一级视频在线观看免费| 欧美性天天影院| 国产极品美女高潮无套在线观看| 中文字幕乱偷人妻久久艾草网| 欧美大波激情xxxx| 国产第11页| 抽查国产福利主播| 蜜臀色乳| 无码高清操逼网址| 人妻美腿丝袜制服诱惑综合天堂-| 丰满人妻一区二区三区免费| 99操视频| 操逼逼中文字幕| 亚洲影视综合| 久久精品一区一起草| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 亚洲高清在线se| 色噜噜人妻av中文字幕| 欧美性爱免费短视频| 国产v片在线免费观看| 麻豆福利视频导航| 中文操逼字幕| 色偷综合| 国产精品一级毛片不卡视| 欧美日韩亚洲五月天婷婷| 黄在线| 九草九九九| 啊好大好舒服| 免费av大片| 国产精品人妻无码久久久互動交流 | 78超碰| 欧美91在线+|+欧美| h在线看免费版在线看| 秋霞久久亚洲精品成人| 91天堂网| 99热婷婷一区二区三| 美女网站黄页| 亚洲 另类 丝袜 自拍 动漫| 久久侵犯人妻爽爽爽| 丁香激情网| 亚洲综合中文字幕有码| 99久久久无码精品国产人| 肉动漫无遮挡h在线观看| 97超碰欧美手机在线| 欧美天堂第二区| 啊啊啊啊操死我了| 欧美日韩国产电影| av麻豆啪啪| 久久久99999久网站| 欧美熟女妇同| 91在线丝袜视频| 97欧美日韩中文| 国产第二页| 人妻色情天天操| 97伊人| 99热这里只有精品18| 欧美美女在线高潮999| 97超碰人人操人人操| 国产精品熟女九九九| 婷婷色婷婷| 精品免费一区| 色五月激情网| 综合日韩激情另类图片| 欧美大的香蕉有线电视视频| 人人 操人人 操人人| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 丰满人妻区一区二区三| 人人爱夜夜爱| 超碰人人妻| 国产一区二区在线电影| 大香蕉免费乱伦视频| 日本免费一级AAA大片器| 久九色| 亚洲第一视频 欧美风情 日韩| 97视频7| 精品免费1| 防屏蔽在线视频| 欧美日韩成人在线| 亚洲高清在线| 激情五月天网| 国产 码在线成人网站| 日本操逼aaaaa| 熟妇色99| 丁香九月婷婷| 久久精品一区二区三区四区五区| 网友自拍第1页| 国产农村妇女精品| 天天激情综合站| 1024精品在线| 日日躁狠狠躁天天躁精品| 9超碰免费| 吉田爱美AV在线| 成人精品水蜜桃久久久久久久| 97久久久久久久久久| 小电影欧美91| 久操电影| 为用户提供免费看黄网址在线观看| 久久久久亚洲Av无码专区老牛影视| 97九色| 国产成人午夜视频网址| 手机在线视频国内精品| 人人操人人叉人人插人人| 亚洲欧洲偷拍一区| 天天搞欧美| 豆花视频操逼网址| 久热婷婷| 中文字幕午夜精品久久久| 超碰色图| 久久久久九九九| 精品久久久久久中文| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 欧美人妻一区二区| 久久超碰大香蕉| 国产成人久久精品蜜臀| 午夜精品探花| 青青草手机在线免费观看| 精品女同一区| 中文字幕国产| 欧美大香蕉在线观看| 亚洲资源网| 久久精品人妻一区| 色yeye成人免费视频| 精爱久久| 欧美碰碰综合色| 国语国产操逼伊人AV网| 青青草吊丝| 欧美综合传媒| 99精品在线| 骚妻少妇精品性色无码四色A V| 激情小说图片亚洲首页| 91人妻丝袜无码| 91综合色噜噜| 亚洲天堂自拍| 中国一级特黄大片护士| 蜜臀久久99精品久久久久久久久| 欧洲亚洲人妻无码高清久久三区四区| 蜜桃久久一区二区三区| 97超碰人人模人人拍人人| 狼人综合婷婷激情四射 | 国产久久免费精品视频| 欧美日本久久精品一区 | 久久久女人| 黄色毛片A片| 日本在线999| 久久久久久久一级黄色打同平台| 国产精品白丝在线播放| 欧亚日韩综合精品国产| 亚洲精品色| 2017天天拍大香蕉| 亚洲熟女乱熟乱熟妇综合网二区| 国产性爱乱伦AV| 欧美天天干| 午夜天堂网| 亚洲国产成人精品无码专区| 日本天天干天天操一区| 精品一区二区三区四区外站| 九九亚洲视频| 无色无码| 88xx成人精品视频| 天美传媒AV在线播放| 佐山爱中文字幕| 1禁看欧美黄片免费看| 97久久久| 东北老熟女| 美欧老女人97| 亚洲高清视频在线观看| 丁香五月影院| 另类专区在线观看| 久久无码成人| TS人妖另类精品视频系列| 婷婷久久久精品| 亚洲另类色图片| 狠狠久久四虎| 国产精品国产自产拍高清AV| 好吊色综合| 99久久九九| 极品白嫩美少妇在地板上位骑射淫水泛滥| 国产精品不卡高清在线观看| 91久久久老司机| 91国产美女丝袜足交精品视频 | 91/欧美| 天天摸夜夜操视频| 色天使AV天堂| 97色97干| 全免费a敌肛交毛片免费| 久久精品性| 国产成人资源| 九九国产| 欧美96在线|欧| av毛片aaaaa免费看| 亚洲国产av中文字幕久久| 亚洲精品a人片在线观看视| 久99热| 女同性恋一区二区三区精品视频| 国产天天看| 无套后入双马尾| 性暴力欧美猛交在线直播| 亚洲国产日韩欧美熟妇在线| 蜜桃久久久久久| 日本天天干天天日一区| 超清中文乱码字幕| 入口操逼网站| 欧美后入视频| 亚洲影院成人| 伊人久久婷婷| 中出20p| 999久久久免费精品国产牛牛| 亚洲国产精品9999在线观看| 久久超碰久| 国产精品3| 极品综合| 久久色一区| 夜夜夜夜久久久久| 国产亚州高清国产拍精| 91精品综合久久久久久五月丁香| 久久久久亚洲Av无码专区老牛影视| 久久精品国产亚洲AV清纯| A级国产欧美激情在线| 久久久久久国产无码精品| 99精品国产户外露出| 夜夜操91744565| 777AV电影| 国产精品粉嫩福利在线| 97人人草| 操人人| 96爱综合| 毛片99-全集电影手机免费观看完整-B029AV | 大香蕉免费3| 丰满少妇精品一区二区| 亚洲另类久操网| 免费A V在线播放| 91性高朝久久久久久久久| 97视频观看| 色老汉玖玖爱| 国产天天骚| 亚洲 日韩 欧美 国产综合体| 久久加勒比| 性色高清在线| 超碰 97国产熟女| 亚洲丝袜综合| 精品免费一区二区三区在线亚洲人成| 国产91丝袜 在线播放| 日逼视频日本| 天天色怡春院| 手机看av网站在线看| 禁止观看美女黄| 欧美日综合| 丁香六月婷婷综合| 麻豆国产97在线| 天天日老熟妇| 中文字幕av亚洲精品| 2025亚洲男人天堂| 人人 操人人 操人人| 亚洲视频二区 | 又大又长又爽| 亚洲欧洲自拍图片专区满春格| 中文字幕日韩精品一区二区三区| 国模无码人体一区二区三| 久久999久| 精品久久久亚洲AV成人网站| 夜夜精品视频| 亚洲文学偷乱拍啪啪啪啪| 日韩女模中文造逼| 琪琪精品免费一区二区三区| 久久熟女精品不卡一区| 蜜桃成人1区2区3区| 狠狠躁AV| 99久久综合网| 成人羞羞视频国产| 精品国产久久乱码| 伊人久久亚洲中文字幕| 国产三级多多影院2022国产AA一级毛片无码 | 中文一区二区三区影院| 免费成人在线熟妇网| 天天弄天天操| 欧美人妻一区| 国产三级资源在线观看| 亚洲综合在线第一页| 亚洲偷拍欧美激情| 99re69| 中文字幕日本久久| 最新av网站在线观看| 91A欧美电影网站| 人妻少妇久久| 国产高清在线自在拍69| 97精品综合久久网| 亚洲最大的黄色电影网站。 | 日韩欧美成人性爱在线| 97天堂| 青青草原香蕉日本Ap| 亚洲青色欧美| 热久日综合| 青娱乐亚洲热| 国产suv精品一区二区四区999| 亚洲啪啪视频一区二区| 亚洲 日本 国产 综合| 亚洲精品黑丝| sewuyueav| 淫淫综合网| 亚洲伊人成综合成人网| 变态综合色| 欧洲亚洲人妻无码高清久久三区四区| 果冻传媒一区二区三区| 丰满少妇一区二区三区专区| 色乱二区| 久超碰在| 人妻无码久久一区二区三区免费| 欧美暴力猛交| 97一本大道亚洲一区| 黄色一区三区| 九九九九九九九九九国产精品 | 91精品婷婷国产综合久久竹菊| 丰满搜索结果 -第18页- 久久高清无码 | 免费一级黄色录像影片| aaaa少妇高潮大片| 婷婷久久五月天| 久久男人的天堂国产| 欧美第38页| 97久久国产亚洲精品超碰热| 久久久啊啊啊| 777AV电影| 色综合五月天| 天天在线91| 色综合加勒比| 99久久久无码国产精品性男| 99热综合在线| 无毛精品| 亚洲人成网站7777| 操逼网免费无码视频| 亚洲无码99| 亚洲 另类 丝袜 自拍 动漫| 欧美同性恋 的搜索结果 - 91n| 夜夜躁狠狠躁日日躁av| av天堂精品久久| 超碰久热| 经典丝袜一区| 日韩一级二级三级在线不卡观看完整| hd成人一区二区在线| 中文字幕人妻色偷偷久久皮 | 亚州欧美另类| 久久精品午夜国产亚洲AV无码| 日本一级黄色电影| 亚洲在钱| 国产女s强制榨精视频| 骚逼高潮久久精品| 亚洲影视第一页| 亚洲男人久久综合天堂| 久久久久久性爱免费视频| 东亚亚洲无码高清| 91老妇女| 久久久精久久久| 另类图片欧美激情综合| 中文字幕88av在线| 91成人久久| 情色图区| 伊人青青一区成人视频在线观看区| 欧美姓爱综合网| 刺激性视频黄页| 国产一区二区三区导航| 97ai亚洲| 午夜毛片高清免费不卡| 免费av大片| 久久精品一区二区一8| 亚洲黄日韩无码专区| 国产精品久久久久久久毛片1| 伊人网在线点播| 小草精彩毛片| 日韩三级天堂在线观看| 东京热天堂网| 欧洲站一级二级三级h| 爽爽歪在线视频| 中文字幕av亚洲在线| 国产肏逼网站| 国产精品伦理| 在线情色电影 91大 | 国产成人在线观看网址| dy888午夜老子影视达达兔| 99 国产丝袜在线| 亚洲性爱高潮影院| 性饥渴少妇av无码毛片| 中文字幕精品专区搜索结果91| 五月丁香婷婷综合| 乱伦1色页| 99999国产精品| 五十路熟女工口| 日韩性爱高清免费视频| 亚洲第一精品在线视频| 五月天久久婷婷亚洲| 久久久青青草| www.五月天| 麻豆久久久一区二区| 欧美97| 久久久不卡| 人人操人人操人妻人| 夜夜夜夜爽| 亚洲天堂自拍| 美女主播色欲91抠b在线播放| 激情婷婷五月天| 99精品在线播放| 秋霞免费AV| 国产激情在线观看| 久操热线| 中文伊人大香蕉视频| 日韩偷拍色图| 十八禁网站在线| 最新一二三区视频| 亚洲色91C| 中文久久96| 亚洲精品 欧美97色色| 久久精品国产97欧美精品亚洲 | 怡红院网站在线视频| 亚洲亚洲亚洲天堂天堂| 亚洲狠狠入| 久久婷婷成人综合色怡春院| 99热这里只有精品18| 新亚洲无码| 国产精品久久久久久照片| 视频国产精品未满十八禁止在线观看| 欧美大香蕉专区网| 国内91熟女人妻丝袜天天精品视频在线| 日本色婷婷| 99只有精品| 91制服丝袜中文字幕| 日韩字幕一区| 蜜臀av一区二区三区免费观看| AV一二区| 91色人| 欧美中文字幕日韩在线| 久久九九国产精品| 久久av色| 网友自拍第1页| 欧美亚洲另类在线蜜桃| 久久免费中文字幕在线观看| 九九九九九精品十六| 秋霞蝌科网日本一区| 国产午夜视频| 色噜噜国产在线| 91在线色综合| 亚洲天堂另类小说男人| 亚洲精品天天影视综合网 | 欧美天天综| 福利大香蕉| 国产精品美女在线一区| 国产精选视频| 神马午夜久久久| 美女黄网| 黄色av片三级三级三级免费看| 中出91| 永久免费观看的毛片的网站| 蜜桃狠狠色伊人亚洲综合网站| 在线播放免费av福利片| 日本一级二级三级网站| 日韩不卡a级视频专区| 91丨熟女丨丰满熟女| 影音先锋乱| 亚洲AV无码国产成人| 加勒比海人人操超碰在线| 日韩啪啪视频| 亚洲欧美另类图片| 豆花视频操逼网址| 欧美激情专区| 综合伊人激情| 性色AV网站| 国产精品情侣啪啪| 国产精品婬乱一级毛片彝族| 蜜桃久久综合视频| 久久风骚城市人| TS人妖另类精品视频系列| 亚洲日本成人动漫| 亚洲风情综合网| 中文字幕一区二区三区视频播放| 加勒比av网| 亚洲A色| 激情五月天社区| 中文啪啪视频| 色网站导航大全| 1024手机看片欧美日韩| 日韩激情中文字幕有码| 欧美亚洲特P| 久久国产精品一级二级三级| 91视频精品| 大香蕉之青青草原| 中文字幕啊啊啊在线观看视频| 亚洲全色网| 涩爱AV在线| 台湾佬中文娱乐网久久久久久久久久com | 精品成人无码| 青青草日逼视频| 伊人色综合欧美| 超碰97日韩| 国产综合在线视频网站| 国产精品亚洲免费| 天美一二三在线观看Av| 激情文学亚洲| 国产午夜在线观看视频| 九九久久99| 日韩少妇在线视频| 天天射夜夜操| 久久ww| 九九九九97| 最新无码国产| 亚洲色综合| 一区在线国产播放| 美女午夜福利免费视频| 一中国女人毛片水真多| 欧美性爱一区二区| 久久久久成人网| 这里只有97精品| 中日韩久久久免费看| 日韩av在线精品观看| 99欧美| 欲色综合| www.人人cao| 四虎在线免费视频| 日韩在线一区高清在线| 青青草吊丝| 一区二区三区免费视频入口| 射 色综合| 精品人妻一区二区免费看| 92人人操人人| 97人人色| 97天堂| 伊人骚琪琪亚洲天堂网站| 五月婷婷综合激情| 91九色网| 97免费视频在线| 超清中文乱码字幕| 麻豆视频国产一区二区| 国产精品一区二区手机看片| 人人看人人摸人人色| 欧美日韩国产传媒在线精品| 物业黑人 AV一区| 嗯,啊。舔我逼| 四虎永久在线精品免费网址 | 夜夜欢天天干| 情色五月天就去干| q2午夜理论片夜色av| 九一亚洲国产免费| 97人人超| 日本性感人妻91| 久久久久久久久久久人妻| 高潮精品| 日韩精品99久久久久久中文字幕 | 久久久久久久9最新免费视频观看| 美女t无毒不卡不卡| 亚洲男人天堂2| 人人做天天爱| 国产SV一线| 中文字幕福利视频一区二区三区在线观看| 秋霞色色影院| 操比国产| 天堂麻豆天美| 东北少妇高潮zzzz| 啪啪资源网| 4399成人黄A片| 欧美性爱中文字幕无线码| 91爆操视频| 国产麻豆一级精品视频| 五月丁香六月激情| 亚洲97p| 超碰天天去日穴| 在线97视频| 色偷偷综合91久久噜噜| 91高清欧美| 黄色电影观看久久9| 国产欧美美女免费观看视频| 色五月婷婷网| 香蕉99秘 精品一区丁香| 久久‘黄片视频| 一区二区首页| 精品一区二区三区国产| 淫妻综合网| 中文字幕一区二区无码成人| 国产大学生高潮在线播放| 男人天堂久久精品不卡| 人人操人人搞人人草| 97自拍一区| 色嘟嘟人妻天堂网| 欧美色宗合| 思思视频免费看网站| 超碰色综合| 伊人丁香五月婷婷| 精品少妇人妻av久久免费| 2019久久久久久久久福利| 国产一级137片内射麻豆| 免费观看网黄| 日本三级网页| 9久热| 手机av天堂久久久久| 天天综合有色网| 久久骚少妇| 热热色青青草| av天堂电影网| 天天狠操| 日韩少妇一区二区三区| 中文字幕亚洲在线一区| 成人欧美一区二区三区黑人一| 久久综合五月天| 九九英色视频| 91美女视频。| 色欲av一区二区三区蜜芽| 天天看,天天做| 麻豆区99999| 97国产精选| 乱伦Av网| 热天堂一区二区| 女人18精品一区二区三区| 偷拍 欧美 日韩| 日韩三级天堂在线观看| 97人人爱人人做人人乐| 欧美性夜| 思思性爱| 色婷婷久久综合超碰| 亚州综合色| 丁香五月激情综合国产| 久久久久斤小| 欧美天天干| 97综合国产精品高潮久久| 精…码一二三区| 激情久久久| 久久久久久十| 99免费视频| 91情色在线| 操91| 97视频播放| 日本女人操逼| 91爱| 校园春色美腿丝袜 | 四虎免费视频| 少妇精品久久久八区九区| 国产91丝袜 在线播放| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 情侣开房子拍 日韩无码 女的很漂亮| 久久AV无码AV| 综合性视频99| 久久精品老司| 九月丁香婷婷| 美女超碰978| 国产av美女被艹的乱叫| 综合网欧美| 国产视频小说| 欧美大香蕉专区网| 国产蜜臀在线| 激情99| 另类在线| 午夜精品久久久久久久男人的天堂| 欧美人妻精品一区二区| 99久久精品欧美国产| 国产丝袜视频| 深夜啪啪啪视频免费| 人妻熟女一区二区在线视频| 亚洲制服aⅴ中文字幕| 秋霞午夜视频一区二区| 美女被艹尤物视频| 91青青在线| 手机不卡视频不卡在线一二三区| 国产精品久久久久久无码红治院| 婷婷五月天色网| 青娱乐大香蕉| 三级日韩一区二区三区| 欧美中文字幕日韩在线| 超碰 另类 欧美| 亚洲精品人妻在线| 人妻超碰青青草98| 婷婷五月天av| 乱伦熟妇一区二区| 欧美色图亚洲激情| 超碰天天操| 久久超碰av在线| 日本国产欧美一区三区二区| 亚洲 欧美 91| 无码天天操| 欧美大波激情xxxx| 极品销魂美女一区二区| 熟女熟妇一区二区三四区| 久久久精品视频欧州站| 强奸熟女一区二区三区| 91美女在线视频| 夜夜久久| 粉嫩AV一区夜夜嗨| 91网站18在线| 欧美情色贴图| 天堂涩涩| 久久久九九| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 欧美 色 亚洲| 日本久久久精品电影| 92大香蕉| 人妻久久一区二区三区 | WWW啪啪的com| 久久久久久久国产视频| 国产九九九九九九九九| 日韩中文字幕在线视频观看| 色婷婷基地| 97视频网站在线观看| 亚洲第一色页夜| 男人的天堂无码| 1240青青草一区二区三区视频天爱| 国产女大学生AV| 欧美一二三级精品在线| 一区二区视频在线播放| 丁香五月久久| 日本一天色道久久久精品视频| 麻豆a'v电影| 一区二区高清视频| 最新日产中文在线麻豆| 久久香蕉国产传媒一区剧情天美| 夜夜高潮夜夜爽| 97在线观看视频| 超清福利精品视频在线| www.色综合| 97超碰久久色| 日韩肏逼视频| 成人丁香五月| 色97综合中文字幕| 操婢日韩| 天天干天天日天天射黄色大片| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 日本熟妇一区二区三区| 九久精品| av网页一区二区三区| av东京热男人的天堂| 人妻激情偷乱视频一区二区三区 | 日本日皮视频逼| 99人妻碰碰碰久久久久禁片| 国产91美女视频| 亚洲色综网| 国产丰满少妇久久久精品影院| 色婷婷aV一区二区三区麻豆综合| 国产成人99久久亚洲综合| 九九视品黄色| 国产成人五月天丁香花| 精品国产乱码久久久久久影片| 亚洲国产丝袜熟女av| 国产精品制服丝袜中文字幕日韩一区二区三区| 清纯唯美亚洲| 青青草色插素人| 乱伦系列一区二区| 国产97综合| 亚州精品一区二区三区香中文字幕在线| 蜜臀AV一区二区三区| 综合久久久久久久综合网| 性爱欧美五月| 无码免费精品高清| 蜜臀久久99精品久久久久久无删减 | 色九九久九九| 亚洲97在线观看| 天天视频网站黄| 欧美人妻精品一区二区| 歐美性天天| 超碰免费97| 亚洲丝袜天堂| 日韩成人性爱AV| 久草在| 99精品网| 国产亚洲欧美每日在线| 久久华人网| 99亚洲人人| 青娱乐久久艹| 真实高潮91| 中文字幕精品免费一区二区| 天天操天天射青青草| 国产亚洲精品av一区| 亚洲天堂另类| 亚洲熟久久| 熟女丰满人妻一区| 90后性网国产欧美| 看大黄色大片原件| 国产91影院| 国产精品一区在线播放| 60秒试看最爽10分钟网站| 天天操夜夜操| 99ri精品| 黄片aaaaa一区| 伊人黄色片| 激情黄色片在线观看| 欧美色乱| 三及片网站| 美女好片色日本| 欧美色图99| 精久久久| 941超碰| 伊人亚洲综合| 夜夜 中文视频rt| 裸体1区| 中文字幕诱惑制服人妻丝袜美丝袜美 | 亚洲偷拍自拍在线视频| 老司机射| 91天堂色男人的天堂| 国产午夜无码片在线观看影视| 7777奇米影视久久| 国产91av在线播放| 国产乱伦亚洲色图高清无码| 国产福利电影| 91伊人久| 看一级特黄a大一片| 性爱乱伦一区| 亚洲男人天堂Av| 蜜臀精品1区2区| 97超碰人操| 男人的天堂久久久| 久久久久亚洲三级电影| 欧美丰满少妇xx高潮| av资源在线观看少妇| 亚州情色j区| 亚洲色图 图片| 日韩欧美日韩| 网页导航五月天免费一二三区| 日本午夜精品理论片A级APP发布| 九九久久99| 99www.bibizy香蕉资源国产一区二区三区高清 | 美女视频尤物网在线看| 色久桃花影院在线观看| 69超碰综合| 欧美草草高清日韩视频| 国产欧美在线观看免费观看| 333kkkk·亚洲com久久| 内射黑人| 亚洲天堂久久久久久粉红视频| 乱伦a片视频| 九九久久一区二区三区| 91网站在线播放| 中文字幕精品一区二| 亚洲另类综合欧美| 久久成人东京热人妻| 眼镜人妻101.com| 国产精品久久9| 久久精品无码专区| www.av在线观看| 99re在线视频| 欧美不卡二区| 91久久堂| 国产一区二区三三视频| 欧美亚洲国产自久久| 国产在线能看的你懂的| 欧美性生活男人的天堂| 激情情色五月天| 五月天激情小说网| 天天干夜夜操网| 色狠狠 - 百度| 色色毛片| 96久久久久久久| 玖玖综合视频| 91在线丝袜| 加勒比性爱成人在线| 欧美另类自拍 | 乱伦日本中文自拍| 97这里都是精品| 偷拍自拍在线视频观看| 色图综合| 成熟熟女国产精品一区二区| 久久婷五月天| 精品国产一区二区三区香蕉欧美| 日本一线产区和二线产区伦理片| 极品色社| 中文字幕日本久久| 操啊国产| 一区二区无码视频| 亚洲AV成人无码一区二区三区在线观看 | 欧美18 在线观看| 久久黄色网址| 超碰欧美| 97bbn| 97精品一区二区视频| 亚州操逼网| 一级AAA片一区二区三区| 岛国AV一区二区电影| 青青久久手机线视频| 伊人91| 色偷综合| 高清不卡一二三区视频......| 久久性爱大全| 人人干黄色| 九九九免费视频| 青青操国产夫妻| 人妻 欧美亚洲| 久久色AV线| 久久久网一区| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 亚欧高清v| 秋霞久久亚洲精品成人| 国产美女在线精品免费看| 欧美成人精品欧美一级乱黄一区二…| 91国产丝袜足交精品视频| 精品少妇一区二区三区免费观看| 丰满人妻一区二区三区四区| 国产肏逼网站| 成人精品无码| 久久久亚洲| 亚洲国产另类在线中文| 韩国免费播放一级毛片| 日本视频在线中文字幕| 国产品精品自在在线午夜免费| 久久精品国产亚洲av水密被窝| 国产人妻久久精品一区二区三区| 久久有码视频| 96麻豆精品一区二区三区| 中文久久久| 中文字幕乱在线伦视频中文字幕乱码在线 | 天天干夜夜鈤| 天天狂操夜夜狂日| 亚洲色综合| 亚洲黄色视频在线观看视频| 国产亚洲日韩欧| 日韩乱伦影音先锋| 91九九| 久久久久久久久九九久孕交| 91久久久视| 人妻激情视频| 韩国一级做a久久久久| 无码 黑人一区二区三区| 视频分类 国内精品| 韩日精品四区| 91l欧美在线| 97欧美| 亚洲超碰AV| 97色视频在线| 中文字幕人妻丝袜乱一区三区| 青娱乐淫乱1314| 五月丁香综合啪啪| 亚洲中文电影| 一起草视频在线| 伊人久久艹| 99re在线视频国产| 1人人看人人摸人人操| 狠狠操狠狠插| 色偷偷2020免费视频播放| 免费av在线播放二区| 熟女精品一区二区三区| 激情四射婷婷六月天| 国产综合在线视频网站| 综合熟女| 久久久久女教师免费一区| 永久免费发布性爱网| 91伊人影视综合| 国产激情视频一区区三区| 无码少妇精品一区二区60岁老人| 久久久不卡区一区二区三区久久久| 亚洲高清91| 男人天堂久久精品| 亚洲欧美骚| 无码又爽又硬又激情免费视频| 啊啊啊 在线| 亚洲欧洲综合视频在线| 中文字幕黄色一起草| 日本片日本片祼观看网站在线看中文版网页在线看 | 久久亚洲天堂| 欧美疯狂做爰xxxx| 日日骚网站| 日韩三级久久久| 韩国手机不卡无码三级视频| 久久综合精品一区二区三区| 日韩日本欧美在线观看| 五十路熟女工口| 亚洲成人免费中文字幕| 国产精品97超碰| 碰碰在线视频| 上海一级黄片| 久久久涩| 亚洲射综合网| 久久9 9 9精品| 夜夜免费视频| 啊a一区在线| 国产无套粉嫩白浆在| 亚洲成人av电影在线| TS人妖另类精品视频系列| 九九久精品| 91男人综合| 素人伊尹大香蕉免费下载视频| 国产精品天干天干综合网麻豆 | 亚洲精品久久久久久久蜜桃臀| 999日韩中文精品观看视频。| a片久久久久久久久久久久| 久久99精品国产| 留下AⅤ黄色片| 五十路六十路素人熟女| 亚洲精品不卡一二三区| 国产成人精品日本视频| 久9久9久9久9久9久9| 日韩一级欧美一级在线观看| 国产亚洲精品av一区| 亚洲va有码在线天堂| 欧美性生活免费网| 日韩图区 偷拍| 国产精品一二三在线看| 国产成人bd在线观看| 999岛国大片| 激情AV| 这里只有精品久久| 猛交交| http://qxhbdz.com| 成人AV素股で擦久久| 日本少妇va7777| 99热导航| 我中文字幕6区| 久久久成人免费av电影| 91欧美情色|