<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19375.aspx</link><pubDate>Sat, 28 Oct 2006 07:51:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19375</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19375.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19375</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;Teo wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt; 
&lt;P&gt;KelMan είπες ότι "Όσο μεγαλύτερο το fragmentation τόσο περισσότερες σελίδες έχεις στα indexes, άρα και όγκο δεδομένων, ακόμα και αν χρησιμοποιείς το 3%-4% των εγγραφών". Έχω μόνο insert - delete (τα select δεν επηρεάζουν)&amp;nbsp;σε 4% του μεγέθους του πίνακα&amp;nbsp;και με δεδομένο ότι ο cluster βάζει εγγραφές ανα&amp;nbsp;ημερομηνία (getdate()),όλες οι εγγραφές δεν&amp;nbsp;μπαίνουν στο τέλος του index&amp;nbsp;?&amp;nbsp;Σβήνω πάντα τις πολύ παλιές (αφού είναι clustered index by datetime- σβήνονται τα πρώτα φύλλα του δέντρου). Με δεδομένο το παραπάνω&amp;nbsp;fragmentation δεν πιστεύεις ότι πρέπει να πάει και να πάρει backup τις πρώτες και τις τελευταίες pages μόνο (τα πρώτα και τα τελευταία φύλλα του δέντρου)?&amp;nbsp;Έχω λάθος? &lt;/P&gt;
&lt;P&gt;Κάθε βράδυ, μετά το backup κάνω και update&amp;nbsp;statistics....&amp;nbsp;Μήπως φταίει αυτό?&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Χμμμμ... Τα indexes στον SQL Server είναι b-tree data structures, όπερ σημαίνει ότι πρέπει να είναι συνεχώς "balanced" (γι αυτό γίνονται τα page splits και κατεπέκταση το fragmentation, για να αναδιοργανώσει τα indexes). Γι αυτόν τον λόγο δεν είναι απαραίτητο ότι το differential θα κάνει backup μόνο τις πρώτες και τις τελευταίες σελίδες. Επίσης, υπάρχει κι ένας επιπρόσθετος λόγος. Το diff backup δεν παίζει σε επίπεδο σελίδας αλλά σε επίπεδο extent. Αν έστω μία εγγραφή σε μία από τις οκτώ σελίδες που αποτελούν ένα extent αλλάξει, τότε γίνεται backup όλο το extent&lt;/P&gt;
&lt;P&gt;Ένας τρόπος να δεις πόσα extents έχουν γίνει flagged για diff backup είναι το DBCC PAGE.&amp;nbsp;Στο βιβλίο της Kalen Delany "Inside SQL Server" μας λέει ότι η 6η&amp;nbsp;σελίδα σε κάθε datafile έχει ένα bitmap του οποίου κάθε bit είναι κι από ένα flag για τα extents που ακολουθούν και δείχνει αν είναι dirty ή όχι. Αυτή η σελίδα ονομάζεται DCM (Differential Changed Map) και επαναλαμβάνεται κάθε 511.232 σελίδες για τα επόμενα extents, κοκ.&lt;/P&gt;
&lt;P&gt;Παίζουμε στη Northwind. Ανοίγεις το Query Analyser και: &lt;/P&gt;
&lt;P&gt;Αρχικά, κάνεις full backup. Θα σου εμφανίσει ένα μήνυμα του τύπου:&lt;/P&gt;
&lt;P&gt;Processed 448 pages for database 'Northwind', file 'Northwind' on file 4.&lt;BR&gt;Processed 2 pages for database 'Northwind', file 'Northwind_log' on file 4.&lt;BR&gt;BACKUP DATABASE successfully processed 450 pages in 1.300 seconds (2.831 MB/sec).&lt;/P&gt;
&lt;P&gt;Δηλαδή έκανε backup περίπου 56 extents. Κατόπιν, τρέξε το παρακάτω:&lt;/P&gt;
&lt;P&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;DBCC&lt;/span&gt; TRACEON (3604)&lt;br /&gt;GO&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;DBCC&lt;/span&gt; PAGE(&lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;'Northwind'&lt;/span&gt;,1,6,3) &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;WITH&lt;/span&gt; TABLERESULTS&lt;br /&gt;GO&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Το DBCC TRACEON (3604) γυρίζει το output του DBCC PAGE στην κονσόλα. To αποτέλεσμα του DBCC PAGE δίνει τα παρακάτω αποτελέσματα ()εμφανίζονται στο τέλος):&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:16)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:24)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:56)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:64)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:88)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:96)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:528)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Δηλαδή έχουμε 2 extents changed κατόπιν&amp;nbsp;4 not changed, κατόπιν 3 changed και&amp;nbsp;τέλος&amp;nbsp;54 not changed. Στη συνέχεια, τρέχουμε κάτι σαν το παρακάτω:&lt;/P&gt;
&lt;P&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;SELECT&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;'DBCC DBREINDEX('''&lt;/span&gt;+TABLE_NAME+&lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;''','''', 80)'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;FROM&lt;/span&gt; INFORMATION_SCHEMA.TABLES&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;WHERE&lt;/span&gt; TABLE_TYPE=&lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;'BASE TABLE'&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;του οποίου χρησιμοποιούμε το οutput για να τρέξουμε DBCC DBREINDEX σε όλους τους πίνακες. Μόλις τελειώσει, ξαναδίνεις το DBCC PAGE&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:16)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:24)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:32)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:40)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:48)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:56)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:64)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:88)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:96)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:104)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:144)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:152)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:160)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:168)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:176)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:184)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:192)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:200)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:208)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:216)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:224)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:232)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:240)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:272)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:280)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:288)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:496)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:504)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:512)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - (1:520)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGED&lt;BR&gt;DIFF_MAP: Hea..., Offset 96 DIFF_MAP: Extent A... (1:528)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT CHANGED&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Βλέπουμε ότι τώρα έχουμε 45 extents μαρκαρισμένα για diff backup - εκεί που είχαμε 5, και όλα αυτά χωρίς κανένα update operation. Κανονικά, όταν θα κάνεις τώρα το diff backup θα πρέπει το mini report που βγάζει να επιβεβαιώνει τα παραπάνω.&lt;/P&gt;
&lt;P&gt;Μπορείς να κάνεις το ίδιο για να δεις τι γίνεται και με τo index defrag. Επίσης, αν τρέξεις το DBCC PAGE πριν το index defrag θα δεις αν όντως είναι μόνο τα πρώτα και τα τελευταία extents που επηρεάζονται.&lt;/P&gt;
&lt;P&gt;Πάντως το καλύτερο που έχεις να κάνεις είναι να ρυθμίσεις το fill factor στα indexes έτσι ώστε να έχουν αρκετό ελεύθερο χώρο για να μην προκύπτει fragmentation. Έτσι, δεν θα είναι ανάγκη να κάνεις κάθε φορά rebuild/defrag τα indexes. Επίσης, δες και την περίπτωση να γυρίσεις τη βάση σε bulk-logged recovery model ώστε να κάνεις log file backups. &lt;/P&gt;</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19337.aspx</link><pubDate>Fri, 27 Oct 2006 20:15:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19337</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19337.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19337</wfw:commentRss><description>Αν κάνεις rebuild τα indexes τότε η διαδικασία "αγγίζει" σχεδόν όλα τα pages, καθώς επίσης τα clustered indexes και τα non-clustered indexes. Δοκίμασε να κάνεις απλώς defrag τα indexes μεταξύ των differential backups.</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19334.aspx</link><pubDate>Fri, 27 Oct 2006 19:11:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19334</guid><dc:creator>Teo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19334.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19334</wfw:commentRss><description>&lt;P&gt;Κι ένα ακόμη στοιχείο που ίσως βόηθήσει: &lt;/P&gt;
&lt;P&gt;Κυριακή:Full Backup 15GB&lt;/P&gt;
&lt;P&gt;Δευτέρα:το πρώτο Differential μετά το Full backup έχει μεγεθος 14,48GB &lt;/P&gt;
&lt;P&gt;Τρίτη: το δεύτερο differential μετά το full 14,49GB. &lt;/P&gt;
&lt;P&gt;Τα δύο differential έχουν πολύ μικρή διαφορά στο μέγεθός τους ενώ απέχουν μεταξύ τους 1 μέρα&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19331.aspx</link><pubDate>Fri, 27 Oct 2006 17:54:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19331</guid><dc:creator>Teo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19331.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19331</wfw:commentRss><description>&lt;P&gt;Ο χρόνος για το backup οφείλεται αποκλειστικά στη&amp;nbsp; USB 1.1&amp;nbsp; port που έχει το μηχανάκι. Παίρνοντας τοπικό backup κάνει 20-30min για 9GB&lt;BR&gt;Κάθε βράδυ τρέχει maintenance plan που κάνει rebuild όλους του indexes . &lt;/P&gt;
&lt;P&gt;Όμως το Differential εξακολουθεί να είναι πολύ μεγάλο σε μέγεθος και δεν μπορώ να καταλάβω το γιατί. Η DBCC SHOWCONTIG στον μεγάλο πίνακα (ο οποίος έχει clustred index μια datetime column-αυτό απαιτούν οι ανάγκες της εφαρμογής-) έδειξε&lt;BR&gt;Pages Scanned................................: 294644&lt;BR&gt;- Extents Scanned..............................: 36838&lt;BR&gt;- Extent Switches..............................: 37131&lt;BR&gt;- Avg. Pages per Extent........................: 8.0&lt;BR&gt;- Scan Density [Best Count:Actual Count].......: 99.19% [36831:37132]&lt;BR&gt;- Logical Scan Fragmentation ..................: 0.45%&lt;BR&gt;- Extent Scan Fragmentation ...................: 7.09%&lt;BR&gt;- Avg. Bytes Free per Page.....................: 738.0&lt;BR&gt;- Avg. Page Density (full).....................: 90.88%&lt;/P&gt;
&lt;P&gt;Εκ πρώτης όψεως όλα φαίνονται ok και δεν μπορώ να δικαιολογήσω το μέγεθος του differential backup. Κάμια ιδέα?&lt;/P&gt;
&lt;P&gt;KelMan είπες ότι "Όσο μεγαλύτερο το fragmentation τόσο περισσότερες σελίδες έχεις στα indexes, άρα και όγκο δεδομένων, ακόμα και αν χρησιμοποιείς το 3%-4% των εγγραφών". Έχω μόνο insert - delete (τα select δεν επηρεάζουν)&amp;nbsp;σε 4% του μεγέθους του πίνακα&amp;nbsp;και με δεδομένο ότι ο cluster βάζει εγγραφές ανα&amp;nbsp;ημερομηνία (getdate()),όλες οι εγγραφές δεν&amp;nbsp;μπαίνουν στο τέλος του index&amp;nbsp;?&amp;nbsp;Σβήνω πάντα τις πολύ παλιές (αφού είναι clustered index by datetime- σβήνονται τα πρώτα φύλλα του δέντρου). Με δεδομένο το παραπάνω&amp;nbsp;fragmentation δεν πιστεύεις ότι πρέπει να πάει και να πάρει backup τις πρώτες και τις τελευταίες pages μόνο (τα πρώτα και τα τελευταία φύλλα του δέντρου)?&amp;nbsp;Έχω λάθος? &lt;/P&gt;
&lt;P&gt;Κάθε βράδυ, μετά το backup κάνω και update&amp;nbsp;statistics....&amp;nbsp;Μήπως φταίει αυτό?&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19321.aspx</link><pubDate>Fri, 27 Oct 2006 16:47:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19321</guid><dc:creator>nistam</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19321.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19321</wfw:commentRss><description>Πέρα απ'οσα είπαν οι συνάδελφοι, μήπως έχεις δίσκο USB 2.0 συνδεδεμένο σε πόρτα 1.1; Οχι, ότι 15GΒ μεταφέρονται γρήγορα ακόμα και σε 2.0, αλλά σίγουρα, εάν όντως συμβαίνει αυτό που σου λέω, θα βελτιώσεις αρκετά έως ικανοποιητικά την κατάσταση, εάν τον συνδέσεις σε πόρτα 2.0. Οπως είπε και ο papadi, δοκίμασε να κάνεις ένα copy της βάσης που θές να αντιγράψεις, θέτοντάς την πρωτα offline. Η πάρτην backup στο δίσκο και μετά αντίγραψε το αρχείο αυτό για δοκιμή.</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19320.aspx</link><pubDate>Fri, 27 Oct 2006 16:39:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19320</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19320.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19320</wfw:commentRss><description>Τρέξε ένα benchmark στους δίσκους, πολλοί usb δίσκοι είναι εξαιρετικά πιο αργοί. Ο χρόνος πάντως μου φαίνεται μεγάλος.</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19318.aspx</link><pubDate>Fri, 27 Oct 2006 16:06:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19318</guid><dc:creator>imanos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19318.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19318</wfw:commentRss><description>Θα μπορούσες να παίρνεις το Backup σε κάποιο σημείο του κανονικού δίσκου αντί του USB και κατόπιν να βάλεις ένα schedule στα Windows που θα κάνει copy και paste το συγκεκριμμένο Backup στον USB δίσκο .&lt;br /&gt;
&lt;br /&gt;
Επίσης αυτό που αναφέρει ο papadi νομίζω ότι είναι πολύ καλό.Προσωπικά αυτό κανω δηλ έχω βάλει στο schedule των Windows να κανει NetStop τον SQL κατόπιν να εκτελείται ένα copy του mdf και ldf σέ ένα δίσκο και τέλος με NetStart επανεκίνηση του SQL.</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19305.aspx</link><pubDate>Fri, 27 Oct 2006 03:37:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19305</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19305.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19305</wfw:commentRss><description>Δεν μας έχεις δώσει εικόνα του συστήματος. Από μόνα τους τα νούμερα δεν λένε και πολλά... Επίσης, δεν μας είπες, παλιότερα είχες μικρότερο χρόνο στα backups; Έχεις ένα baseline για σύγκριση;&lt;br /&gt;
&lt;br /&gt;
Πάντως, γενικά μιλώντας, μεγάλος όγκος από INSERT συνεπάγεται κατά πάσα πιθανότητα μεγάλο fragmentation. Έχεις τσεκάρει με DBCC SHOWCONTIG τι fragmentation έχει ο πίνακας; Όσο μεγαλύτερο το fragmentation τόσο περισσότερες σελίδες έχεις στα indexes, άρα και όγκο δεδομένων, ακόμα και αν χρησιμοποιείς το 3%-4% των εγγραφών.&lt;br /&gt;
&lt;br /&gt;
Απο εκεί και πέρα, μπορείς να κάνεις διάφορα για να βελτιστοποιήσεις την κατάσταση. Αφ'ενός να οργανώσεις ένα maintenance plan, αφ'ετέρου να προσθέσεις έναν επιπλέον δίσκο και να φτιάξεις filegroup στο οποίο θα βάλεις τον μεγάλο σου πίνακα ώστε να κάνεις backup ανά filegroup.</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19300.aspx</link><pubDate>Fri, 27 Oct 2006 03:15:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19300</guid><dc:creator>Mitsaras</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19300.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19300</wfw:commentRss><description>Πήγαινε στα properties του δίσκου από device manager, και άλλαξε το Optimize for &lt;br /&gt;
&lt;br /&gt;
Quick removal σε Optimize for performance.</description></item><item><title>Απ: Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19298.aspx</link><pubDate>Fri, 27 Oct 2006 02:52:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19298</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19298.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19298</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;Teo wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;Ποιός είναι ο αναμενόμενος χρόνος Full Backup για μια βάση 15GB που δεν έχει traffic τις ώρες του backup? 3Hours δεν είναι πολύ?&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Δεν γνωρίζω πολλά για τα υπόλοιπα, αλλά 3 ώρες για 15GB σε USB δίσκο δεν μου φαίνονται και τόσο πολύ. Δοκίμασε να αντιγράψεις ένα αρκετά μεγάλο αρχείο μέσω του windows explorer να δεις πόσο πέρνει και να κάνεις μια εκτίμηση. Π.χ. δοκίμασε να βγάλεις την βάση offline και να αντιγράψεις το mdf ή/και το ldf.&lt;/P&gt;</description></item><item><title>Πολύ αργό Differential Backup</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19271.aspx</link><pubDate>Thu, 26 Oct 2006 17:44:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19271</guid><dc:creator>Teo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19271.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=19271</wfw:commentRss><description>&lt;P&gt;Έχω μια βάση περίπου 15GB σε SQL 2005.Η βάση αύτή έχει έναν πίνακα ο οποίος καταλαμβάνει το 60-70% του μεγέθους της ο οποίος δέχεται κατά τη διάρκεια της ημέρας μεγάλο όγκο INSERT και SELECT εντολών (περίπου εισάγονται και διαγράφονται εγγραφές της τάξης του 3-4% του μεγέθους του πίνακα). Η βάση είναι σε SIMPLE Recovery Model. Έχω έναν εξωτερικό USB-δίσκο στον οποίο παίρνω backup.&lt;/P&gt;
&lt;P&gt;Έφτιαξα 2 SQL Server Integration Services Packages που εκτελούνται βράδυ (η βάση και ο server δεν έχουν activity το βραδυ). Το ένα (μεταξύ των άλλων εργασιών) παίρνει Full Backup την βάση και το αποθηκεύει στον USB δίσκο (κάθε Κυριακή)--&amp;gt;Μέγεθος Backup:13GB-- Διάρκεια του Backup task: 3Hours!&amp;nbsp;Το δεύτερο παίρνει Differential Backup και το το αποθηκεύει στον USB δίσκο (καθημερινά εκτός Κυριακής)--&amp;gt;Μέγεθος Backup:11,5-12GB-- Διάρκεια του Backup task: 2Hours 30minutes!&lt;/P&gt;
&lt;P&gt;Το οτι παίρνω Backup&amp;nbsp;σε USB δίσκο και όχι στον εσωτερικό επηρεάζει την ταχύτητα καθοριστικά? Αν ναι, υπάρχουν κάποιες ρυθμίσεις που μπορώ να κάνω?&lt;/P&gt;
&lt;P&gt;Για ποιό λόγο το Differential έχει τόσο μεγάλο μέγεθος (προφανώς γι αυτό αργεί....)???&lt;/P&gt;
&lt;P&gt;Ήξερα ότι το Differential θα πάρει backup μόνο τις pages που αλλάξανε. Στην βάση μου, ο κύριος πίνακας (=10GB) δεν αλλάζει όλος οπότε θα περίμενα να πάρει backup μόνο τις pages που προστέθηκαν (ή/και διαγράφηκαν)΄? Είμαι λάθος? Μήπως παίρνει backup όλες τις pages του πίνακα ? &lt;/P&gt;
&lt;P&gt;Ποιός είναι ο αναμενόμενος χρόνος Full Backup για μια βάση 15GB που δεν έχει traffic τις ώρες του backup? 3Hours δεν είναι πολύ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>