SQL ServerÐÔÄܵĸĽøµÃÒæÓÚÂß¼Êý¾Ý¿âÉè¼Æ (ת)
¡ô1¡¢Ê¹ÓÃË÷ÒýÀ´¸ü¿ìµØ±éÀú±í
ȱʡÇé¿öϽ¨Á¢µÄË÷ÒýÊÇ·ÇȺ¼¯Ë÷Òý£¬µ«ÓÐʱËü²¢²»ÊÇ×î¼ÑµÄ¡£ÔÚ·ÇȺ¼¯Ë÷ÒýÏ£¬Êý¾ÝÔÚÎïÀíÉÏËæ»ú´æ·ÅÔÚÊý¾ÝÒ³ÉÏ¡£ºÏÀíµÄË÷ÒýÉè¼ÆÒª½¨Á¢ÔÚ¶Ô¸÷ÖÖ²éѯµÄ·ÖÎöºÍÔ¤²âÉÏ¡£Ò»°ãÀ´Ëµ£º¢Ù.ÓдóÁ¿Öظ´Öµ¡¢ÇÒ¾³£Óз¶Î§²éѯ£¨between, > ,< £¬> =,< =£©ºÍorder by¡¢group by·¢ÉúµÄÁУ¬¿É¿¼Âǽ¨Á¢Èº¼¯Ë÷Òý£»¢Ú.¾³£Í¬Ê±´æÈ¡¶àÁУ¬ÇÒÿÁж¼º¬ÓÐÖØ¸´Öµ¿É¿¼Âǽ¨Á¢×éºÏË÷Òý£»¢Û.×éºÏË÷ÒýÒª¾¡Á¿Ê¹¹Ø¼ü²éѯÐγÉË÷Òý¸²¸Ç£¬Æäǰµ¼ÁÐÒ»¶¨ÊÇʹÓÃ×îÆµ·±µÄÁС£Ë÷ÒýËäÓÐÖúÓÚÌá¸ßÐÔÄܵ«²»ÊÇË÷ÒýÔ½¶àÔ½ºÃ£¬Ç¡ºÃÏà·´¹ý¶àµÄË÷Òý»áµ¼ÖÂϵͳµÍЧ¡£Óû§ÔÚ±íÖÐÿ¼Ó½øÒ»¸öË÷Òý£¬Î¬»¤Ë÷Òý¼¯ºÏ¾ÍÒª×öÏàÓ¦µÄ¸üй¤×÷¡£
¡ô2¡¢IS NULL Óë IS NOT NULL
²»ÄÜÓÃnull×÷Ë÷Òý£¬Èκΰüº¬nullÖµµÄÁж¼½«²»»á±»°üº¬ÔÚË÷ÒýÖС£¼´Ê¹Ë÷ÒýÓжàÁÐÕâÑùµÄÇé¿öÏ£¬Ö»ÒªÕâЩÁÐÖÐÓÐÒ»Áк¬ÓÐnull£¬¸ÃÁоͻá´ÓË÷ÒýÖÐÅųý¡£Ò²¾ÍÊÇ˵Èç¹ûijÁдæÔÚ¿ÕÖµ£¬¼´Ê¹¶Ô¸ÃÁн¨Ë÷ÒýÒ²²»»áÌá¸ßÐÔÄÜ¡£ÈκÎÔÚwhere×Ó¾äÖÐʹÓÃis null»òis not nullµÄÓï¾äÓÅ»¯Æ÷ÊDz»ÔÊÐíʹÓÃË÷ÒýµÄ¡£
¡ô3¡¢INºÍEXISTS
EXISTSÒªÔ¶±ÈINµÄЧÂʸߡ£ÀïÃæ¹ØÏµµ½full table scanºÍrange scan¡£¼¸ºõ½«ËùÓеÄIN²Ù×÷·û×Ó²éѯ¸ÄдΪʹÓÃEXISTSµÄ×Ó²éѯ¡£
¡ô4¡¢ÔÚº£Á¿²éѯʱ¾¡Á¿ÉÙÓøñʽת»»¡£
¡ô5¡¢µ±ÔÚSQL SERVER 2000ÖУ¬Èç¹û´æ´¢¹ý³ÌÖ»ÓÐÒ»¸ö²ÎÊý£¬²¢ÇÒÊÇOUTPUTÀàÐ͵쬱ØÐëÔÚµ÷ÓÃÕâ¸ö´æ´¢¹ý³ÌµÄʱºò¸øÕâ¸ö²ÎÊýÒ»¸ö³õʼµÄÖµ£¬·ñÔò»á³öÏÖµ÷ÓôíÎó¡£
¡ô6¡¢ORDER BYºÍGROPU BY
ʹÓÃORDER BYºÍGROUP BY¶ÌÓÈκÎÒ»ÖÖË÷Òý¶¼ÓÐÖúÓÚSELECTµÄÐÔÄÜÌá¸ß¡£×¢ÒâÈç¹ûË÷ÒýÁÐÀïÃæÓÐNULLÖµ£¬Optimizer½«ÎÞ·¨ÓÅ»¯¡£
¡ô7¡¢ÈκζÔÁеIJÙ×÷¶¼½«µ¼Ö±íɨÃ裬Ëü°üÀ¨Êý¾Ý¿âº¯Êý¡¢¼ÆËã±í´ïʽµÈµÈ£¬²éѯʱҪ¾¡¿ÉÄܽ«²Ù×÷ÒÆÖÁµÈºÅÓұߡ£
¡ô8¡¢IN¡¢OR×Ӿ䳣»áʹÓù¤×÷±í£¬Ê¹Ë÷ÒýʧЧ¡£Èç¹û²»²úÉú´óÁ¿Öظ´Öµ£¬¿ÉÒÔ¿¼ÂǰÑ×Ó¾ä²ð¿ª¡£²ð¿ªµÄ×Ó¾äÖÐÓ¦¸Ã°üº¬Ë÷Òý¡£
¡ô9¡¢SET SHOWPLAN_ALL ON ²é¿´Ö´Ðз½°¸¡£DBCC¼ì²éÊý¾Ý¿âÊý¾ÝÍêÕûÐÔ¡£
DBCC(DataBase Consistency Checker£©ÊÇÒ»×éÓÃÓÚÑéÖ¤ SQL Server Êý¾Ý¿âÍêÕûÐԵijÌÐò¡£
¡ô10¡¢É÷ÓÃÓαê
ÔÚijЩ±ØÐëʹÓÃÓαêµÄ³¡ºÏ£¬¿É¿¼Âǽ«·ûºÏÌõ¼þµÄÊý¾ÝÐÐתÈëÁÙʱ±íÖУ¬ÔÙ¶ÔÁÙʱ±í¶¨ÒåÓÎ±ê½øÐвÙ×÷£¬ÕâÑù¿ÉʹÐÔÄܵõ½Ã÷ÏÔÌá¸ß¡£
ÓÅ»¯Êý¾Ý¿âµÄ
Ïà¹ØÎĵµ£º
ÊìϤSQL SERVER 2000µÄÊý¾Ý¿â¹ÜÀíÔ±¶¼ÖªµÀ£¬ÆäDTS¿ÉÒÔ½øÐÐÊý¾ÝµÄµ¼Èëµ¼³ö£¬Æäʵ£¬ÎÒÃÇÒ²¿ÉÒÔʹÓÃTransact-SQLÓï¾ä½øÐе¼Èëµ¼³ö²Ù×÷¡£ÔÚTransact-SQLÓï¾äÖУ¬ÎÒÃÇÖ÷ҪʹÓÃOpenDataSourceº¯Êý¡¢OPENROWSET º¯Êý£¬¹ØÓÚº¯ÊýµÄÏêϸ˵Ã÷£¬Çë²Î¿¼SQLÁª»ú°ïÖú¡£ÀûÓÃÏÂÊö·½·¨£¬¿ÉÒÔÊ®·ÖÈÝÒ×µØÊµÏÖSQL SERVER¡¢ACCESS¡¢EXCELÊý¾ ......
¡¡¡¡ÈÕǰSQL INJECTIONµÄ¹¥»÷²âÊÔÓúÑÝÓúÁÒ£¬ºÜ¶à´óÐ͵ÄÍøÕ¾ºÍÂÛ̳¶¼Ïà¼Ì±»×¢Èë¡£ÕâÐ©ÍøÕ¾Ò»°ãʹÓõĶàΪSQL SERVERÊý¾Ý¿â£¬ÕýÒòΪÈç´Ë£¬ºÜ¶àÈË¿ªÊ¼»³ÒÉSQL SERVERµÄ°²È«ÐÔ¡£ÆäʵSQL SERVER 2000ÒѾͨ¹ýÁËÃÀ¹úÕþ¸®µÄC2¼¶°²È«ÈÏÖ¤-ÕâÊǸÃÐÐÒµËùÄÜÓµÓеÄ×î¸ßÈÏÖ¤¼¶±ð£¬ËùÒÔʹÓÃSQL SERVER»¹ÊÇÏ൱µÄ°²È«µÄ¡£µ±È»ºÍORCAL¡¢DB2µ ......
Ò»£ºC# Á¬½ÓSQLÊý¾Ý¿â
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
Server=myServerAddress;Database=myDataBase;User ID=myUse ......
¡¡¡¡×ܵÄÀ´Ëµ£¬MS SQL 2005µÄ°²È«ÐÔ±ÈSQL 2000ҪǿÉϲ»ÉÙ£¬²»¹ýĬÈÏÉèÖû¹ÊÇÓкÍÔÀ´Ò»ÑùµÄ©¶´£¬ÏÂÃæÎÒÃÇÀ´ÐÞ¸ÄÒ»ÏÂĬÈÏÉèÖá£
¡¡¡¡1¡¢ÐÞ¸ÄĬÈÏ£Ó£ÁÃÜÂë¡£
¡¡¡¡°²×°MSSQLʱʹÓûìºÏģʽ£¬µ±È»SAÃÜÂë×îºÃ²»ÄÜΪ¿Õ£¬ÔÚSQL2005ÖУ¬¿ÉÒÔ¶ÔSAÕâ¸ö³¬¼¶Óû§Ãû½øÐÐÐ޸Ļòɾ³ý¡£
use master
ALTER LOGIN [ ......
1 Âß¼Êý¾Ý¿âºÍ±íµÄÉè¼Æ
¡¡¡¡Êý¾Ý¿âµÄÂß¼Éè¼Æ¡¢°üÀ¨±íÓë±íÖ®¼äµÄ¹ØÏµÊÇÓÅ»¯¹ØÏµÐÍÊý¾Ý¿âÐÔÄܵĺËÐÄ¡£Ò»¸öºÃµÄÂß¼Êý¾Ý¿âÉè¼Æ¿ÉÒÔΪÓÅ»¯Êý¾Ý¿âºÍÓ¦ÓóÌÐò´òÏÂÁ¼ºÃµÄ»ù´¡¡£
¡¡¡¡±ê×¼»¯µÄÊý¾Ý¿âÂß¼Éè¼Æ°üÀ¨ÓöàµÄ¡¢ÓÐÏ໥¹ØÏµµÄÕ±íÀ´´úÌæºÜ¶àÁеij¤Êý¾Ý±í¡£ÏÂÃæÊÇһЩʹÓñê×¼»¯±íµÄһЩºÃ´¦¡£
A:ÓÉÓÚ±íÕ£¬Òò´Ë¿É ......