SQLʹÓÃ
Êý¾Ý´¦ÀíÊǵ±Ç°Êý¾Ý¿â³£¼ûµÄÓ¦Óá£Ò»Ð©Êý¾Ý¿â×é³ÉDATA mart´ÓÊý¾ÝÔ´Àï³éÈ¡¹ØÐÄµÄ±í½øÐоۺϣ¬½«½á¹ûÍÆË͵½Ëã·¨ÖнøÐд¦Àí£¬´Ó¶ø¸ßÐÔÄܵĻشðÓû§µÄ²éѯ¡£
×ÜËùÖÜÖª£¬LogÎļþÊǼǼÊý¾Ý¿â²Ù×÷µÄÎļþ£¬¶ÔÊý¾Ý¿âµÄÍêÕûÐÔ£¬Ò»ÖÂÐÔÓÐ×ÅÖØÒªµÄÒâÒå¡£×÷ΪÊý¾Ý´¦ÀíµÄÒ»¸ö³£¼ûºó¹ûÊÇLogÎļþµÄ³¬¼¶ÅÓ´ó¡£ËäÈ»½«Êý¾Ý¿âµÄ»Ö¸´Ä£Ê½ÉèÖóÉSimple¿ÉÒÔÌáÐÑÊý¾Ý¿â¾¡Á¿Ê¹ÓÃÒÑÓеÄLog¿Õ¼ä£¬¶ø²»ÊÇÉêÇëÐµģ¬ºóÕß½«»áµ¼ÖÂÎļþµÄÔö³¤¡£µ«ÊǶÔÓڻµÄÊÂÎñ£¬Èç¹ûÒ»¸öÊÂÎñÖмǼµÄLog ÐÐÊýºÜ¶à£¬±ØÈ»»áµ¼ÖÂLogÎļþµÄÅÓ´ó¡£ÓÐʱÕâÖÖÊÂÎñÊDz»ÄܱÜÃâµÄ£¬ÒòΪÖÁÉÙÒ»¸öSQLÓï¾ä¾ÍÊÇÒ»¸öÌìÈ»µÄÊÂÎñ¡£¼ÓÈëÄãµÄUpdateÓï¾äÉæ¼°µ½3ǧÍòÐÐÊý¾Ý£¬½á¹û±ØÈ»µ¼ÖÂÖÚ¶àµÄLogÐб»Ð´È룬µ±Update½áÊøµÄʱºò£¬logÎļþ¾Í»áÔö¼Óµ½200G¡£
ÎÊÌâÊǵ±ÊÂÎñ½áÊøºó£¬logÎļþ²¢²»»áÒòΪÊÂÎñÒѾÌá½»¶ø×Ô¶¯Ëõ¶Ì¡£ºó¹û¾ÍÊÇ10¼¸¸öÊý¾Ý¿âµÄlog Îļþ¶¼´¦ÔÚ×Ô¼ºµÄ×î´óÖµÉÏ£¬Ò²ÐíÕâÐèÒª¼¸¸öTµÄ¿Õ¼ä£¬µ«ÊÂʵÉÏ£¬Í¬Ò»Ê±¿ÌÖ»ÓÐÒ»¸öÊý¾Ý¿âÔڻ£¬Ò²¾ÍÊÇ˵500G¾Í¹»ÁË¡£
ÏÂÃæµÄÕâ¸öSQL¿ÉÒÔ×Ô¶¯Ëõ¶ÌÊý¾Ý¿â·þÎñÆ÷ÉÏËùÓеÄLogÎļþ¡£
declare @ssql nvarchar(4000)
set @ssql= '
if ''?'' not in (''tempdb'',''master'',''model'',''msdb'') begin
use [?]
declare @tsql nvarchar(4000) set @tsql = ''''
declare @iLogFile int
declare LogFiles cursor for
--ÕÒ³öËùÓеÄLogÎļþ£¬LogÎļþµÄstatusÊÇ0x40
select fileid from sysfiles where status & 0x40 = 0x40
open LogFiles
fetch next from LogFiles into @iLogFile
while @@fetch_status = 0
begin
--ʹÓÃDBCCÃû×ÖËõ¶ÌLogÎļþ
set @tsql = @tsql + ''DBCC SHRINKFILE(''+cast(@iLogFile as varchar(5))+''
Ïà¹ØÎĵµ£º
LIKEºÍͨÅä·û
©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥
È·¶¨¸ø¶¨µÄ×Ö·û´®ÊÇ·ñÓëÖ¸¶¨µÄģʽƥÅ䡣ģʽ¿ÉÒÔ°üº¬³£¹æ×Ö·ûºÍͨÅä·û×Ö·û¡£Ä£Ê½Æ¥Åä¹ý³ÌÖУ¬³£¹æ×Ö·û±ØÐëÓë×Ö·û´®ÖÐÖ¸¶¨µÄ×Ö·ûÍêȫƥÅ䡣Ȼ¶ø£¬¿ÉʹÓÃ×Ö·û´®µÄÈÎÒâÆ¬¶ÎÆ¥ÅäͨÅä·û¡£ÓëʹÓÃ
= ºÍ != ×Ö·û´®±È½ÏÔËËã·ûÏà±È£¬Ê¹ÓÃͨÅä·û¿Éʹ LIKE ÔËË ......
int object_id('objectname');
´Ë·½·¨·µ»ØÊý¾Ý¿â¶ÔÏó±êʶºÅ¡£
ÆäÖУ¬²ÎÊýobjectname ±íʾҪʹÓõĶÔÏ󣬯äÊý¾ÝÀàÐÍΪnchar»òchar£¨Èç¹ûΪchar£¬ÏµÍ³½«Æäת»»Îªnchar£©
·µ»ØÀàÐÍΪint£¬±íʾ¸Ã¶ÔÏóÔÚϵͳÖеıàºÅ¡£
±ÈÈ磺
use wf_timesheet
select object_id('usp_check_excess_hours')
·µ»ØÎª197575742¡£
´Ë· ......
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬ÎÒÃǾ³£»áÓõ½hint,ÏÖ×ܽáÒ»ÏÂÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracle HINTµÄÓ÷¨£º
1. /*+ALL_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROWS*/
±í ......