Benderfynu Faint chan bord i mewn SQL Gweinyddwr
Bob amser rhyfedda fel 'n fawr bord 'n sylweddol ydy i mewn 'ch chronfa ddata? Adwaenoch mae filiwn gwanafau i mewn 'r bord, namyn fel lawer blwc ydy a 'n sylweddol yn cymeryd?
SQL Gweinyddwr provides a adeiladedig - i mewn ystoriedig drefniadaeth a alli redeg at 'n esmwyth arddangos 'r faint chan bord, yn cynnwys 'r faint chan 'r indexes … a cadernid synna 'ch.
Chystrawen:
sp_spaceused ‘Tablename ’
Heres ’ enghraifft chanddi i mewn chyngaws:
'n dal 'n ddefnyddiol stwffia. 'i ’ beunydd yn diddori at canfod a 'r indexes ydy 'n fwy na 'r 'n weithredol data.

'n ddyddiol Eheba Updates
Alli ca 'n fel - at erthyglau i mewn 'ch inbox pob un ddiwrnod achos rhyddha. Jyst chofnoda 'ch enwa a eheba goris:


Blwc dyma a 'n ddefnyddiol archa achos yn penderfynu 'r blwc cyfleedig at bord, cadw i mewn dendio a sp_spaceused chyfeiriadau 'r sysindexes chyfundrefn bord at ca 'r blwc briodoleddau a ar adegau whats ’ ystoriedig 'na all ca bod oddi synch ag gwirionedd. Ai canfyddi blwc dalmau sy 'n ymddangosiadol oddi whack ( 'n arbennig achos 'r ‘unused ’ brisio), hidla a “DBCC UPDATEUSAGE ” archa erbyn 'r bord i mewn chwestiyna anad yn hidlo sp_spacesued ( ai erbyn 'r 'n gyfa chronfa ddata ai cei amsera a arent ’ bededig am yn camu acha anyones ’ bodau).
Hon all 'n awtomatig bod 'n ddigon fel an optional baramedr mewn sp_spaceused …
e.g. sp_spaceused ‘Orders,true ’
…or fel ddidol gorchmynion fel arddangosedig goris.
At update chynefod stats achos 'r 'n gyfa cerrynt chronfa ddata, 'r chystrawen ydy:
DBCC UPDATEUSAGE (0)
Achos a 'n benodol, enwedig chronfa ddata:
DBCC UPDATEUSAGE ( ’InsertdDbNameHere ’)
Achos a 'n benodol bord:
DBCC UPDATEUSAGE ( ’InsertdDbNameHere,'InsertdTableNameHere ’ ’)
Alli beunydd atalfa BOL achos pawb 'r fanylion acha DBCC UPDATEUSAGE
Ddiolch 'ch, yn arfer gofyniad analyer a yn hidlo drefniadaeth sp_spaceused ydy helpful, hagen, beth ai 'ch chronfa ddata has caea hefyd 100 bordau. Anyway at adfer 'r 'n gyfa chronfa ddata faint?
Fi jyst sefydla hon, adfer spaceused achos pob un bord:
EXEC sp_MSforeachtable @command1EXEC= ” sp_spaceused ‘?’ ”
Siarl sp_helpdb
Bera – sy hun chan 'r odiaeth 'n ddefnyddiol sql gweinyddwr gorchmynion chan pawb amsera. Ach 'r 'n fwyaf.
Brofais at arfer Beraon Tipp, namyn yn cael 181 Bordau i mewn 'r Chronfa Ddata didnt gwna 'i lawer da. Hefyd, eiddo Mechanic ag sp_spaceused draethedig pob un Bord fel a standalone gofyniad, wich made 'i 'n amhosib at arfer i mewn an automated Brifiant - chan - Chronfa Ddata Statistic.
Ddygais / benthycedig 'r resymeg chan sp_spaceused a 'n gymwysedig 'i at 'r yn canlyn GOLYGA (wich Fi awron adia at a Ystadegau Bord, wich all 'na bod queried i mewn 'n amryw ffyrdd):
DDETHOL
TableName,
NumRows,
reservedpages 8192 /1024 fel TotalSpace,
dudalennau 8192 /1024 fel DataSpace,
(usedpages -pages8192) /1024 fel IndexSpace,
(reservedpages -usedpages8192) /1024 fel UnusedSpace
CHAN ( DDETHOL
t.name fel tablename,
avgrows () fel NumRows,
sumtotal_pages ) fel reservedpages,
sumused_pages ) fel usedpages,
symia (
CHYFLWR
Pryd 'i.internal_type I MEWN (202,204) 'na 0
Pryd a.type 1 'na a.used_pages
Pryd p.index_id
Pw, cadd doli off, dyma 'r bwyso:
Pryd p.index_id
Pryd p.index_id
('n llai na arwydda – paham doesnt 'i chymer 'i 'ma?) 2 'na a.data_pages
Amgen 0
DARFOD) fel dudalennau
chan sys.allocation_units fel a Asetha sys.partitions fel p acha p.partition_id = a.container_id
ar ôl asetha sys.internal_tables 'i acha p.object_id = 'i.object_id
ASETHA sys.tables fel t acha p.object_idt.object_id=
–WHERE t.namemittra= ’ ’
dwr at t.name ) fel subselect