<?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>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66122.aspx</link><pubDate>Fri, 03 Jun 2011 02:22:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66122</guid><dc:creator>spaceman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66122.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66122</wfw:commentRss><description>&lt;p&gt;Κάποια πράγματα που ίσως θα έπρεπε να ψάξεις περισσότερο:&lt;br&gt;data size&amp;nbsp; = 155327624 KB&lt;br&gt;index size = 135162832 KB&lt;br&gt;Η μισή βάση είναι δεδομένα και η άλλη μισή είναι indexes. Χωρίς αυτό να είναι "κακό" ίσως θα έπρεπε να κοιτάξεις&lt;br&gt;πως χρησιμοποιούνται οι υπάρχοντες indexes και αν όντως χρειάζονται όλοι.&lt;/p&gt;&lt;p&gt;Το log file, (if i am not mistaken), έχει μέγεθος γύρω στα 18 GB.&lt;br&gt;Ίσως αξίζει να κοιτάξεις τo disaster-recovery πλάνο για την συγκεκριμένη βάση, καθώς και υπάρχοντα maintenance plans-jobs (:κυρίως index rebuilds) &lt;/p&gt;&lt;p&gt;Ο αριθμός των filegroups&amp;amp;files είναι λίγο "περίεργος". Ίσως θα πρέπει να ελέγξεις την κατανομή των files per filegroup και το μέγεθος του κάθε file: &lt;br&gt;Αν πχ. σε ενα filegroup (με 5 datafiles) υπαρχουν 3 files με μεγεθος 1GB και 2 files με μεγεθος 3GB.&lt;br&gt;Αν στο primary filegroup δεν αποθηκευονται δεδομένα και το primary filegroup έχει περισσότερα από ένα data files κτλ.&lt;/p&gt;&lt;p&gt;Επίσης, αν η βάση έχει πίνακες χωρίς clustered index (heaps) ίσως υπάρχουν allocated pages οι οποίες δεν περιέχουν "ενεργά" δεδομένα.&lt;br&gt;--pay attention to heaps με μικρό αριθμό rows και ιδιαίτερα μεγάλο αριθμό xx_pages (σε σχέση με το μέσο μέγεθος data/index record)&lt;/p&gt;&lt;pre&gt;&lt;span style="color:black;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;&lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SELECT&lt;/span&gt;  &lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;OBJECT_NAME&lt;/span&gt;(i.&lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;object_id&lt;/span&gt;) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; tbl_name, &lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;ISNULL&lt;/span&gt;(i.name, &lt;span style="color:red;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;'heap_table_data'&lt;/span&gt;) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; indexname, p.partition_id, p.rows, dp.*, lobp.*
&lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;FROM&lt;/span&gt; sys.indexes &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; i
 &lt;span style="color:silver;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;JOIN&lt;/span&gt; sys.partitions &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; p &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;on&lt;/span&gt; i.&lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;object_id&lt;/span&gt; = p.&lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;object_id&lt;/span&gt; &lt;span style="color:silver;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AND&lt;/span&gt; i.index_id = p.index_id
 &lt;span style="color:silver;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;OUTER&lt;/span&gt; APPLY (&lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SELECT&lt;/span&gt; &lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SUM&lt;/span&gt;(total_pages) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; total_pages, &lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SUM&lt;/span&gt;(used_pages) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; used_pages, &lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SUM&lt;/span&gt;(data_pages) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; data_pages
    &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;FROM&lt;/span&gt; sys.allocation_units &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; al
    &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;WHERE&lt;/span&gt; al.container_id = p.hobt_id
    &lt;span style="color:silver;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AND&lt;/span&gt; al.type &lt;span style="color:silver;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;IN&lt;/span&gt; (1,3)) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; dp
 &lt;span style="color:teal;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;--lob pages are deallocated when heap records are deleted, display them for a complete overview&lt;/span&gt;
 &lt;span style="color:silver;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;OUTER&lt;/span&gt; APPLY (&lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SELECT&lt;/span&gt; &lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SUM&lt;/span&gt;(total_pages) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; lob_total_pages, &lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SUM&lt;/span&gt;(used_pages) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; lob_used_pages, &lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;SUM&lt;/span&gt;(data_pages) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; lob_data_pages
    &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;FROM&lt;/span&gt; sys.allocation_units &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; al
    &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;WHERE&lt;/span&gt; al.container_id = p.partition_id
    &lt;span style="color:silver;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AND&lt;/span&gt; al.type = 2) &lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AS&lt;/span&gt; lobp    
