SQL ServerÊÓͼ¹ÜÀíÖеÄÏÞÖÆÌõ¼þ
Ô´´ ³ÁÂÙ 2010-02-09
¡¡¡¡Í¨¹ýÊÓͼÀ´·ÃÎÊÊý¾Ý£¬ÆäÓŵãÊǷdz£Ã÷ÏԵġ£Èç¿ÉÒÔÆðµ½Êý¾Ý±£ÃÜ¡¢±£Ö¤Êý¾ÝµÄÂß¼¶ÀÁ¢ÐÔ¡¢¼ò»¯²éѯ²Ù×÷µÈµÈ¡£
¡¡¡¡µ«ÊÇ£¬»°Ëµ»ØÀ´£¬SQL ServerÊý¾Ý¿âÖеÄÊÓͼ²¢²»ÊÇÍòÄܵģ¬Ëü¸ú±íÕâ¸ö»ù±¾¶ÔÏó»¹ÊÇÓÐÖØ´óµÄÇø±ð¡£ÔÚʹÓÃÊÓͼµÄʱºò£¬ÐèÒª×ñÊØËÄ´óÏÞÖÆ¡£
¡¡¡¡ÏÞÖÆÌõ¼þÒ»£ºÊÓͼÊý¾ÝµÄ¸ü¸Ä
¡¡¡¡µ±Óû§¸üÐÂÊÓͼÖеÄÊý¾Ýʱ£¬Æäʵ¸ü¸ÄµÄÊÇÆä¶ÔÓ¦µÄÊý¾Ý±íµÄÊý¾Ý¡£ÎÞÂÛÊǶÔÊÓͼÖеÄÊý¾Ý½øÐиü¸Ä£¬»¹ÊÇÔÚÊÓͼÖвåÈë»òÕßɾ³ýÊý¾Ý£¬¶¼ÊÇÀàËƵĵÀÀí¡£µ«ÊÇ£¬²»ÊÇËùÓÐÊÓͼ¶¼¿ÉÒÔ½øÐиü¸Ä¡£ÈçÏÂÃæµÄÕâЩÊÓͼ£¬ÔÚSQL ServerÊý¾Ý¿âÖоͲ»Äܹ»Ö±½Ó¶ÔÆäÄÚÈݽøÐиüУ¬·ñÔò£¬ÏµÍ³»á¾Ü¾øÕâÖÖ·Ç·¨µÄ²Ù×÷¡£
¡¡¡¡ÈçÔÚÒ»¸öÊÓͼÖУ¬Èô²ÉÓÃGroup By×Ӿ䣬¶ÔÊÓͼÖеÄÄÚÈݽøÐÐÁË»ã×Ü¡£ÔòÓû§¾Í²»Äܹ»¶ÔÕâÕÅÊÓͼ½øÐиüС£ÕâÖ÷ÒªÊÇÒòΪ²ÉÓÃGroup By×Ó¾ä¶Ô²éѯ½á¹û½øÐлã×ÜÔÚºó£¬ÊÓͼÖоͻᶪʧÕâÌõ¼Ç¼µÄÎïÀí´æ´¢Î»Öá£Èç´Ë£¬ÏµÍ³¾ÍÎÞ·¨ÕÒµ½ÐèÒª¸üеļǼ¡£ÈôÓû§ÏëÒªÔÚÊÓͼÖиü¸ÄÊý¾Ý£¬ÔòÊý¾Ý¿â¹ÜÀíÔ±¾Í²»Äܹ»ÔÚÊÓͼÖÐÌí¼ÓÕâ¸öGroup BY·Ö×éÓï¾ä¡£
¡¡¡¡Èç²»Äܹ»Ê¹ÓÃDistinct¹Ø¼ü×Ö¡£Õâ¸ö¹Ø¼ü×ÖµÄÓÃ;¾ÍÊÇÈ¥³ýÖظ´µÄ¼Ç¼¡£ÈçûÓÐÌí¼ÓÕâ¸ö¹Ø¼ü×ÖµÄʱºò£¬ÊÓͼ²éѯ³öÀ´µÄ¼Ç¼ÓÐ250Ìõ¡£Ìí¼ÓÁËÕâ¸ö¹Ø¼ü×Öºó£¬Êý¾Ý¿â¾Í»áÌÞ³ýÖظ´µÄ¼Ç¼£¬Ö»ÏÔʾ²»Öظ´µÄ50Ìõ¼Ç¼¡£´Ëʱ£¬ÈôÓû§Òª¸Ä±äÆäÖÐÒ»¸öÊý¾Ý£¬ÔòÊý¾Ý¿â¾Í²»ÖªµÀÆäµ½µ×ÐèÒª¸ü¸ÄÄÄÌõ¼Ç¼¡£ÒòΪÊÓͼÖп´ÆðÀ´Ö»ÓÐÒ»Ìõ¼Ç¼£¬¶øÔÚ»ù´¡±íÖпÉÄܶÔÓеļǼÓм¸Ê®Ìõ¡£Îª´Ë£¬ÈôÔÚÊÓͼÖвÉÓÃÁËDistinct¹Ø¼ü×ֵĻ°£¬¾ÍÎÞ·¨¶ÔÊÓͼÖеÄÄÚÈݽøÐиü¸Ä¡£
¡¡¡¡Èç¹ûÔÚÊÓͼÖÐÓÐAVG¡¢MAXµÈº¯Êý£¬ÔòÒ²²»Äܹ»¶ÔÆä½øÐиüС£ÈçÔÚÒ»ÕÅÊÓͼÖУ¬Æä²ÉÓÃÁËSUNº¯ÊýÀ´»ã×ÜÔ±¹¤µÄ¹¤×Êʱ£¬´Ëʱ£¬¾Í²»Äܹ»¶ÔÕâÕűí½øÐиüС£ÕâÊÇÊý¾Ý¿âΪÁ˱£ÕÏÊý¾ÝÒ»ÖÂÐÔËùÌí¼ÓµÄÏÞÖÆÌõ¼þ¡£
¡¡¡¡¿É¼û£¬ÊÓͼËäÈ»·½±ã¡¢°²È«£¬µ«ÊÇ£¬ÆäÈÔÈ»²»Äܹ»´úÌæ±íµÄµØλ¡£µ±ÐèÒª¶ÔһЩ±íÖеÄÊý¾Ý½øÐиüÐÂʱ£¬ÎÒÃÇÍùÍù¸ü¶àµÄͨ¹ý¶Ô±íµÄ²Ù×÷À´Íê³É¡£ÒòΪ¶ÔÊÓͼÄÚÈݽøÐÐÖ±½Ó¸ü¸ÄµÄ»°£¬ÐèÒª×ñÊØһЩÏÞÖÆÌõ¼þ¡£ÔÚʵ¼Ê¹¤×÷ÖУ¬¸ü¶àµÄ´¦Àí¹æÔòÊÇͨ¹ýǰ̨³ÌÐòÖ±½Ó¸ü¸Äºǫ́»ù´¡±í¡£ÖÁÓÚÕâЩ±íÖÐÊý¾ÝµÄ°²È«ÐÔ£¬ÔòÒªÒÀ¿¿Ç°Ì¨Ó¦ÓóÌÐòÀ´±£»¤¡£È·±£¸ü¸ÄµÄ׼ȷÐÔ¡¢ºÏ·¨ÐÔ¡£
¡¡¡¡ÏÞÖÆÌõ¼þ¶þ£º¶¨ÒåÊÓͼµÄ²éѯÓï¾äÖв»Äܹ»Ê¹ÓÃijЩ¹Ø¼ü×Ö
¡¡¡¡ÎÒÃǶ¼ÖªµÀ£¬ÊÓͼÆäʵ¾ÍÊÇÒ»×é²éѯÓï¾ä×é³É¡£»òÕß˵£¬ÊÓͼÊÇ·â×°²éѯÓï¾äµÄÒ»¸ö¹¤¾ß¡£ÔÚ²éѯÓï¾äÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÒ
Ïà¹ØÎĵµ£º
select * from tableName where datediff(week,dateField,getdate())=0
ÕâÑù²é³öÀ´µÄ½á¹ûÊÇ´ÓÐÇÆÚÌìµ½ÐÇÆÚÁù(ÀÏÍâĬÈÏÐÇÆÚÌìÊÇÒ»ÖܵĵÚÒ»Ìì).
Èç¹ûÏëÒÔÐÇÆÚÒ»×÷ΪµÚÒ»ÌìµÄ»°,Á½¸öʱ¼ä¶¼ÐèÒª¼õÒ»,ÈçÏÂ:
select * from tableName where datediff(week,dateField-1,getdate()-1)=0 ......
//--Ìí¼Ó·þÎñÆ÷
EXEC sp_addlinkedserver
@server='LQXLSJ-600A5A60',--±»·ÃÎʵķþÎñÆ÷±ðÃû
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='LQXLSJ-600A5A60' --Òª·ÃÎ ......
MSSQL»¹ÔÊý¾Ý¿âʧ°Ü£¬ÌáʾÈçÏ£º »¹Ô¶ÔÓë·þÎñÆ÷ ʧ°Ü¡£(Microsoft.SqlServer.Smo) ÆäËüÐÅÏ¢£º ©§ ©»¡úÖ´ÐÐTransact-SQLÓï¾ä»òÅú´¦Àíʱ·¢ÉúÒì³£¡££¨Microsoft.SqlServer.ConnectionsInfo£© ©§ ©»¡ú²»ÄÜÑ¡ÔñÎļþ»òÎļþ×é¡°¡¡¡±ÓÃÓڴ˲Ù×÷¡£ RESTORE DATABASE ÕýÔÚÒì³£ÖÕÖ¹¡££¨Microsoft SQL Server, ´íÎó£º3219£© ³öÏÖ´Ë ......
Çå¿ÕÈÕÖ¾
1£®´ò¿ª²éѯ·ÖÎöÆ÷£¬ÊäÈëÃüÁî
DUMP TRANSACTION Êý¾Ý¿âÃû WITH NO_LOG
2.ÔÙ´ò¿ªÆóÒµ¹ÜÀíÆ÷--ÓÒ¼üÄãҪѹËõµÄÊý¾Ý¿â--ËùÓÐÈÎÎñ--ÊÕËõÊý¾Ý¿â--ÊÕËõÎļþ--Ñ¡ÔñÈÕÖ¾Îļþ--ÔÚÊÕËõ·½Ê½ÀïÑ¡ÔñÊÕËõÖÁXXM,ÕâÀï»á¸ø³öÒ»¸öÔÊÐíÊÕËõµ½µÄ×îСMÊý,Ö±½ÓÊäÈëÕâ¸öÊý,È·¶¨¾Í¿ÉÒÔÁË¡£
......
¿´ÁËһƪ½²×ù£¬Ëµµ½Êý¾Ý²ã·ÖÒ³¼¼Êõ£¬Óõ½ÁË4Öз½Ê½£¬1£©Ê¹ÓÃtop *top 2)ʹÓñí±äÁ¿ 3£©Ê¹ÓÃÁÙʱ±í 4£©Ê¹ÓÃROW_NUMBERº¯Êý¡£
ÆäÖÐ×î¿ìµÄÊǵÚ1 ºÍµÚ4Öз½Ê½£¬½ÓÏÂÀ´ÎÒÃÇÀ´¿´¿´ÕâÁ½ÖÖ·½Ê½£º
ÎÒÃÇʹÓÃsql2005×Ô´øµÄÊý¾Ý¿â AdventureWorks²âÊÔ£¬
1£©
--Use Top*Top
DECLARE @Start datetime,@end datetim ......