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 ......
²Î¿¼ÎÄÏ×£ºhttp://www.cnblogs.com/chenxizhang/archive/2009/04/23/1441913.html
SQL ServerÌṩËÄÖÖ·½Ê½Á¬½ÓÊý¾Ý¿â·þÎñÆ÷:
1. share memory: Ö»ÊÊÓÃÓÚ¿Í»§¶ËºÍ·þÎñÆ÷¶ËÔÚͬһ̨»úÆ÷ÉÏ,²ÅÄܲÉÓõÄÁ¬½Ó
2. Named pipe:
ÔÚ¾ÖÓòÍø(LAN)ÄÚʵÏÖÁ¬½Ó,Ò»¸ö½ø³ÌʹÓÃÒ»²¿·ÖµÄÄÚ´æÀ´Ïò½ø³ÌµÄÁíÒ»¶Ë´«µÝÏûÏ¢,Ò»¸ö½ø³ÌµÄÊä³öÊÇÁíÍâ ......
--»ñȡij¸öÊý¾Ý¿âÖеıí½á¹¹
SELECT
--±íÃû=case when a.colorder=1 then d.name else '' end,
ÐòºÅ=a.colorder,
--±êʶ=case when COLUMNPROPERTY(&nbs ......
1. ¶¨ÒåÓα궨Òå
ÓαêÓï¾äµÄºËÐÄÊǶ¨ÒåÁËÒ»¸öÓαê±êʶÃû£¬²¢°ÑÓαê±êʶÃûºÍÒ»¸ö²éѯÓï¾ä¹ØÁªÆðÀ´¡£DECLAREÓï¾äÓÃÓÚÉùÃ÷Óα꣬Ëüͨ¹ýSELECT²éѯ¶¨ÒåÓÎ±ê´æ´¢µÄÊý¾Ý¼¯ºÏ¡£Óï¾ä¸ñʽΪ£º
DECLARE ÓαêÃû³Æ [INSENSITIVE] [SCROLL]
CURSOR FOR selectÓï¾ä
[FOR{READ ONLY|UPDATE[OF ÁÐÃû×Ö±í]}]
²ÎÊý˵Ã÷£º
INSENSITIVEÑ¡Ï ......
Çå¿ÕÈÕÖ¾
1£®´ò¿ª²éѯ·ÖÎöÆ÷£¬ÊäÈëÃüÁî
DUMP TRANSACTION Êý¾Ý¿âÃû WITH NO_LOG
2.ÔÙ´ò¿ªÆóÒµ¹ÜÀíÆ÷--ÓÒ¼üÄãҪѹËõµÄÊý¾Ý¿â--ËùÓÐÈÎÎñ--ÊÕËõÊý¾Ý¿â--ÊÕËõÎļþ--Ñ¡ÔñÈÕÖ¾Îļþ--ÔÚÊÕËõ·½Ê½ÀïÑ¡ÔñÊÕËõÖÁXXM,ÕâÀï»á¸ø³öÒ»¸öÔÊÐíÊÕËõµ½µÄ×îСMÊý,Ö±½ÓÊäÈëÕâ¸öÊý,È·¶¨¾Í¿ÉÒÔÁË¡£
......