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
Ïà¹ØÎĵµ£º
select * from tableName where datediff(week,dateField,getdate())=0
ÕâÑù²é³öÀ´µÄ½á¹ûÊÇ´ÓÐÇÆÚÌìµ½ÐÇÆÚÁù(ÀÏÍâĬÈÏÐÇÆÚÌìÊÇÒ»ÖܵĵÚÒ»Ìì).
Èç¹ûÏëÒÔÐÇÆÚÒ»×÷ΪµÚÒ»ÌìµÄ»°,Á½¸öʱ¼ä¶¼ÐèÒª¼õÒ»,ÈçÏÂ:
select * from tableName where datediff(week,dateField-1,getdate()-1)=0 ......
order by
ÅÅÐòͨ¹ýorder by×Ó¾äʵÏÖ£¬order byÔÚSELECTÓï¾äµÄ×îºó¡£
Óï·¨£º
order by field1 [ASC|DESC][,field2 [ASC|DESC],..,fieldn [ASC|DESC]]
ASC£ºÉýÐò
DESC£º½µÐò
ĬÈÏΪÉýÐò
¿ÕÖµ×÷ΪÎÞÇî´óÀ´´¦Àí¡£
ÁíÍâ¿ÉÒÔ°´ÕÕ²éѯÁбíÖÐÐòºÅ½øÐÐÅÅÐò¡£
ϵͳÔÚÓû§Ð´³ö²éѯÁбíµÄͬʱ¾Í¸³Óèÿ¸öÁÐÃûÒ»¸ ......
//°´×ÔÈ»ÖÜͳ¼Æ
select to_char(date,'iw'),sum()
from
where
group by to_char(date,'iw')
//°´×ÔÈ»ÔÂͳ¼Æ
select to_char(date,'mm'),sum()
from
where
group by to_char(date,'mm')
//°´¼¾Í³¼Æ
select to_char(date,'q'),sum()
fr ......
´Ósql server 2000Éý¼¶µ½2005ÓÐ5ÖÖ·½·¨:
lÖ±½ÓÉý¼¶
lÀûÓÃdetach/attach¹¦ÄÜÒƶ¯sql server 2000µÄÊý¾Ý¿âµ½2005
lͨ¹ýbackup/restore¹¦ÄÜÀ´Ç¨ÒÆdb
lͨ¹ýsql server 2005µÄdatabase copy wizardÀ´¿½±´Êý¾Ý¿â
lͨ¹ýdtsµÄexport/import¹¤¾ßÀ´Ç¨ÒÆÊý¾Ýµ½sql server 2005
1.µÚÒ»ÖÖ·½·¨(Ö±½ÓÉý¼¶):
ÊʺÏ: Êý¾Ý ......
·ÖÒ³sql²éѯÔÚ±à³ÌµÄÓ¦Óúܶ࣬Ö÷ÒªÓд洢¹ý³Ì·ÖÒ³ºÍsql·ÖÒ³Á½ÖÖ£¬ÎұȽÏϲ»¶ÓÃsql·ÖÒ³£¬Ö÷ÒªÊǺܷ½±ã¡£ÎªÁËÌá¸ß²éѯЧÂÊ£¬Ó¦ÔÚÅÅÐò×Ö¶ÎÉϼÓË÷Òý¡£sql·ÖÒ³²éѯµÄÔÀíºÜ¼òµ¥£¬±ÈÈçÄãÒª²é100ÌõÊý¾ÝÖеÄ30-40Ìõ£¬ÄãÏȲéѯ³öÇ°40Ìõ£¬ÔÙ°ÑÕâ30Ìõµ¹Ðò£¬ÔÙ²é³öÕâµ¹ÐòºóµÄÇ°Ê®Ìõ£¬×îºó°ÑÕâÊ®Ìõµ¹Ðò¾ÍÊÇÄãÏëÒªµÄ½á¹û¡£
  ......