SQL ServerÈçºÎ½Ø¶Ï(Truncate)ºÍÊÕËõ(Shrink)ÊÂÎñÈÕÖ¾
µ±SQL Server½Ø¶ÏÊÂÎñÈÕ־ʱ£¬Ëü½ö½öÊÇÔÚÐéÄâÈÕÖ¾ÎļþÖÐ×ö¸ö±ê¼Ç£¬ÒԱ㲻ÔÙʹÓÃËü£¬È»ºó×¼±¸ÒÔÖØÓÃÐÎʽÀ´×ö±¸·Ý(¼ÙÈçÔËÔØÔÚÍêÕû»òÊÇÅúÁ¿ÈÕÖ¾»Ö¸´Ä£ÐÍ)¡£Ò²¾ÍÊÇ˵£¬ÔÚʹÓüòµ¥»Ö¸´Ä£ÐÍʱ£¬ÊÂÎñÈÕÖ¾°üÀ¨ÈçϵÄÈÕÖ¾¼Ç¼£º
µ±checkpoint·¢Éúʱ£¬ÐéÄâÈÕÖ¾Îļþ1¡¢2²»ÔÙ±»Ê¹Óã¬ÒòΪÊÂÎñ1¡¢2ÒѾ±»Ìá½»ÁË£¬¶øÇÒÈÕÖ¾¼Ç¼Ҳ²»ÔÙÐèÒª»Ø¹öÁË¡£È»ºóSQL ServerÖØÓÃÐéÄâÈÕÖ¾Îļþ1¡¢2£¬ÈçÏÂͼ£º
Õâ¾ÍÊÇÎÒÃÇËùÊìÖªµÄÊÂÎñÈÕÖ¾½Ø¶Ï¡£»ù±¾ÉÏ£¬ÊÂÎñÈÕÖ¾µÄ»î¶¯Çø¼äÒѾ±»½Ø¶ÏÁË£¬µ«ÊÇÊÂÎñÈÕÖ¾µÄÎïÀí´óС²»»á¸Ä±ä£¬³ý·ÇÊý¾Ý¿âʹÓÃ×Ô¶¯ÊÕËõµÄÊôÐÔÉèÖá£ÔÚÕâÖÖÇé¿öÏ£¬ÊÂÎñÈÕÖ¾¾Í»á¾¡¿ÉÄܵÄÔÚÎïÀíÉϽøÐÐÖÜÆÚÐÔµÄÊÕËõ¡£
ΪÁËÎïÀíÉϼõСÊÂÎñÈÕÖ¾µÄ´óС£¬ÊÕËõÊÂÎñÈÕÖ¾×÷ΪÒÑÖªµÄ·½·¨£¬ÄãÔÚʹÓÃʱ¿ÉÒÔÑ¡ÔñÏÂÃæÑ¡ÏîÖеÄÒ»ÖÖ£º
Ö´ÐÐ DBCC SHRINKDATABASEÃüÁî
Ö´ÐÐ DBCC SHRINKFILEÃüÁî
ÉèÖÃÊý¾Ý¿âµÄÊÂÎñÈÕÖ¾×Ô¶¯ÊÕËõÑ¡Ïî
ÐèҪעÒâµÄÊÇ£¬ÊÂÎñÈÕÖ¾½ö½öÄÜÊÕËõµ½ÐéÄâÈÕÖ¾ÎļþµÄ±ß½ç¡£ÏÂÃæÊǸöÀý×Ó¡£
ÎÒн¨ÁËÒ»¸öÊý¾Ý¿â£¬ËüÓÐ1MBµÄÊÂÎñÈÕÖ¾¿Õ¼ä£¬5MBµÄ×Ô¶¯Ôö³¤¿Õ¼ä¡£ÔËÐÐDBCC LOGINFOÏÔʾÈçÏ£º
ÕâÀïÓÐËĸö¿É±ä´óСµÄÐéÄâÈÕÖ¾Îļþ¡£È»ºóÎÒÊäÈëһЩÊý¾Ý£¬Õâ»áʹÊÂÎñÈÕÖ¾ Ôö³¤µ½5MB£º
ÔÚеÄ5MBÊÂÎñÈÕÖ¾Çø¼äÀïÃæÐ½¨ÁË4¸öеÄÐéÄâÈÕÖ¾Îļþ¡£Ã¿Ò»¸öн¨µÄÐéÄâÈÕÖ¾Îļþ¶¼ÊÇ1310720bytes£¬Ã¿7¸öÐéÄâÈÕÖ¾ÎļþÕýÔÚʹÓÃʱ(״̬ÊÇ2)¡£ÎÒÏÖÔÚ±¸·ÝÊÂÎñÈÕÖ¾£¬Òò´Ë½«»á½Ø¶ÏÊÂÎñÈÕÖ¾£º
Ŀǰ½ö½öÓÐÒ»¸öÐéÄâÈÕÖ¾ÎļþÔÚʹÓÃ(µÚ7ÐУ¬×´Ì¬Îª2). ¼ÙÈçÎÒÏÖÔÚÓÃÏÂÃæµÄÃüÁÊÔ×ŰÑÈÕÖ¾ÊÕËõµ½2M£º
DBCC SHRINKFILE ('AdventureWorks_log', 2)
ÒòΪ»î¶¯ÈÕÖ¾¼Ç¼ÊÇÐéÄâÈÕÖ¾Îļþ7£¬ËùÒÔSQL Server½ö½öɾ³ýÐéÄâÈÕÖ¾Îļþ8¡£Õâ´ÎÊÂÎñÈÕÖ¾´Ó7MBÊÕËõµ½4.7MB. SQL ServerÒ²ÔÚÊÂÎñÈÕÖ¾ÖÐн¨Á˼ٵÄÈë¿Ú£¬ÎªÁËÒÆ³ý2MBµã֮ǰµÄ×î½ü»î¶¯ÈÕÖ¾¼Ç¼£¬ÒÔ±ãÓÚËü°ü¹üµ½ÐéÄâÈÕÖ¾Îļþ2£¨×¢Òâ״̬Ϊ2µÄÐУ©¡£
¼ÙÈçÏÖÔÚÔٴα¸·ÝÊÂÎñÈÕÖ¾µÄ»°£¬ÊÂÎñÈÕÖ¾»áÔٴα»½Ø¶Ï£¬ÏÖÔÚ»î¶¯Çø¼ä¾ÍÊÇÐéÄâÈÕÖ¾Îļþ2ÁË¡£
Èç¹ûÎÒÏÖÔÚÔÙ³¢ÊÔÒ»´ÎÊÕËõÎļþµÄ»°£¬SQL ServerÔò»á³É¹¦µÄÊÕËõµ½2MB×óÓÒ£¬ÒòΪÈÕÖ¾µÄ»î¶¯Çø¼äÒѾ½Ó½ü2MBÁË¡£Îļþ±»ÊÕËõµ½×î½Ó½üÓÚÈÕÖ¾µÇ¼ÇʱµÄ´óС¡£ÕâʱDBCC LOGINFOµÄÊä³öÈçÏ£º
ÊÂÎñÈÕÖ¾Îļþ´óСΪ2359296bytes(ÐéÄâÈÕÖ¾Îļþ´óС×ÜÁ¿Òª¼ÓÉÏ8192×Ö½ÚµÄÍ·ÐÅÏ¢)
ËùÒÔÈç¹ûÄã·¢ÏÖÄã²»ÄÜÊÕËõÊÂÎñÈÕÖ¾µ½Ò»¸öÖ¸¶¨µÄ·¶Î§£¬ÔËÐÐDBCC LOGINFO£¬È»ºó¼ì²éÐéÄâÈÕÖ¾ÎļþµÄ·¶Î§£¬ÅªÇå³þÿһ¸
Ïà¹ØÎĵµ£º
Èç¹ûÏë²éÕÒ“_cs”½áβµÄµÄÕË»§
select * from [user] where loginname like '%_cs'ÊDz»Ðеģ¬_ ±»ÈÏΪÊÇÈÎÒâµÄ×Ö·û£¬
ËùÒÔÐèҪתÒå×Ö·û£¬ÓÐÁ½ÖÖд·¨£º
select * from [user] where loginname like '%[_]cs'
select * from [user] where loginname like '%/_cs' escape'/'
ͨÅä·ûº¬Òå
%
°üº¬Áã¸ö»ò¸ü¶à×Ö· ......
sqlÓï¾ä²éѯ
±í½á¹¹ÊÇÕâÑù£º
ID ÐÕÃû ÐÔ±ð
1 ÕÅÈý ÄÐ
2 ÍõËÄ ÄÐ
3 ÀöÀö Å®
4 ÕÅÈý ÄÐ
5 ÕÔÁø ÄÐ
6 ¸ß½à ÄÐ
7 ......
ÉÁ»Ø
1 ÌØÕ÷
ÉÁ»ØÊý¾Ý¿âÖ»ÊÇÂß¼Êý¾ÝÔâµ½ÆÆ»µÊ±µÄÊֶΡ£
ÉÁ»ØÊý¾Ý¿âÈÕÖ¾±ØÐëÔÚÊý¾Ý¿â»Ö¸´ÇøÖд´½¨¡£
ÉÁ»ØÈÕÖ¾²»ÐèÒª¹éµµ£¬²»ÄÜÓÃÓÚÎïÀí»Ö¸´¡£
Ö´ÐÐÉÁ»ØÊý¾Ý¿â²Ù×÷ʱ£¬±³¾°½ø³ÌRVWR¾ÍÆô¶¯ÁË¡£
2 ʹÓÃÉÁ»ØÊý¾Ý¿â
3ÖÖ¹¤¾ß£¬SQL*Plus£¬RMAN£¬OEM¡£
£¨1£©ÒªÇó
ΪÁËʹÓÃÉÁ»ØÊý¾Ý¿â£¬Êý¾Ý¿â±ØÐë´¦Óڹ鵵ÈÕ־ģʽ¡ ......