SQL Server 2005ÖеÄT SQLÔöÇ¿(2) ¿ìÕÕ¸ôÀë
¿ìÕÕ¸ôÀë Snapshot Isolation
1¡¢Ð´Èë³ÌÐò²»»á×è°¶ÁÈ¡³ÌÐò
2¡¢ÐµĸôÀë¼¶±ðÌṩÁËÒÔÏÂÓŵ㣺
1) Ìá¸ßÁËÖ»¶ÁÓ¦ÓóÌÐòµÄÊý¾Ý¿ÉÓÃÐÔ
2) ÔÊÐíÔÚOLTP»·¾³ÖÐÖ´ÐзÇ×èÖ¹¶ÁÈ¡²Ù×÷
3) ¿É¶ÔдÈëÊÂÎñ½øÐÐ×Ô¶¯µÄÇ¿ÖÆ³åÍ»¼ì²â
3¡¢ÑÝʾ´úÂë
CREATE DATABASE demo2
GO
USE demo2
ALTER DATABASE demo2 SET allow_snapshot_isolation ON
CREATE TABLE test
(
tid INT NOT NULL primary key,
tname VARCHAR(50) NOT NULL
)
INSERT INTO test VALUES(1,'version1')
INSERT INTO test VALUES(2,'version2')
--Á¬½ÓÒ»
USE demo2
BEGIN TRAN
UPDATE test SET tname='version3' WHERE tid=2
SELECT * from test
--Á¬½Ó¶þ
USE demo2
SET transaction isolation level snapshot
SELECT * from test
Ïà¹ØÎĵµ£º
--±¸·ÝÊÂÎñÈÕÖ¾ (×ÔÉÏÒ»´Î±¸·ÝÒÔÀ´£¬ÖÁµ±Ç°µÄÒÑÍê³ÉµÄÊÂÎñµÄÈÕÖ¾)
backup log MyDBName to disk='F:\dbbak\GamePoint\MyDBName_log_2010052709.bak';
--½Ø¶ÏÈÕÖ¾(½Ø¶Ïµôµ±Ç°µÄÒÑÍê³ÉµÄÊÂÎñµÄÈÕÖ¾), SQL Server 2005, 2008ûÓÐÕâ¸öÑ¡Ïî.
backup log MyDBName with no_Log;
--ÊÕËõÈÕÖ¾(ÖÁ1M,µ ......
ÔÚSQL Server Unicode×Ö·û´®³£Á¿ÐèҪǰ׺N
µ±ÔÚSQL
SERVERÀï±ß´¦Àí×Ö·û´®³£Á¿µÄʱºòÄã±ØÐëÔÚ³£Á¿Ö®Ç°·ÅÒ»¸ö´óдµÄN,¾ÍÏñSQL
SERVERÁ¬»úÎĵµ±êÌâΪ"²ÉÓÃUnicodeÊý¾Ý"Ëù˵Ã÷µÄÄÇÑù.Nǰ׺ÏóÕ÷×ÅÔÚSQL-92
±ê×¼µÄ¹ú¼ÒÓïÑÔ,²¢ÇÒ±ØÐëÊÇ´óд×Öĸ.Èç¹ûÄãÔ ......
Æäʵɾ³ýÊý¾Ý¿âÖÐÊý¾ÝµÄ·½·¨²¢²»¸´ÔÓ£¬ÎªÊ²Ã´ÎÒ»¹Òª¶à´ËÒ»¾ÙÄØ£¬Ò»ÊÇÎÒÕâÀï½éÉܵÄÊÇɾ³ýÊý¾Ý¿âµÄËùÓÐÊý¾Ý£¬ÒòΪÊý¾ÝÖ®¼ä¿ÉÄÜÐγÉÏà»¥Ô¼Êø¹ØÏµ£¬É¾³ý²Ù×÷¿ÉÄÜÏÝÈëËÀÑ»·£¬¶þÊÇÕâÀïʹÓÃÁË΢ÈíδÕýʽ¹«¿ªµÄsp_MSForEachTable´æ´¢¹ý³Ì¡£
¡¡¡¡Ò²ÐíºÜ¶à¶ÁÕßÅóÓѶ¼¾Àú¹ýÕâÑùµÄÊÂÇ飺ҪÔÚ¿ª·¢Êý¾Ý¿â»ù´¡ÉÏÇåÀíÒ»¸ö¿Õ¿â£¬µ«ÓÉÓÚ¶ÔÊ ......
×î½üÔÚÓÃsqlcmd¹¤¾ß½øÐÐÊý¾Ý±¸·Ý£¬½ñÌìÔÚ»»µ½sql2000ʱͻȻ²»ÄÜÓá£ÔÀ´2000ÊÇûÓÐÕâ¸ö¹¤¾ßµÄ£º
sql2005:
sqlcmd -S ·þÎñÆ÷Ãû»ò·þÎñÆ÷µØÖ· -U Óû§ -P ÃÜÂë -i "ÒýÓõÄsqlÓï¾äÎļþ"
sql2000:¿ÉÒÔÓÃosql´úÌæ£¬¹¦ÄÜÒ»Ñù
osql -S ·þÎñÆ÷Ãû»ò·þÎñÆ÷µØÖ· -U Óû§ -P ÃÜÂë -i "ÒýÓõÄsqlÓï¾äÎļþ" ......
with HostDevice as (----ÉÌ»§Ö÷»ú
select TerminalID ,Deviceid hostDeviceid ,Device.ModelID,Device.SN HostSN,Device.MerchantID,Device.InstallAddress,Device.SoftVersion
from Device
join model HostM on Device.ModelID=HostM.ModelID and HostM.Category in(0,3,4,5,6,8)
--where TerminalID is not null
) ......