ʹÓà SQL Server Profiler µÄ實Àý
ʹÓà SQL Server ʼþ̽²éÆ÷µÄ·½°¸
ʹÓà SQL Server ProfilerµÄµÚÒ»²½ÊÇÈ·¶¨¼àÊÓ SQL Server ʵÀýµÄÔÒò¡£±¾Ö÷ÌâÌÖÂÛʹÓà SQL Server ProfilerÊÕ¼¯¸ú×ÙÐÅÏ¢µÄµäÐÍ·½°¸¡£
ʹÓà SQL Server ProfilerµÄµäÐÍ·½°¸°üÀ¨£º
²éÕÒÖ´ÐÐÇé¿ö×î²îµÄ²éѯ¡£
ÀýÈ磬¿ÉÒÔ´´½¨Ò»¸ö²¶»ñÓë TSQL ºÍ Stored Procedure ʼþÀࣨRPC:Completed ºÍ SQL:BatchCompleted£©Ïà¹ØµÄʼþµÄ¸ú×Ù¡£Ôڴ˸ú×ÙÖаüÀ¨ËùÓÐÊý¾ÝÁУ¬°´ Duration ·Ö×é²¢Ö¸¶¨Ê¼þ×¼Ôò¡£ÀýÈ磬Èç¹ûÖ¸¶¨Ê¼þµÄ Duration ±ØÐëÖÁÉÙΪ 10000 ΢Ã룬Ôò¿ÉÒÔ´Ó¸ú×ÙÖÐÇå³ý³ÖÐøÊ±¼ä½Ï¶ÌµÄʼþ¡£¿ÉÒÔ¸ù¾ÝÐèÒªÔö´ó Duration µÄ×îСֵ¡£Èç¹ûÏ£ÍûÒ»´Î½ö¼àÊÓÒ»¸öÊý¾Ý¿â£¬ÇëÖ¸¶¨ Database ID ʼþ±ê×¼µÄÖµ¡£
È·¶¨ËÀËøµÄÔÒò¡£
ÀýÈ磬¿ÉÒÔ´´½¨Ò»¸ö²¶»ñÓë TSQL ºÍ Stored Procedure ʼþÀࣨRPC:Starting ºÍ SQL:BatchStarting£©ºÍ Locks ʼþÀࣨDeadlock graph¡¢Lock:Deadlock »ò Lock:Deadlock Chain£©Ïà¹ØµÄʼþµÄ¸ú×Ù¡£Ôڴ˸ú×ÙÖаüÀ¨ËùÓÐÊý¾ÝÁв¢°´ Event Class ·Ö×é¡£Èç¹ûÏ£ÍûÒ»´Î½ö¼àÊÓÒ»¸öÊý¾Ý¿â£¬ÇëÖ¸¶¨ Database ID ʼþ±ê×¼µÄÖµ¡£Èç¹ûÖ¸¶¨ Deadlock graph ʼþÀ࣬SQL Server Profiler½«Éú³ÉͼÐλ¯±íʾÐÎʽµÄËÀËø¡£ÓйØÏêϸÐÅÏ¢£¬Çë²ÎÔÄʹÓà SQL Server Profiler ·ÖÎöËÀËø¡£
ÈôÒª²é¿´ËÀËøÖÐÉæ¼°µÄÁ¬½Ó£¬ÇëÖ´ÐÐÏÂÁвÙ×÷Ö®Ò»£º
´ò¿ª°üº¬²¶»ñµÄÊý¾ÝµÄ¸ú×Ù£¬°´ ClientProcessID ¶ÔÊý¾Ý½øÐзÖ×é²¢Õ¹¿ªËÀËøÖÐÉæ¼°µÄÁ½¸öÁ¬½Ó¡£
½«²¶»ñµÄÊý¾Ý±£´æµ½¸ú×ÙÎļþÖУ¬È»ºóÁ½´Î´ò¿ª´Ë¸ú×ÙÎļþ£¬Ê¹Æä³öÏÖÔÚÁ½¸öµ¥¶ÀµÄ SQL Server Profiler´°¿ÚÖС£°´ ClientProcessID ¶Ô²¶»ñµÄÊý¾Ý½øÐзÖ×飬ȻºóÕ¹¿ªËÀËøÖÐÉæ¼°µÄ¿Í»§¶Ë½ø³Ì ID£»Ã¿¸öËÀËøµÄÁ¬½Ó½«³öÏÖÔÚÒ»¸öµ¥¶ÀµÄ´°¿ÚÖС£Æ½ÆÌÕâÁ½¸ö´°¿ÚÒԲ鿴µ¼ÖÂËÀËøµÄʼþ¡£Èç¹ûÒª½«Ìض¨ËÀËøÍ¼ÐÎÊý¾Ý±£´æµ½Îļþ£¬ÇëÓÒ¼üµ¥»÷ËÀËøÊ¼þ²¢Ñ¡Ôñ“ÌáȡʼþÊý¾Ý”¡£
¼àÊÓ´æ´¢¹ý³ÌÐÔÄÜ¡£
ÀýÈ磬¿ÉÒÔ´´½¨Ò»¸ö²¶»ñÓë Stored Procedure ʼþÀࣨSP:Completed¡¢SP:Starting¡¢SP:StmtCompleted ºÍ SP:StmtStarting£©ºÍ TSQL ʼþÀࣨSQL:BatchStarting ºÍ SQL:BatchCompleted£©Ïà¹ØµÄʼþµÄ¸ú×Ù¡£Ôڴ˸ú×ÙÖаüÀ¨ËùÓбØÒªµÄÊý¾ÝÁв¢°´ ClientProcessID ·Ö×é¡£Èç¹ûÏ£ÍûÒ»´ÎÖ»¼àÊÓÒ»¸öÊý¾Ý¿â£¬ÇëʹÓÃÊý¾Ý¿â ID ɸѡÆ÷Ϊ“Êý¾Ý¿â ID”ʼþ±ê×¼Ö¸¶¨Ò»¸öÖµ¡£Í¬Ñù£¬Èç¹ûÏ£ÍûÒ»´ÎÖ»¼àÊÓÒ»¸ö´æ´¢¹ý³Ì£¬ÇëʹÓöÔÏó ID ɸѡÆ÷Ϊ“¶ÔÏó ID”ʼþ±ê×¼Ö¸¶¨Ò»¸öÖµ¡£
ÉóºË SQL Server
Ïà¹ØÎĵµ£º
public class SqlCheck
{
public SqlCheck()
{
//
// TODO: ÔÚ´Ë´¦Ìí¼Ó¹¹Ô캯ÊýÂß¼
//
}
public SqlConnection oconn()
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["StudyConnectionString"] ......
¸üÐÂÏÂÎÊÌ⣺
񡜧TBL_Info
×ֶΣº
infoId int
title varchar(20)
Content text
byUser varchar(20)
createTime datetime
1¡¢ÈçºÎɾ³ý±íÖÐÊý¾ÝÏàͬµÄÊý¾ÝÄØ£¿£¨Ö÷¼ü³ýÍ⣩
2¡¢ÈçºÎɾ³ýÊý¾Ý±íÖÐij¸ö×Ö¶ÎÊý¾ÝÏàÍ ......
°ïÖúÀïµÄ,Óï·¨:
BEGIN TRY
{ sql_statement | statement_block }
END TRY
BEGIN CATCH
[ { sql_statement | statement_block } ]
END CATCH
[ ; ]
Òì³£²¿·Ö:
ÔÚ CATCH ¿éµÄ×÷ÓÃÓòÄÚ£¬¿ÉÒÔʹÓÃÒÔÏÂϵͳº¯ÊýÀ´»ñÈ¡µ¼Ö CATCH ¿éÖ´ÐеĴíÎóÏûÏ¢£º
ERROR ......
OracleÖÐÈçºÎÓÃÒ»ÌõSQL¿ìËÙÉú³É10ÍòÌõ²âÊÔÊý¾Ý
×öÊý¾Ý¿â¿ª·¢»ò¹ÜÀíµÄÈ˾³£Òª´´½¨´óÁ¿µÄ²âÊÔÊý¾Ý£¬¶¯²»¶¯¾ÍÐèÒªÉÏÍòÌõ£¬Èç¹ûÒ»ÌõÒ»ÌõµÄ¼È룬
ÄÇ»áÀË·Ñ´óÁ¿µÄʱ¼ä£¬±¾ÎĽéÉÜÁËOracleÖÐÈçºÎͨ¹ýÒ»ÌõSQL¿ìËÙÉú³É´óÁ¿µÄ²âÊÔÊý¾ÝµÄ·½·¨¡£
²úÉú²âÊÔÊý¾ÝµÄSQLÈçÏ£º
SQL> select rownum as id,
&nb ......