&lt;span style="color:blue;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;WHERE&lt;/span&gt; OBJECTPROPERTYEX(i.&lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;object_id&lt;/span&gt;, N&lt;span style="color:red;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;'TableHasClustIndex'&lt;/span&gt;) = 0 &lt;span style="color:teal;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;--table is a heap&lt;/span&gt;
&lt;span style="color:silver;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;AND&lt;/span&gt; OBJECTPROPERTYEX(i.&lt;span style="color:fuchsia;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;object_id&lt;/span&gt;, N&lt;span style="color:red;font-family:Courier New;font-size:11px;font-weight:normal;background-color:transparent;"&gt;'IsUserTable '&lt;/span&gt;) = 1&lt;/span&gt;&lt;/pre&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66118.aspx</link><pubDate>Fri, 03 Jun 2011 01:24:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66118</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66118.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66118</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;vmakrin:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;μετά από όσα είπαμε δεν μου φαίνεται καλή ιδέα να κάνω &lt;span class="Apple-style-span" style="font-family:Tahoma, Arial, Helvetica;"&gt;shrink στην βάση, απλά με ανησυχεί ο χώρος στους δίσκους και όλα αυτά τα datafiles.&lt;/span&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Tahoma, Arial, Helvetica"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;

Θα σου τι υποψιάζομαι για  αυτά το βράδυ μόλις πάω σπίτι</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66117.aspx</link><pubDate>Thu, 02 Jun 2011 23:15:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66117</guid><dc:creator>vmakrin</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66117.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66117</wfw:commentRss><description>μετά από όσα είπαμε δεν μου φαίνεται καλή ιδέα να κάνω &lt;span class="Apple-style-span" style="font-family:Tahoma, Arial, Helvetica;"&gt;shrink στην βάση, απλά με ανησυχεί ο χώρος στους δίσκους και όλα αυτά τα datafiles.&lt;/span&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Tahoma, Arial, Helvetica"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66116.aspx</link><pubDate>Thu, 02 Jun 2011 23:04:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66116</guid><dc:creator>ckotsidimos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66116.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66116</wfw:commentRss><description>Έχεις κάποιο πρόβληαμ και το σκέφτεσαι το shrink? Αν όχι, θα συμφωνήσω με τον Αντώνη</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66105.aspx</link><pubDate>Thu, 02 Jun 2011 19:02:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66105</guid><dc:creator>vmakrin</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66105.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66105</wfw:commentRss><description>η αλήθεια είναι πώς έτσι την κληρονόμησα εδώ και 5 περίπου μήνες και αρχίζω να "ψάχνομαι" σε διάφορα επίπεδα.</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66096.aspx</link><pubDate>Thu, 02 Jun 2011 05:20:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66096</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66096.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66096</wfw:commentRss><description>&lt;p&gt;Βλέποντας τα παραπάνω αγαπητέ μου φίλε μπορώ ασφαλώς να συμπεράνω ότι κάτι σοβαρό είναι πάνω σε αυτή σωστά;&lt;/p&gt;&lt;p&gt;(Δεν μπορώ διαφορετικά να εξηγήσω τον αριθμό των αρχείων)&lt;/p&gt;&lt;p&gt;Με βάση αυτή την εκτίμηση αλλά και το μέγεθος του ελεύθερου χώρου που μας δίνεις δεν βλέπω το λόγο να κάνεις κάτι γιά αυτή. &lt;/p&gt;&lt;p&gt;Αν κάτσεις να υπολογίσεις τον χρόνο που θα χρειαστείς να κάνεις shrink&amp;nbsp; σε σχέση με το κόστος των GB που θέλεις να πάρεις πίσω στους δίσκους σου νομίζω ότι δεν αξίζει την φασάρια. &lt;/p&gt;&lt;p&gt;Πρίν κάνεις οτιδήποτε υπολόγισε πόσο σου κοστίζει το GB στο storage σου (θεωρώ ότι με αυτά που δίνεις σαν στοιχεία&amp;nbsp;έχεις&amp;nbsp;storage)&amp;nbsp;και πόσο κοστίζει η ώρα που δεν είναι διαθέσιμη η βάση σου στην εταιρία σου.&lt;/p&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66095.aspx</link><pubDate>Wed, 01 Jun 2011 16:47:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66095</guid><dc:creator>vmakrin</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66095.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66095</wfw:commentRss><description>η εικόνα της βάσης είναι η παρακάτω,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;filegroups:&amp;nbsp;8&lt;/div&gt;&lt;div&gt;datafiles &amp;nbsp; :88&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;database_name: dbname&lt;/div&gt;&lt;div&gt;database_size:&amp;nbsp;359921.94 MB &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;unallocated space:&amp;nbsp;&amp;nbsp;54036.81 MB&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;reserved:&amp;nbsp;294038720 KB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;data: &amp;nbsp;155327624 KB&lt;/div&gt;&lt;div&gt;index_size:&amp;nbsp;135162832 KB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;unused: &amp;nbsp;3548264 KB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66092.aspx</link><pubDate>Wed, 01 Jun 2011 08:43:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66092</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66092.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66092</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;George J. Capnias:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Δέχομαι το παράδειγμα σου, αλλά ότι σε μια βάση που έχει ένα τέτοιο πίνακα, έχει νόημα να μιλάμε για indexes στον πίνακα, και re-arrange indexes; Μήπως και full text search; &lt;/li&gt;&lt;li&gt;Μήπως ακριβώς&amp;nbsp;στην συγκεκριμένη περίπτωση δεν σε συμφέρει το shrink γιατί εκτός του ότι η βάση έχει "ανοίξει", και δεν θα έχεις το penalty του expansion στο δίσκο, ξανά;&amp;nbsp;Ενώ η βεβαιότητα ότι η βάση θα ξαναεπιστρέψει στο αυτό μέγεθος στο μέλλον, ουσιαστικά τι πιστεύεις ότι θα κερδίζεις για την εφαρμογή σου; Χώρο στο δίσκο; Και το πληρώνεις με perfomance; Το βλέπεις σωστό;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Τα πάντα είναι σχετικά όταν μιλάμε για μεγέθη. Μια βάση ενός πορταλ σε ένα server περιορισμένων δυνατοτητων (ορισμένες φορές συμβαίνει) έχει ανάγκη τα indexes όταν έχει ακόμα και μερικές εκατοντάδες εγγραφές σε κάποιους πίνακες. Διαφωνείς;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Στο σενάριο που περιγράφω, ναι, το shrink εξασφαλίζει μικρότερο χώρο στο δίσκο, ο οποίος σε ορισμένες περιπτώσεις είναι πολύτιμος. Το να το πληρώνεις με επιδόσεις οχι, δεν είναι σωστό, αλλλά αν ένα indexdefrag σου κάνει τη δουλειά, είναι αποδεκτό.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66091.aspx</link><pubDate>Wed, 01 Jun 2011 07:29:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66091</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66091.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66091</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;cap:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Δεν είναι και τόσο απίθανη διαδικασία. Σκέψου την περίπτωση οπου η βάση κρατάει ένα εσωτερικό event log για errors ή events το οποίο "φουσκώνει" και πρέπει περιοδικά να καθαρίζεται. Να σου αναφέρω δύο παραδείγματα που μου έρχονται μάνι-μάνι στο μυαλό: YAF και DNN.&amp;nbsp;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Πριν απαντήσει άλλος, να πω εγώ: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Δέχομαι το παράδειγμα σου, αλλά υποστηρίζεις ότι σε μια βάση που έχει ένα τέτοιο πίνακα, έχει νόημα να μιλάμε για indexes στον πίνακα, και re-arrange indexes; Μήπως και full text search; &lt;/li&gt;&lt;li&gt;Μήπως ακριβώς&amp;nbsp;στην συγκεκριμένη περίπτωση δεν σε συμφέρει το shrink γιατί εκτός του ότι η βάση έχει "ανοίξει", και δεν θα έχεις το penalty του expansion στο δίσκο, ξανά;&amp;nbsp;Ενώ η βεβαιότητα ότι η βάση θα ξαναεπιστρέψει στο αυτό μέγεθος στο μέλλον, ουσιαστικά τι πιστεύεις ότι θα κερδίζεις για την εφαρμογή σου; Χώρο στο δίσκο; Και το πληρώνεις με perfomance; Το βλέπεις σωστό;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;George J.&lt;br&gt;&lt;/p&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66089.aspx</link><pubDate>Wed, 01 Jun 2011 04:49:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66089</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66089.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66089</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Antonios Chatzipavlis:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;cap:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Μια απορία πάνω στα πολύ ενδιαφέροντα που συζητάτε:&lt;div&gt;Εξαιρώντας το performance hit, δεν διορθώνεται η κατάσταση μετά από ένα shrink με ένα dbcc indexdefrag; Η δημιουργούνται πρόσθετα θέματα;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;

