Ëø³õ̽(sqlserver 2005)
HOLDLOCK ½«¹²ÏíËø±£Áôµ½ÊÂÎñÍê³É£¬¶ø²»ÊÇÔÚÏàÓ¦µÄ±í¡¢ÐлòÊý¾ÝÒ³²»ÔÙÐèҪʱ¾ÍÁ¢¼´ÊÍ·ÅËø¡£HOLDLOCK µÈͬÓÚ SERIALIZABLE¡£
NOLOCK ²»Òª·¢³ö¹²ÏíËø£¬²¢ÇÒ²»ÒªÌṩÅÅËüËø¡£µ±´ËÑ¡ÏîÉúЧʱ£¬¿ÉÄÜ»á¶ÁȡδÌá½»µÄÊÂÎñ»òÒ»×éÔÚ¶ÁÈ¡ÖÐ¼ä»Ø¹öµÄÒ³Ãæ¡£ÓпÉÄÜ·¢ÉúÔà¶Á¡£½öÓ¦ÓÃÓÚ SELECT Óï¾ä¡£
PAGLOCK ÔÚͨ³£Ê¹Óõ¥¸ö±íËøµÄµØ·½²ÉÓÃÒ³Ëø¡£
READCOMMITTED ÓÃÓëÔËÐÐÔÚÌá½»¶Á¸ôÀë¼¶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃ衣ĬÈÏÇé¿öÏ£¬SQL Server 2000 Ôڴ˸ôÀë¼¶±ðÉϲÙ×÷¡£ READPAST Ìø¹ýËø¶¨ÐС£´ËÑ¡Ïîµ¼ÖÂÊÂÎñÌø¹ýÓÉÆäËüÊÂÎñËø¶¨µÄÐУ¨ÕâЩÐÐÆ½³£»áÏÔʾÔÚ½á¹û¼¯ÄÚ£©£¬¶ø²»ÊÇ×èÈû¸ÃÊÂÎñ£¬Ê¹ÆäµÈ´ýÆäËüÊÂÎñÊÍ·ÅÔÚÕâЩÐÐÉϵÄËø¡£READPAST ËøÌáʾ½öÊÊÓÃÓÚÔËÐÐÔÚÌá½»¶Á¸ôÀë¼¶±ðµÄÊÂÎñ£¬²¢ÇÒÖ»ÔÚÐм¶ËøÖ®ºó¶ÁÈ¡¡£½öÊÊÓÃÓÚ SELECT Óï¾ä¡£ READUNCOMMITTED µÈͬÓÚ NOLOCK¡£
REPEATABLEREAD ÓÃÓëÔËÐÐÔÚ¿ÉÖØ¸´¶Á¸ôÀë¼¶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃè¡£
ROWLOCK ʹÓÃÐм¶Ëø£¬¶ø²»Ê¹ÓÃÁ£¶È¸ü´ÖµÄÒ³¼¶ËøºÍ±í¼¶Ëø¡£
SERIALIZABLE ÓÃÓëÔËÐÐÔÚ¿É´®ÐжÁ¸ôÀë¼¶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃè¡£µÈͬÓÚ HOLDLOCK¡£
TABLOCK ʹÓñíËø´úÌæÁ£¶È¸üϸµÄÐм¶Ëø»òÒ³¼¶Ëø¡£ÔÚÓï¾ä½áÊøÇ°£¬SQL Server Ò»Ö±³ÖÓиÃËø¡£µ«ÊÇ£¬Èç¹ûͬʱָ¶¨ HOLDLOCK£¬ÄÇôÔÚÊÂÎñ½áÊøÖ®Ç°£¬Ëø½«±»Ò»Ö±³ÖÓС£ TABLOCKX ʹÓñíµÄÅÅËüËø¡£¸ÃËø¿ÉÒÔ·ÀÖ¹ÆäËüÊÂÎñ¶ÁÈ¡»ò¸üÐÂ±í£¬²¢ÔÚÓï¾ä»òÊÂÎñ½áÊøÇ°Ò»Ö±³ÖÓС£
UPDLOCK ¶ÁÈ¡±íʱʹÓøüÐÂËø£¬¶ø²»Ê¹Óù²ÏíËø£¬²¢½«ËøÒ»Ö±±£Áôµ½Óï¾ä»òÊÂÎñµÄ½áÊø¡£UPDLOCK µÄÓŵãÊÇÔÊÐíÄú¶ÁÈ¡Êý¾Ý£¨²»×èÈûÆäËüÊÂÎñ£©²¢ÔÚÒÔºó¸üÐÂÊý¾Ý£¬Í¬Ê±È·±£×Ô´ÓÉϴζÁÈ¡Êý¾ÝºóÊý¾ÝûÓб»¸ü¸Ä¡£
XLOCK ʹÓÃÅÅËüËø²¢Ò»Ö±±£³Öµ½ÓÉÓï¾ä´¦ÀíµÄËùÓÐÊý¾ÝÉϵÄÊÂÎñ½áÊøÊ±¡£
¿ÉÒÔʹÓà PAGLOCK »ò TABLOCK Ö¸¶¨¸ÃËø£¬ÕâÖÖÇé¿öÏÂÅÅËüËøÊÊÓÃÓÚÊʵ±¼¶±ðµÄÁ£¶ÈËøµÄ¸ÅÊö
Ò». ΪʲôҪÒýÈëËø
¶à¸öÓû§Í¬Ê±¶ÔÊý¾Ý¿âµÄ²¢·¢²Ù×÷ʱ»á´øÀ´ÒÔÏÂÊý¾Ý²»Ò»ÖµÄÎÊÌâ: ¶ªÊ§¸üÐÂ
A,BÁ½¸öÓû§¶ÁͬһÊý¾Ý²¢½øÐÐÐÞ¸Ä,ÆäÖÐÒ»¸öÓû§µÄÐ޸Ľá¹ûÆÆ»µÁËÁíÒ»¸öÐ޸ĵĽá¹û,±ÈÈ綩Ʊϵͳ
Ôà¶Á
AÓû§ÐÞ¸ÄÁËÊý¾Ý,ËæºóBÓû§ÓÖ¶Á³ö¸ÃÊý¾Ý,µ«AÓû§ÒòΪijЩÔÒòÈ¡ÏûÁ˶ÔÊý¾ÝµÄÐÞ¸Ä,Êý¾Ý»Ö¸´ÔÖµ,´ËʱBµÃµ½µÄÊý¾Ý¾ÍÓëÊý¾Ý¿âÄÚµÄÊý¾Ý²úÉúÁ˲»Ò»ÖÂ
²»¿ÉÖØ¸´¶Á
AÓû§¶ÁÈ¡Êý¾Ý,ËæºóBÓû§¶Á³ö¸ÃÊý¾Ý²¢ÐÞ¸
Ïà¹ØÎĵµ£º
»ñÈ¡sqlserverÊý¾Ý¿âÖÐËùÓп⡢±í¡¢×Ö¶ÎÃûµÄ·½·¨
2009Äê03ÔÂ12ÈÕ ÐÇÆÚËÄ ÏÂÎç 12:51
1.»ñÈ¡ËùÓÐÊý¾Ý¿âÃû:
SELECT Name from Master..SysDatabases ORDER BY Name
2.»ñÈ¡ËùÓбíÃû:
SELECT Name from DatabaseName..SysObjects Where XType='U' ORDER BY Name
XType='U':±íʾËùÓÐÓû§±í;
XType='S':±íʾËùÓÐϵͳ± ......
SQL SERVERÊý¾Ý¿â¿ª·¢µÄ¶þʮһÌõ¾ü¹æ
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»»ùÓÚSQL SERVER µÄÏîÄ¿£¬»òÕ߸ոսӴ¥SQL SERVER£¬Äã¿ÉÄܽ«ÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌâ¡£ÕâÆªÎÄÕ»áÌṩһЩÓÐÓõľÑé-----¹ØÓÚÈçºÎÐγɺõÄÉè¼Æ¡£
Ò»¡¢Á˽âÄãÓõŤ¾ß
²»ÒªÇáÊÓÕâÒ»µã£¬ÕâÊDZ¾ÎÄ×î¹Ø¼üµÄÒ»Ìõ¡£Ò²ÐíÄãÒ²¿´µ½ÓкܶàµÄSQL SERVER³ÌÐòԱûÓÐÕÆÎÕÈ«²¿µÄT- ......
sqlserver2005Óйؼü×Öntile(x)ºÍover(partition by.. order by..)×Ó¾äÅäºÏ.
±ÈÈç»ñȡÿ¸ö±íµÄǰ10%¸ö×ֶΡ£
select id , name , colid , rn from (
select * , rn = ntile (10 )
over (partition by id order by colorder )
from syscolumns )t where rn = 1 ......
SQLServer2005·Ö½â²¢µ¼ÈëxmlÎļþ ÊÕ²Ø
²âÊÔ»·¾³SQL2005£¬windows2003
DECLARE @idoc int;
DECLARE @doc xml;
SELECT @doc=bulkcolumn from OPENROWSET(
BULK 'D: \test.xml',
SINGLE_BLOB) AS x
EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc
......
ÔÚGoogleÉÏʹÓÓsql ·ÖÒ³”¹Ø¼ü×Ö½øÐÐËÑË÷£¬¼¸ºõËùÓеĴ𰸶¼ÊÇÄÇÈýÌõ¡£Æä¶þЧÂÊ×î¸ß£¬ÆäÈýʹÓÃÓα꣬ЧÂÊ×î²î¡£
ÏÂÃæÊÇÄÇÈýÖÖ·½·¨ £¨²åÈë´úÂëûÓÐsqlÑ¡Ï
·½·¨1£º
ÊÊÓÃÓÚ SQL Server 2000/2005
SELECT TOP Ò³´óС *
from table1
WHERE ......