自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 2005實(shí)現(xiàn)數(shù)據(jù)庫(kù)緩存依賴

數(shù)據(jù)庫(kù) SQL Server 數(shù)據(jù)庫(kù)運(yùn)維
SQL SERVER 2005內(nèi)置支持SQL數(shù)據(jù)緩存依賴,內(nèi)置通知傳遞服務(wù),能夠提供更小粒度的數(shù)據(jù)更改監(jiān)測(cè),使用和配置簡(jiǎn)單。

使用方法和步驟如下:

step1

檢測(cè)是否已經(jīng)啟用ServiceBroker,檢測(cè)方法:

SelectDATABASEpRoPERTYEX('數(shù)據(jù)庫(kù)名稱','IsBrokerEnabled')

--1表示已經(jīng)啟用0表示沒有啟用

step2

如果ServiceBroker沒有啟用,使用下面語(yǔ)句啟用:

ALTERDATABASE數(shù)據(jù)庫(kù)名稱SETENABLE_BROKER;

step3

在實(shí)現(xiàn)基于服務(wù)的SQL數(shù)據(jù)緩存依賴過(guò)程中,需要顯式調(diào)用SqlDependency.Start來(lái)啟動(dòng)接受依賴項(xiàng)更改通知的偵聽器。

SqlDependency.Start(connectionString);//推薦將這段代碼加到Global.asax的Application_Start方法中

SqlDependency.Stop(connectionString);//用于關(guān)閉,可加在Global.asax的Application_End方法中

step4

該步驟分別有兩種不同的做法。該階段必須注意步驟。

方法A:建立連接對(duì)象,再創(chuàng)建一個(gè)SqlCommand實(shí)例,創(chuàng)建SqlCacheDependency實(shí)例,在這步之后再調(diào)用Command對(duì)象來(lái)獲取數(shù)據(jù)(這個(gè)順序很重要)。之后調(diào)用Cache的Insert語(yǔ)句建立一個(gè)依賴于一個(gè)具體查詢數(shù)據(jù)集的Cache項(xiàng)。

SqlConnectionconn=newSqlConnection(strConnection);

SqlCommandcommand=newSqlCommand(strCommandText,conn);

SqlCacheDependencydependency=newSqlCacheDependency(command);

//注冊(cè)方法到委托,該委托是

CacheItemRemovedCallbackonRemove=newCacheItemRemovedCallback(RemovedCallback);

//新增或修改一條緩存記錄

Cache.Insert(strCacheKey,objAppCache,dependency,absoluteExpiration,

slidingExpiration,CacheItemPriority.Default,onRemove);

方法B:建立連接對(duì)象,再創(chuàng)建一個(gè)SqlCommand實(shí)例,***創(chuàng)建SqlDependency實(shí)例。定義SqlDependency的委托OnChange,當(dāng)數(shù)據(jù)發(fā)生改變時(shí)做出相應(yīng)的處理(比如清除Cache)。

SqlConnectionconn=newSqlConnection(strConnection);

SqlCommandcommand=newSqlCommand(strCommandText,conn);

SqlCacheDependencydependency=newSqlCacheDependency(command);

dependency.OnChange+=newOnChangeEventHandler(Dependency_OnChange);

注意事項(xiàng):

不知道是不是還存在BUG,我在項(xiàng)目開發(fā)中遇到一些奇怪的現(xiàn)象。同樣的代碼,在有的機(jī)器上運(yùn)行則能捕捉到變化,有的則完全沒反應(yīng);也有時(shí)會(huì)出現(xiàn)Cache剛建立就反復(fù)發(fā)生依賴改變的事件。偶爾Cache還會(huì)數(shù)據(jù)發(fā)生變化卻不引發(fā)事件。

但從最終項(xiàng)目實(shí)施的情況看,似乎都只是某些機(jī)器環(huán)境造成的不確定因素?這個(gè)無(wú)法確定。不過(guò)起碼數(shù)據(jù)庫(kù)端是否正常啟用,可以通過(guò)SQLServerProfiler來(lái)查看監(jiān)視。

【編輯推薦】

  1. SQL Server 2008深度應(yīng)用
  2. 淺談配置SQL Server遠(yuǎn)程備份的方法
  3. SQL Server快速獲取表的記錄總數(shù)
責(zé)任編輯:彭凡 來(lái)源: cnblogs
相關(guān)推薦

2010-07-05 12:33:13

SQL Server

2010-07-22 14:46:41

SQL Server

2010-06-30 13:19:17

SQL Server

2010-07-08 15:26:05

SQL Server

2010-07-16 14:17:18

SQL Server

2010-07-20 10:02:41

SQL Server

2011-03-28 15:28:03

SQL Server 數(shù)據(jù)庫(kù)

2011-08-11 09:12:31

SQL Server nolock

2010-07-12 12:41:16

SQL Server

2011-08-22 09:55:30

SQL Server 排序

2011-09-07 15:11:31

SQL Server同步

2011-08-04 15:20:52

SQL Server數(shù)據(jù)庫(kù)鏡像

2011-08-15 15:40:57

SQL Server 系統(tǒng)數(shù)據(jù)庫(kù)

2010-07-02 10:47:20

SQL Server

2011-03-28 14:16:31

SQL Server 數(shù)據(jù)庫(kù)

2011-04-06 17:30:41

SQL ServerSQL

2010-07-07 15:21:21

SQL Server

2011-08-22 14:00:13

SQL Server 游標(biāo)調(diào)用函數(shù)

2011-07-15 11:02:47

SQL Server 用戶權(quán)限設(shè)置

2010-07-15 17:28:50

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)