Ναι θα σου ξαναμεγαλώσει η βάση.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Αντώνη, αν μου ξαναμεγαλώσει σε σχέση με τα indexes, δεν το θεωρώ θέμα. Οπως γράφω και σε προηγούμενο post, για να φτάσω (εγώ, εσύ, ο άλλος) να κάνουμε shrink σημαίνει πως κάτι είχε "φουσκωμένο" μέσα και το "ξεφουσκώσαμε". Ε, δεν πιστεύω να μεγαλώσει ξανά το ίδιο.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66088.aspx</link><pubDate>Wed, 01 Jun 2011 04:47:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66088</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66088.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66088</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;George J. Capnias:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Shrink database, θα συζητούσα στην περίπτωση που είχα μια βάση και έβγαζα δεδομένα μέσα από αυτή, πολλά δεδομένα&amp;nbsp;- δηλαδή αναφέρομαι σε μια &lt;u&gt;απίθανη διαδικασία&lt;/u&gt;!&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Δεν είναι και τόσο απίθανη διαδικασία. Σκέψου την περίπτωση οπου η βάση κρατάει ένα εσωτερικό event log για errors ή events το οποίο "φουσκώνει" και πρέπει περιοδικά να καθαρίζεται. Να σου αναφέρω δύο παραδείγματα που μου έρχονται μάνι-μάνι στο μυαλό: YAF και DNN.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Στο DNN ειδικά, επειδή δουλεύω το OWS, αυτό έχει εσωτερικό action log το οποίο ΑΝ το ξεχάσεις ανοιχτό (για debug) και τυχόν βγάλεις το μαραφέτι σε production και έχει κίνηση, γεμίζει από χιλιάδες records στο πι και φι. Τι κάνεις μετά; Το καθαρίζεις και έχεις π.χ. μια βάση η οποία υπό κανονικές συνθήκες δεν θα πιάσει ποτέ τα 300ΜΒ να πιάνει π.χ. 1GB; Ε, θα την κάνεις shrink ή τέλος πάντων θα πρέπει με κάποιο τρόπο να την μικρύνεις.&lt;/p&gt;&lt;p&gt;Βεβαια, θα μου πεις, δεν είναι τόσο critical scenarios αυτα σε σχέση π.χ. με ένα τραπεζικό σύστημα, και θα συμφωνήσω. Αλλά οτι συμβαίνει, συμβαίνει!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66087.aspx</link><pubDate>Wed, 01 Jun 2011 04:03:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66087</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66087.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66087</wfw:commentRss><description>&lt;p&gt;Νομίζω ότι η συζήτηση έχει πάρει "&lt;em&gt;φιλολογικό&lt;/em&gt;" χαρακτήρα, μιας και φτάσαμε να αντιγράφουμε τι λέει το documentation:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Αν η βάση είναι μεγάλη, το σίγουρο είναι ότι χρειάστηκε αυτό τον χώρο και&amp;nbsp;για αυτό έχουν μεγαλώσει τα&amp;nbsp;αρχεία δεδομένων της&amp;nbsp;-&amp;nbsp;το αποτέλεσμα αυτό προέρχεται από το γεγονός ότι&amp;nbsp;ή οι ρυθμίσεις για τις απαιτήσεις για τον ελεύθερο χώρο στα data pages το έχουν προκαλέσει, ή όντως η βάση έχει πολλά δεδομένα. &lt;br&gt;&lt;/li&gt;&lt;li&gt;Μην ξεχνάμε να αναφερθούμε στο backup plan που έχει η βάση&amp;nbsp;-&amp;nbsp;αν είναι full backup, έχει σημασία κάθε πότε γίνεται το full backup και η αποφόρτωση του transaction log, που ουσιαστικά είναι και ο συνηθέστερος λόγος που μεγαλώνει "ξαφνικά" και "πολύ" το μέγεθος των αρχείων μιας βάσης δεδομένων&amp;nbsp;- και όχι η αύξηση των δεδομένων της.&lt;br&gt;&lt;/li&gt;&lt;li&gt;Shrink database, θα συζητούσα στην περίπτωση που είχα μια βάση και έβγαζα δεδομένα μέσα από αυτή, πολλά δεδομένα&amp;nbsp;- δηλαδή αναφέρομαι σε μια &lt;u&gt;απίθανη διαδικασία&lt;/u&gt;!&lt;br&gt;&lt;/li&gt;&lt;li&gt;To να κάνεις shrink την βάση για να μικρήνουν τα αρχεία δεδομένων και στην συνέχεια να ξανακάνεις re-index και να ξαναμεγαλώσει, είναι μια μη απαραίτητη&amp;nbsp;διαδικασία - δεν αναφέρομαι στην φυσική συντήρηση της βάσης που πρέπει να γίνεται περιοδικά, και θεωρώ απαραίτητο ότι η βάση δεδομένων έχει administrator που ξέρει την τάξη μεγέθους που μεγαλώνει η βάση φυσιολογικά και έχει πάρει τα μέτρα του και έχει προσαρμόσει αντίστοιχα τα ποσοστά του ελεύθερου χώρου στα data pages.&lt;br&gt;&lt;/li&gt;&lt;li&gt;Όλα τα παραπάνω τα συζητάω για μια βάση που βρίσκεται σε παραγωγή - αν η βάση είναι σε development μηχάνημα θα προτιμούσα να την σβήσω τελείως και να την&amp;nbsp;επαναφέρω για να την μικρίνω μιας και θα μου είναι πιο εύκολο/γρήγορο μέσα από το γραφικό περιβάλλον.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;George J.&lt;br&gt;&lt;/p&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66086.aspx</link><pubDate>Wed, 01 Jun 2011 03:15:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66086</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66086.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66086</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;cap:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Μια απορία πάνω στα πολύ ενδιαφέροντα που συζητάτε:&lt;div&gt;Εξαιρώντας το performance hit, δεν διορθώνεται η κατάσταση μετά από ένα shrink με ένα dbcc indexdefrag; Η δημιουργούνται πρόσθετα θέματα;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;

