SQL Server2005 ÊÂÎñ¸ôÀë¼¶±ð
ÈκÎÊÂÎñÎÞÂÛÆä¸ôÀë¼¶±ðÈçºÎ£¬¶¼¾ßÓÐÔ×ÓÐÔ¡£Ô×ÓÐԺ͸ôÀë¼¶±ðÊÇÁ½ÂëÊ¡£
¼Ù¶¨Ö»ÓÐÒ»ÖÖ×ÊÔ´Êý¾Ý±íÉϵēÐГ¿ÉÒÔ±»Ëø¶¨¡£ËøÖ»Óй²ÏíËøºÍÅÅËûËøÁ½ÖÖ¡£
ËøµÄ¼æÈÝÐÔ£º
SX
S 10
X 00
ÊÂÎñµÄ¸ôÀë¼¶±ð£º
Read Uncommitted
Êý¾Ý¶Áȡʱ²»ÐèÒªËø¶¨
Read Committed
Êý¾Ý¶ÁȡʱÐèÒª¹²ÏíËø¶¨
Repeatable Read
Êý¾Ý¶ÁȡʱÐèÒªÅÅËûËø
Serializable
ÊÂÎñ±ØÐëµÈͬÓÚ´®ÐÐÖ´ÐÐ
×¢ÒâÎÞÂÛÈκÎʱºò¸üÐÂÐж¼±ØÐëÒªÓÐÅÅËûËø¡£
²åÈëÐв»ÐèÒªËø¡£
ÔÚRead Committed¸ôÀë¼¶±ðÏ£¬Êý¾Ý¶ÁÈ¡Íê±ÏºóÁ¢¼´ÊͷʲÏíËø£¬¶øÔÚRepeatable Read¸ôÀë¼¶±ðÏ£¬ÊÂÎñ±£³Ö¹²Ïí
ËøÖ±µ½Õû¸öÊÂÎñ½áÊø¡£
ÔÚSQL ServerÖе÷ÕûÊÂÎñ¸ôÀë¼¶±ðÊÇÕë¶Ô»á»°µÄ£¬set tran isolation levelºó£¬»á»°ÖкóÀ´¿ªÊ¼µÄÊÂÎñ¶¼Ôڴ˸ô
Àë¼¶±ðÉÏÖ´ÐС£Ò»¸öÊÂÎñÖ»ÄܾßÓÐÒ»¸ö¸ôÀë¼¶±ð¡£Í¬Ò»»á»°ÖеÄËùÓÐÊÂÎñ±ØÐë´®ÐÐÖ´ÐС£±ØÐëͨ¹ýbegin tranÓï¾äÀ´¸²¸ÇĬÈÏÊÂÎñ·¶Î§¡£
²âÊÔ£º
/*»·¾³*/
CREATE TABLE [dbo].[TranTest](
[Id] [int] IDENTITY(1,1) NOT NULL,
[count1] [int] NULL,
[count2] [int] NULL
)
insert into TranTest values(1,2)
insert into TranTest values(3,4)
insert into TranTest values(5,6)
insert into TranTest values(7,8)
Ô¼¶¨×ÜÊÇÏÈÖ´ÐÐsession1£¬²¢ÇÒÔÚsession1½áÊøÇ°Ö´ÐÐsession2
1. ÅÅËûËø×ÜÊÇÔÚÊÂÎñ½áÊøÊ±ÊÍ·Å
--session 1
set tran isolation level any
begin tran
update TranTest set count1=count1 + 10 where id=1
waitfor delay '00:00:10'
commit tran
--session 2
select * from TranTest
ÏÖÏó£ºsession2±»×èÈûÖ±µ½session1ÖеĻỰ½áÊø¡£
½âÊÍ£ºsession1Ê×ÏÈÖ´ÐУ¬¸üÐÂid=1µÄÐÐʱ³ÖÓÐÁ˸ÃÐеÄÅÅËûËø£¬¸ÃËøÖ±µ½session1ÖеÄÊÂÎñ½áÊøÊ±ÊÍ·Å£¬Õâ×èÖ¹
ÁËsession2»ñµÃ¹²ÏíËø¡£
2. ¶ÁδÌá½»ÎÞÐèÈκÎËø
--session 1
set tran isolation level any
begin tran
update TranTest set count1=count1 + 10 where id=1
waitfor delay '00:00:10'
commit tran
--session 2
set tran isolation level read uncommitted
begin tran
select * from TranTest
commit tran
ÏÖÏó£ºsession2δ±»×èÈû£¬¶øÊǶÁÈ¡µ½ÁËsession1ÉÐδÌá½»µÄÊý¾Ý¡£
½âÊÍ£º¶ÁδÌá½»ÎÞÐèËø¶¨£¬Òò¶øÈÆ¿ªÁËËø¶¨»úÖÆ¡£
3. ËÀËø
--session 1
set tran isolation level read committed
begin tr
Ïà¹ØÎĵµ£º
Questions
I have a simple app that
uses an SQL Express 2005 database. When the user closes the app, I want
to give the option to back up the database by making a copy in another
directory. However, when I try to do it, I get "The process cannot
access the file '...\Pricing.MDF' because i ......
--»ñȡij¸öÊý¾Ý¿âÖеıí½á¹¹
SELECT
--±íÃû=case when a.colorder=1 then d.name else '' end,
ÐòºÅ=a.colorder,
--±êʶ=case when COLUMNPROPERTY(&nbs ......
Sql Server ÖÐÒ»¸ö·Ç³£Ç¿´óµÄÈÕÆÚ¸ñʽ»¯º¯Êý
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GE ......
value·½·¨
µ±Äã²»Ïë½âÊÍÕû¸ö²éѯµÄ½á¹û¶øÖ»ÏëµÃµ½Ò»¸ö±êÁ¿ÖµÊ±£¬Õâ¸övalue·½·¨ÊǺÜÓаïÖúµÄ¡£Õâ¸övalue·½·¨ÓÃÓÚ²éѯXML²¢ÇÒ·µ»ØÒ»¸öÔ×ÓÖµ¡£
Õâ¸övalue·½·¨µÄÓï·¨ÈçÏ£º
value(XQuery£¬datatype)
½èÖúÓÚvalue·½·¨£¬Äã¿ÉÒÔ´ÓXMLÖеõ½µ¥¸ö±êÁ¿Öµ¡£Îª´Ë£¬Äã±ØÐëÖ¸¶¨XQueryÓï¾äºÍÄãÏëÒªËü·µ»ØµÄÊý¾ÝÀàÐÍ£¬²¢ÇÒÄã¿ÉÒÔ·µ»Ø³ ......