SQL ServerÊý¾Ý¿âÊÂÎñÈÕÖ¾ÐòÁкÅ(LSN)½éÉÜ
ÈÕÖ¾ÐòÁбàºÅ(LSN)ÊÇÊÂÎñÈÕÖ¾ÀïÃæÃ¿Ìõ¼Ç¼µÄ±àºÅ¡£
µ±ÄãÖ´ÐÐÒ»´Î±¸·Ýʱ£¬Ò»Ð©LSNÖµ¾Í±»Í¬Ê±´æ´¢ÔÚÎļþ±¾Éí¼°msdb..backupset±íÖС£Äã¿ÉÒÔʹÓÃRESTORE HEADERONLYÓï·¨À´´Ó±¸·ÝÎļþÖлñÈ¡LSNÖµ¡£
×¢Ò⣺ÔÚSQL Server 2000ÖУ¬ÓÐÒ»ÁнÐ×öDifferentialBaseLSN¡£µ«ÔÚSQL Server 2005ÖУ¬ÏàͬµÄÁÐÃû³Æ±ä³ÉÁËDatabaseBackupLSN¡£Õý½âµÄÁÐÃûÓ¦¸ÃÊÇDatabaseBackupLSN£¬Õâ¸öÃû³Æ²ÅÄܱí´ï³öËüµÄÒâÒ壬Äã¿ÉÒÔ´ÓSQL Server 2000µÄÁª»ú´ÔÊéÖÐÕÒµ½Ïà¹ØËµÃ÷¡£
FirstFSNÖµÊDZ¸·ÝÉ豸ÖеÚÒ»¸öÊÂÎñµÄÈÕÖ¾ÐòÁкţ¬LastLSNÖµÊÇ×îºóÒ»¸ö¡£CheckpointLSNÖµÊÇ×î½üÒ»´ÎcheckpointÈÕÖ¾µÄÐòÁкš£DatabaseBackupLSNÊÇ×î½üÒ»´ÎÊý¾Ý¿âÍêÕû±¸·ÝµÄÈÕÖ¾ÐòÁкš£
ÄÇôLSNÖµ¶ÔÎÒÃÇÀ´Ëµ£¬ÓÐʲô¼ÛֵĨ£¿¶ÔÓÚ²îÒ챸·ÝÉ豸À´Ëµ£¬DatabaseBackupLSNÖµ¿ÉÒÔ¸æËßÎÒÃÇÊý¾Ý¿âÍêÕû±¸·Ý¶¼ÐèÒªÄÄЩ²îÒ챸·Ý¡£ÄãÐèÒªÕÒ³öËùÓÐCheckpointLSNÖµÏàͬµÄÍêÕû±¸·ÝºÍ²îÒ챸·Ý¡£
¶ÔÓÚÒ»¸öÊÂÎñÈÕÖ¾±¸·ÝÀ´Ëµ£¬ÔÚÊý¾Ý¿â»¹Ô¹ý³ÌÖУ¬FirstLSNºÍLastLSNÖµ¿ÉÒÔ°ïÖúÎÒÃǶÔÊÂÎñÈÕÖ¾Îļþ°´ÐòºÅ½øÐÐÅÅÐò¡£
¼ÙÈçÊý¾Ý¿âÕý´¦ÓÚ»¹Ô״̬£¬¶øÇÒÕýÔڵȴýÁíÍâµÄ»¹ÔÊÂÎñÈÕÖ¾£¬ÄÇÄãÔõôÄÜ·Ö±æ³öËüµ±Ç°µÄLastLSNÖµ£¬ÒÔ±ãÄã×Ô¼ºÇå³þÏÂÒ»²½Ó¦¸ÃÓ¦ÓÃÄĸöÈÕ־Ĩ£¿Ã»¹ØÏµ£¬msdb..restorehistory±í´æ´¢ÁËÿһ¸öÊý¾Ý¿â»¹ÔÐÅÏ¢¡£Äã¿ÉÒÔÒýÓÃmsdb..backupset±í£¬Äã¿ÉÒÔÕÒÏÖ´æ´¢ÊÂÎñÈÕÖ¾µÄ×îºóÒ»¸öÊÂÎñÈÕÖ¾±¸·Ý£¬ËüµÄLastLSN²éѯÓï¾äÈçÏ£º
SELECT TOP 1 b.type, b.first_lsn, b.last_lsn, b.checkpoint_lsn, b.database_backup_lsn
from msdb..restorehistory a
INNER JOIN msdb..backupset b ON a.backup_set_id = b.backup_set_id
WHERE a.destination_database_name = 'AdventureWorks'
ORDER BY restore_date DESC
±¾ÎÄ·Òë×Ôsqlbackuprestore£¬¸ü¶à¾«²ÊÄÚÈÝÇëä¯ÀÀhttp://www.sqlbackuprestore.com
Ïà¹ØÎĵµ£º
--------------------------------------------------------------------
-- ×÷ÕߣºÕŰ®¹ú
-- ÈÕÆÚ£º2010-01-23 15:00:17
-- ÃèÊö: һЩ±È½ÏÓÐÒâ˼µÄSQLÓï¾ä
-- Version:
-- Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86)
-- Feb 9 2007 22:47:0 ......
group byÖ÷ÒªÊÇÓÃÀ´·Ö×éµÄ£¬Ôõô¸ö·Ö×éÄØ£¿
ÒÔÏÂÓÃÁ½¸öÀý×Ó˵Ã÷Á½¸öʹÓ÷½Ã棬1ÊǺÏÀíµÄ·µ»ØºÏ¼ÆÖµ£¨·ÀÖ¹µÑ¿¨¶û»ýÏÖÏ󣩣¬2ÊÇÓ÷Ö×éÀ´ÕÒ³öÖØ¸´µÄ¼Ç¼
====================================================================
¡ï¡ï¡ïÀý×Ó1£º¼ÙÈçÓÐÕâôһ¸ö±í£ºtab_1£¬ËüÓÐÁ½¸ö×ֶΣºxm¡¢gzlb¡¢je£¨ÐÕÃû¡¢¹¤×ÊÀà±ð¡¢½ð¶î£© ......
select *
from
(select [id]=row_number() over (order by getdate()),
date=convert(varchar(8),dateadd(dd,number,'2010-01-01'),112)
from
(select number from master..spt ......
Èç¹ûÄãµÄÊý¾Ý¿âÔËÐÐÔÚÍêÕû»òÊÇÅúÁ¿ÈÕÖ¾»Ö¸´Ä£Ê½Ï£¬ÄÇôÄã¾ÍÐèҪʹÓÃ×÷Òµ(job)À´¶¨ÆÚ±¸·ÝÊÂÎñÈÕÖ¾£¬±£³ÖÄãµÄÊÂÎñÎļþ´óС´¦ÔÚÒ»¸ö¿É¹ÜÀíµÄ·¶Î§¡£µ±ÄãÐèÒª»¹ÔÊÂÎñÈÕ־ʱ£¬Äã¾ÍÐèÒª°´ÕÕ´´½¨ÊÂÎñÈÕÖ¾µÄ˳ÐòÀ´»Ö¸´ËüÃÇ¡£Äã¿ÉÒԲο¼´æÔÚmsdb..backupset±íÖеÄÐÅÏ¢À´È·¶¨»¹ÔÎļþµÄ˳Ðò£¬Ê¹ÓÃFirstLSNºÍLastLSNÁеÄÖµ×÷²Î¿¼¡£µ±Ä ......
Sql Server ÓÐÈçϼ¸Ö־ۺϺ¯ÊýSUM¡¢AVG¡¢COUNT¡¢COUNT(*)¡¢MAX ºÍ MIN£¬µ«ÊÇÕâЩº¯Êý¶¼Ö»ÄܾۺÏÊýÖµÀàÐÍ£¬ÎÞ·¨¾ÛºÏ×Ö·û´®¡£Èçϱí:AggregationTable
Id Name
1 ÕÔ
2 Ç®
1 Ëï
1 Àî
2 ÖÜ
Èç¹ûÏëµÃµ½ÏÂͼµÄ¾ÛºÏ½á¹û
Id Name
1 ÕÔËïÀî
2 Ç®ÖÜ
ÀûÓÃSUM¡¢AVG¡¢COUNT¡¢COUNT(*)¡¢MAX ºÍ MINÊÇÎÞ·¨×öµ½µ ......