برای استفاده از cache dependency در SQL Server 2005 به يك گرامر متفاوت نياز است  كه صرفا” شامل مشخص كردن نام جدول و بانك اطلاعاتی نمی باشد . در مقابل ، SQL Server می بايست از دستور واقعی آگاهی يافته و نسبت به آن شناخت داشته باشد .
در صورت فعال كردن caching از طريق كد ، می بايست با استفاده از constructor كه يك شی SqlCommand را به عنوان پارامتر دريافت می نمايد اقدام به ايجاد SqlCacheDependency كرد .
كد زير نحوه انجام اين كار را نشان می دهد .

Dim con As New SqlConnection(connectionString)
Dim query As String =”SELECT EmployeeID, FirstName, LastName, City FROM dbo.Employees”
Dim cmd As New SqlCommand(query, con)
Dim adapter As New SqlDataAdapter(cmd)
Dim ds As New DataSet()
adapter.Fill(ds, “Employees”)
Dim empDependency As New SqlCacheDependency(cmd)
Cache.Insert(“Employees”, ds, empDependency)

در صورت استفاده از دايركتيو  OutputCache و يا يك كنترل منبع داده ، ASP. NET مسئوليت ريجستر كردن را بر عهده می گيرد و پياده كنندگان می بايست صرفا” مقدار CommandNotification را مشخص نمايند .

 <%@ OutputCache Duration=”600″ SqlDependency=”CommandNotification” VaryByParam=”none” %>

بررسی‌ يك مثال كاربردی
 كد زير نحوه ايجاد cache dependency در SQL Server 2005 و بر روی بانك اطلاعاتی Northwind را نشان می دهد . پس از فعال شدن برنامه فوق و از طريق روتين page_load ، يك وابستگی برای جدول customers ايجاد ( ماحصل اجرای دستور Select ) و ماحصل آن در cache ذخيره می گردد . در صورت بروز هرگونه تغيير در فيلد ContactName جدول customers ( اين كار توسط روتين  cmdModify_Click انجام می شود )  اعتبار داده cache شده بطور اتوماتيك و از طريق سيستم آگاه سازی caching در SQL Server 2005  به اتمام می رسد .

 ايجاد cache dependency در SQL Server 2005
<%@ Page Language=”VB” Culture=”fa-IR” UICulture=”fa-IR” Debug=”true”%>
<%@ import Namespace=”system.Data” %>
<%@ import Namespace=”system.Data.SqlClient” %>
<%@ Import Namespace=”System.Web.Configuration” %>
‘===================================================================
<script runat=”server”>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
SqlDependency.Start(connectionString)
lblInfo.Text &= “ايجاد آيتم وابسته<br />”
Cache.Remove(“Customers”)
Dim dt As DataTable = GetTable()
lblInfo.Text &= “اضافه كردن آيتم مورد نظر به cache<br />”
Cache.Insert(“Customers”, dt, dependency)
End If
End Sub
‘===================================================================
Private dependency As SqlCacheDependency
Private connectionString As String = _
WebConfigurationManager.ConnectionStrings(“NORTHWNDConnectionString”).ConnectionString
Private Function GetTable() As DataTable
Dim con As New SqlConnection(connectionString)
Dim sql As String = “SELECT ContactName FROM dbo.Customers”
Dim da As New SqlDataAdapter(sql, con)
‘ ايجاد يك وابستگی برای جدول
dependency = New SqlCacheDependency(da.SelectCommand)
Dim ds As New DataSet()
da.Fill(ds, “Customers”)
Return ds.Tables(0)
End Function
‘===================================================================
Protected Sub cmdGetItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdGetItem.Click
If Cache(“Customers”) Is Nothing Then
lblInfo.Text &= “آيتم مورد نظر در cache موجود نمی باشد<br />”
Else
lblInfo.Text &= “آيتم مورد نظر همچنان در cache موجود است<br />”
End If
End Sub
‘===================================================================
Protected Sub cmdModify_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdModify.Click
Dim con As New SqlConnection(connectionString)
Dim sql As String = “UPDATE dbo.Customers SET ContactName=’Test Contact_Name’ WHERE CustomerID=’WOLZA'”
Dim cmd As New SqlCommand(sql, con)
Try
con.Open()
cmd.ExecuteNonQuery()
Finally
con.Close()
End Try
lblInfo.Text &= ” بهنگام سازی به اتمام رسيد <br />”
End Sub
‘===================================================================
</script>

<html xmlns=”http://www.w3.org/1999/xhtml” dir=”rtl” >
<head id=”Head1″ runat=”server”>
<title>Untitled Page</title>
</head>
<body style=”font-family: Tahoma”>
<form id=”form1″ runat=”server”>
<div>
<asp:Button ID=”cmdModify” runat=”server” Height=”24px”  Text=”تغيير جدول”
Width=”103px” Font-Names=”Tahoma” />
<asp:Button ID=”cmdGetItem” runat=”server” Height=”24px”
Text=”بررسی آيتم cache شده”
Width=”180px” Font-Names=”Tahoma” /><br /><br />
<asp:Label ID=”lblInfo” runat=”server” BackColor=”LightYellow” BorderStyle=”Groove”
BorderWidth=”2px” Font-Names=”Tahoma” Font-Size=”X-Small” Height=”192px”
Width=”536px”></asp:Label>
</div>
</form>
</body>
</html>

خروجی مثال فوق در شكل 1 نشان داده شده است .

شكل 1 : ايجاد cache dependency در   SQL Server 2005