उन्हें मिला।
एक साधारण आँकड़े ऑब्जेक्ट के साथ एक तालिका बनाएँ।
CREATE DATABASE splunge;
GO
USE splunge;
GO
CREATE TABLE dbo.foo(bar INT, munge INT);
GO
CREATE STATISTICS x ON dbo.foo(bar);
CREATE STATISTICS y ON dbo.foo(munge);
GO
INSERT dbo.foo SELECT s1.[object_id], s2.[object_id]
FROM sys.objects AS s1
CROSS JOIN sys.objects AS s2;
GO
UPDATE STATISTICS dbo.foo;
GO
DAC ( ADMIN:Server[\instance]
) का उपयोग करके कनेक्ट करें ।
निम्न क्वेरी चलाएँ:
DBCC SHOW_STATISTICS('dbo.foo', 'x') WITH STATS_STREAM;
DBCC SHOW_STATISTICS('dbo.foo', 'y') WITH STATS_STREAM;
SELECT name, imageval
FROM sys.stats AS s
INNER JOIN sys.sysobjvalues AS o
ON s.object_id = o.objid
AND s.stats_id = o.subobjid
WHERE
s.object_id = OBJECT_ID('dbo.foo');
आप ध्यान देंगे कि imageval
प्रत्येक आँकड़े ऑब्जेक्ट के लिए आँकड़े बूँद के समान नहीं है, लेकिन इसमें आँकड़े बूँद होते हैं - यह सिर्फ ऑफसेट है। मेरे सिस्टम पर एक्स के लिए यह पैदावार हुई (मैंने स्पष्ट रूप से बिट्स का एक छोटा भाग काट दिया है):
0x0100...bunch of chars...000007000000C4E1BE00EEA0...rest the same
0x07000000C4E1BE00EEA0...rest the same
और यह y के लिए:
0x0100...bunch of chars...430007000000C7E1BE00EEA0...rest the same
0x07000000C7E1BE00EEA0...rest the same
सूचकांक आधारित आँकड़ों के लिए भी यही सच था।
आप संभवतः DBCC
कमांड का उपयोग करके प्रश्नों की एक श्रृंखला के साथ इसे आगे सत्यापित कर सकते हैं । सबसे पहले, उन पृष्ठों का पता लगाएं, जिन पर क्लस्टर किए गए सूचकांक के साथ शामिल हैं sys.sysobjvalues
(अपने डेटाबेस का नाम बदलें):
DBCC IND('splunge', 'sys.sysobjvalues', 1);
परिणाम पृष्ठों के एक समूह को सूचीबद्ध करेगा, जिनकी आप रुचि रखते हैं PageType = 1
। एक नए डेटाबेस के साथ, आपको यह जानकारी उच्चतम PagePID
मानों वाले पृष्ठों में से एक पर मिलनी चाहिए । जैसे मेरे सिस्टम पर यह पृष्ठ २ was१ था, तो मैंने उस पृष्ठ को करीब से देखा:
DBCC TRACEON(3604);
DECLARE @dbid INT = DB_ID();
DBCC PAGE(@dbid, 1, 281, 3);
DBCC TRACEOFF(3604);
यकीन है कि पर्याप्त है, मुझे स्लॉट 17 में डेटा मिला:
(बड़े डेटाबेस पर, आपको बहुत अधिक शिकार और पेकिंग करनी पड़ सकती है, क्योंकि इस बात की कोई गारंटी नहीं है कि एक नया आँकड़े ऑब्जेक्ट भी एक नए (एर) पृष्ठ पर समाप्त हो जाएगा।)
आगे बढ़ो और घर पर यह कोशिश करो, लेकिन एक कारण है जो आपको इसके लिए डीएसी से जुड़ने की आवश्यकता है। मुझे यह जानने की उत्सुकता होगी कि आप इस जानकारी के साथ क्या करने जा रहे हैं जो आप DBCC SHOW_STATISTICS
आउटपुट के साथ नहीं कर सकते ।
ध्यान दें कि यह पाठ्यक्रम STATS_STREAM
हिस्टोग्राम या अन्य जानकारी प्रदान करने के लिए डिकोड करने का प्रयास नहीं करता है , और मुझे कोई भी प्रमाण नहीं मिला है कि DBCC SHOW_STATISTICS ... WITH HISTOGRAM
तालिका के प्रारूप में कहीं भी सारणीबद्ध आउटपुट संग्रहीत है। जो चांग डिकोडिंग के बारे में कुछ जानकारी है कि क्या आप के बाद कर रहे हैं। मुझे नहीं लगता कि यह ऐसा कुछ है जिसे आप किसी क्वेरी में करना चाहते हैं - बस उपयोग करें DBCC
।
STATS_STREAM
कि मैंने कभी इस पर ध्यान नहीं दिया कि क्या यह फ़ाइल में कुछ खोजने योग्य है।