Ναι θα σου ξαναμεγαλώσει η βάση.</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66085.aspx</link><pubDate>Wed, 01 Jun 2011 03:12:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66085</guid><dc:creator>spaceman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66085.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66085</wfw:commentRss><description>&lt;p&gt;Αν το ζητούμενο είναι η μείωση/συρρίκνωση του μεγέθους της βάσης (για λόγους διαχείρισης-administration), &lt;br&gt;τότε η DBCC SHRINKDATABASE (dbname, xx); &lt;br&gt;παρέχει περισσότερο έλεγχο και "εγγυηση" σχετικά με το τελικό αποτέλεσμα.&lt;br&gt;Εφ'όσον τηρούνται οι προυποθέσεις, η εκτέλεση της DBCC SHRINKDATABASE (dbname, xx); θα "συρρικνώσει" το μεγεθος της &lt;strong&gt;βάσης&lt;/strong&gt; &lt;br&gt;ώστε στο τέλος xx% του μεγέθους της βάσης να είναι ελεύθερος χώρος.&lt;/p&gt;&lt;p&gt;Η DBCC SHRINKDATABASE (dbname, TRUNCATEONLY); "αποδεσμεύει" χώρο απο το τέλος του κάθε &lt;strong&gt;data file&lt;/strong&gt; μέχρι το σημείο-extent που περιέχει "ενεργα" δεδομένα {space/data pages allocated to deleted data is/are reclaimed}.&lt;br&gt;Έτσι, η DBCC SHRINKDATABASE (dbname, TRUNCATEONLY); δεν προσφέρει έλεγχο σχετικά με το τελικό αποτέλεσμα. Μετά την εκτέλεση της&lt;br&gt;DBCC SHRINKDATABASE (dbname, TRUNCATEONLY); ο ελευθερος χώρος στα data files μπορεί να είναι ~0%,..., 10%,..., 30% ... ή και 99%.&lt;br&gt;Επειδη η DBCC SHRINKDATABASE (dbname, TRUNCATEONLY); αποδεσμεύει καθαρά ελευθερο χωρο απο το τελος των data files, ΔΕΝ έχει καμία επιπτωση στα δεδομενα, indexes κτλ. &lt;br&gt;Οι indexes δεν γίνονται περισσότερο fragmented.&lt;/p&gt;</description></item><item><title>Απ: shrink database</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66083.aspx</link><pubDate>Wed, 01 Jun 2011 01:33:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66083</guid><dc:creator>nikolaosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66083.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=66083</wfw:commentRss><description>&lt;font size="2" face="verdana,geneva"&gt;Mπορείς να χρησιμοποιήσεις τα&lt;br&gt;&lt;br&gt;DBCC INDEXDEFRAG &lt;br&gt;&lt;br&gt;ή&lt;br&gt;&lt;br&gt;ALTER INDEX REORGANIZE &lt;br&gt;&lt;br&gt;για να κάνεις defrag τους Indexes. αυτό είναι σωστό. Το θέμα είναι ότι επειδή αρκετός κόσμος δεν ξέρει την σχέση που έχει το shrinking της βάσης με το index fragmentation,&lt;br&gt;&lt;br&gt;δεν κάνει τίποτα για να το διορθώσει μετά....&lt;br&gt;&lt;br&gt;&lt;font face="courier new,courier"&gt;&lt;/font&gt;&lt;/font&gt;</description></item></channel></rss>