کنترل قفل در SQL Server


یک سیستم بانک اطلاعاتی باید توانایی اجرای همزمان تراکنشها را داشته باشد. و همین concurrency یا همزمانی باعث میشود تا با مشکلاتی مواجه شویم که ما را نیازمند قفل می کند. مشکلات ایجاد شده در قالب مثال هایی در ادامه بررسی می کنیم.

مشکلات عدم استفاده از قفل
در نظر بگیرید که اجرای دو تراکنش همزمان شده است. تراکنش اول، داده x را از بانکاطلاعاتی می خواند. سپس تراکنش دوم نیز داده x را می خواند. تراکنش اول، x+5 را به جای x در بانک اطلاعاتی می نویسد. تراکنش دوم، x+1 را در بانک اطلاعاتی به جای x می نویسد. و هر دو به کارشان خاتمه می دهند.

حتما متوجه شده اید که مشکلی که در اینجا با آن روبرو می شویم، از دست دادن update انجام شده توسط تراکنش اول است. چون تراکنش دوم، دوباره بر روی داده update شده توسط تراکنش اول می نویسد. به این مشکل، lost update می گویند. راه بر طرف کردن آن، این است که وقتی تراکنش اول داده x را خواند، نباید تراکنش دیگری بتواند آنرا update کند، تا کار تراکنش اول به انتها برسد. یعنی باید داده x را قفل کرد تا تراکنش دیگری نتواند به آن دسترسی پیدا کند. البته، باید سطوح مختلفی برای قفل در نظر گرفت. چون بقیه تراکنش ها می توانند داده x را بخوانند، فقط نباید آنرا update کنند.

برای مثال دوم، فرض کنید که تراکنش اول داده x را می خواند و آنرا به x+5 تغییر می دهد. حال تراکنش دوم، داده x را می خواند و می خواهد بر اساس آن محاسباتی انجام دهد و مثلا داده y را با نتیجه بدست آمده بروز رسانی کند. تراکنش دوم، پس از بروزرسانی داده y به کار خود پایان می دهد. سپس تراکنش اول از تغییراتی که در بانک اطلاعاتی اعمال کرده است، پشیمان میشود. به عبارت دیگر با دستور rollback به تراکنش پایان می دهد. مشکلی که اینجا با آن مواجه هستیم، کارکرد تراکنش دوم بر مبنای داده های نادرست می باشد. این مشکل را نیز با قفل می توان حل کرد. به این مشکل dirty read می گویند.

حال فرض کنید که تراکنش اول، داده x را می خواند. سپس تراکنش دوم داده x را تغییر می دهد. حال اگر تراکنش اول دوباره داده x را بخواند، با مقدار جدیدی مواجه خواهد شد. به عبارت دیگر، دستور خواندن تکرار شدنی نیست. به این مشکل unrepeatable read می گویند.

و بالاخره به عنوان مثال آخر، در نظر بگیرید که تراکنش اول، رکوردهای یک جدول را می خواند. مثلا ۲۰ رکورد برگشت داده می شود. حال تراکنش دیگری می آید و یک رکورد جدیدی به جدول اضافه می کند. تراکنش اول، دوباره رکوردها را می خواند و ایندفعه با یک رکورد جدید روبرو می شود که قبلا نبود. رکوردی که مثل یک روح، یک دفعه در بین رکوردها ظاهر شده است!. همین اتفاق برای عمل حذف رکورد نیز صدق می کند. به این مشکل phantom read می گویند.

همانگونه که شاید حدس زده باشید، تمام مشکلات ناشی از اجرای هزمان چند تراکنش با یکدیگر می باشد. و اجرای همزمان تراکنش ها نیز در یک سیستم بانک اطلاعاتی امری اجتناب ناپذیر است. پس استفاده از یک سیستم کنترل قفل نیز اجتناب ناپذیر خواهد بود. روش های مختلفی برای کنترل اجرای همزمان تراکنش ها با یکدیگر وجود دارد، که در اینجا در مورد آنها بحث نخواهیم کرد. فقط به عنوان نمونه isolation level را که در SQL Server برای رفع همین مشکلات مورد استفاده قرار می گیرد، را در ادامه مورد بررسی قرار می دهیم.

ISOLATION LEVEL
sql server چهار سطح را برای رفع مشکلات فوق در نظر گرفته است. حتما متوجه شده اید که برخی از مشکلات عنوان شده فوق، همیشه مشکل به حساب نمی آید. مثلا در یک کاربرد ممکن است که مهم نباشد که ما مشکل phantom read داشته باشیم. isolation level برای یک تراکنش با دستور زیر مقداردهی می شود:

SET TRANSACTION ISOLATION LEVEL {
READ COMMITTED |
READ UNCOMMITTED|
REPEATABLE READ|
SERIALIZABLE}

هر کدام از چهار مقداری که می توان به آن نسبت داد را در ادامه بررسی می کنیم. نکته ای که باید قبل از ادامه بحث، به آن اشاره شود این است که مشکل اول یعنی lost update یکی از مشکلات اساسی بوده و در تمام کاربردها باید این مشکل رفع شود. بنابراین sql server به صورت پیش فرض برای تمام مقادیر انتخاب شده برای isolation level در نظر می گیرد. از بروز سه مشکل دیگر عنوان شده فوق، می توان به دلخواه با انتخاب یکی از مقادیر زیر برای isolation level جلوگیری کرد.

READ UNCOMMITTED
این مقدار، مساوی با این است که می خواهیم هیچ مکانیزم قفلی اعمال نشود. نتیجه آن نیز در صورت همزمانی تراکنش ها، احتمال وقوع مشکلات عنوان شده فوق می باشد.

READ COMMITTED
این مقدار پیش فرض برای isolation level می باشد. این مقدار تضمین می کند که داده ای که خوانده می شود یک داده commit شده باشد. یعنی مشکل dirty read بوجود نخواهد آمد. ولی دو مشکل آخری در این حالت می تواند بروز کند. نحوه رفع این مشکل نیز بدین صورت است که هر گاه تراکنشی داده ای را تغییر دهد و هنوز commit نکرده باشد، آن داده با قفل exclusive برچسب گذاری می شود. سپس اگر تراکنشی بخواهد داده را بخواند، سیستم اجازه خواندن داده را نمی دهد تا قفل آن داده آزاد شود. البته شرح کامل نحوه نسبت دهی قفل ها در [۱] آورده شده است و بحثی طولانی است که اینجا جای آن نیست!

REPEATABLE READ
این مقدار تضمین می کند که مشکل repeatable read نیز اتفاق نخواهد افتاد. این مشکل نیز به این صورت حل می شود که داده هایی که توسط یک تراکنش خوانده شده اند، قفل می شوند و اجازه تغییر آنها توسط تراکنش های دیگر تا انتهای اجرای این تراکنش داده نمی شود.

SERIALIZABLE
این مقدار تضمین می کند که هیچ یک از مشکلات عنوان شده فوق اتفاق نخواهد افتاد. مشکلی که تا مرحله قبل باقی مانده بود، مشکل phantom read می باشد. برای رفع این مشکل، sql server قفلی به data set خوانده شده توسط یک تراکنش تا انتهای آن اعمال می کند که تراکنش دیگری نتواند در طول اجرای آن تراکنش، رکوردی را ایجاد یا حذف کند.

مراجع:
[۱] روحانی رانکوهی ، سید محمد تقی ، “سیستم مدیریت پایگاه داده ها (مفاهیم و تکنیک ها)” ، انتشارات جلوه ، تهران . ۱۳۸۳
[۲] Microsoft SQL Server 2000 Resource Kit


نوشته شده توسط حسن شجاعی در دوشنبه ۱ اسفند ۱۳۸۴ |


۲۷۴ پاسخ برای “کنترل قفل در SQL Server”

  1. توسط viagra costo در مرداد ۸, ۱۳۸۸ | پاسخ

    MnqKB8 sdpmoktd mjwnbhwa pchnoqkl

  2. توسط levitra 2009 در مرداد ۱۰, ۱۳۸۸ | پاسخ

    refudzwp fnyegirs gvafewbg

  3. توسط cialis prescrizione در مرداد ۱۰, ۱۳۸۸ | پاسخ

    oyizqmbq iibsplbu fzbcswuh

  4. توسط levitra generico vendita در مرداد ۱۰, ۱۳۸۸ | پاسخ

    uzdgjteb gvcbfipk ysyhqcej

  5. توسط medicinale cialis در مرداد ۱۰, ۱۳۸۸ | پاسخ

    jgbhrbpx fuypxlkl tpyusada

  6. توسط levitra soft tabs در مرداد ۱۰, ۱۳۸۸ | پاسخ

    hxbqnrvz jwyyghvj wrvsagsz

  7. توسط viagra در مرداد ۱۸, ۱۳۸۸ | پاسخ

    qvdtdfpn gegknhxr ltfxstyr

  8. توسط viagra در مرداد ۱۸, ۱۳۸۸ | پاسخ

    ogjlamck dhxojhtu lwlwwmor

  9. توسط viagra prix در مرداد ۱۸, ۱۳۸۸ | پاسخ

    lzpwvcsq csfafslc csnpicfp

  10. توسط cialis prix در مرداد ۱۸, ۱۳۸۸ | پاسخ

    xjyupzql lrhqgtuk klvhdgpy

  11. توسط viagra france در مرداد ۲۳, ۱۳۸۸ | پاسخ

    xdsjcuyk hkflzhzi pccaugio

  12. توسط generique viagra در مرداد ۲۳, ۱۳۸۸ | پاسخ

    witnmmgo dqcpnwwg nuwlcxdh

  13. توسط viagra achat در مرداد ۲۳, ۱۳۸۸ | پاسخ

    clwzkquo sneekzpf uumynsnd

  14. توسط cialis france در مرداد ۲۳, ۱۳۸۸ | پاسخ

    vaybpokb jmttlzhg xamdwesk

  15. توسط acheter viagra در مرداد ۲۴, ۱۳۸۸ | پاسخ

    lmxbwgqo fffiytml atgeigfk

  16. توسط achat cialis generique در مرداد ۲۸, ۱۳۸۸ | پاسخ

    alrdqvvy ssfygyfk eomwmbpt

  17. توسط achat cialis pas cher در مرداد ۲۸, ۱۳۸۸ | پاسخ

    vqrnwsdw bywqgoep dlgrwrrb

  18. توسط compra cialis in italia در مرداد ۳۰, ۱۳۸۸ | پاسخ

    vgeqznge sdmrjrqn bitbmxyt

  19. توسط acquisto cialis generico در مرداد ۳۰, ۱۳۸۸ | پاسخ

    vyixtpde ijmyjfbi bqncapxu

  20. توسط acquistare viagra senza ricetta در مرداد ۳۱, ۱۳۸۸ | پاسخ

    hozivryy qrozrgux ingncuga

  21. توسط viagra generico در مرداد ۳۱, ۱۳۸۸ | پاسخ

    bcmnnoit zzhzdorl mlxcydev

  22. توسط compra cialis در شهریور ۷, ۱۳۸۸ | پاسخ

    tmbsbwxq rjgeixau ibvqwuba

  23. توسط acheter viagra در شهریور ۷, ۱۳۸۸ | پاسخ

    ucypynzk getjomir hfrhoaiq

  24. توسط achat cialis en ligne در شهریور ۷, ۱۳۸۸ | پاسخ

    qygfrrec ruzsqbiw fhogyneb

  25. توسط viagra در شهریور ۷, ۱۳۸۸ | پاسخ

    opjggrza jnbjphxj ogibslqn

  26. توسط Pharmf684 در آبان ۲, ۱۳۸۸ | پاسخ

    Very nice site! cheap viagra

  27. توسط Pharmd19 در آبان ۲, ۱۳۸۸ | پاسخ

    Very nice site! [url=http://ypxaieo.com/rrqavao/2.html]cheap cialis[/url]

  28. توسط Pharmd690 در آبان ۲, ۱۳۸۸ | پاسخ

    Very nice site! cheap cialis http://ypxaieo.com/rrqavao/4.html

  29. توسط Pharmf964 در آبان ۲, ۱۳۸۸ | پاسخ

    Very nice site!

  30. توسط cialis در آبان ۷, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  31. توسط viagra در آبان ۷, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  32. توسط tramadol در آبان ۷, ۱۳۸۸ | پاسخ

    Hello!
    cheep tramadol paris france ,

  33. توسط diet در آبان ۹, ۱۳۸۸ | پاسخ

    Hello!
    phentermine diet pills ,

  34. توسط cheap در آبان ۹, ۱۳۸۸ | پاسخ

    Hello!
    tramadol cheap cod ,

  35. توسط legal در آبان ۹, ۱۳۸۸ | پاسخ

    Hello!
    cialis legal online order ,

  36. توسط gay_viagra در آبان ۹, ۱۳۸۸ | پاسخ

    Hello!
    gay viagra ,

  37. توسط and در آبان ۹, ۱۳۸۸ | پاسخ

    Hello!
    tramadol and ambien interaction ,

  38. توسط cod_tramadol در آبان ۹, ۱۳۸۸ | پاسخ

    Hello!
    cod tramadol ,

  39. توسط viagra_uk در آبان ۹, ۱۳۸۸ | پاسخ

    Hello!
    viagra uk ,

  40. توسط order_cialis در آبان ۹, ۱۳۸۸ | پاسخ

    Hello!
    order cialis ,

  41. توسط urine_tramadol در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    urine tramadol ,

  42. توسط phentermine_phentremine در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    phentermine phentremine ,

  43. توسط 3dphentermine1f0h در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    3dphentermine1f0h ,

  44. توسط is در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    where is phentermine ,

  45. توسط mg در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    50 mg tramadol ,

  46. توسط generic_viagra در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    generic viagra ,

  47. توسط cialis_online در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    cialis online ,

  48. توسط cialis در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  49. توسط cialis در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  50. توسط viagra در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  51. توسط cialis_erowid در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    cialis erowid ,

  52. توسط phentermine در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    discount phentermine mg editorial phentermine mg ,

  53. توسط side در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    cialis side effects ,

  54. توسط cialis در آبان ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  55. توسط Pharmk786 در آبان ۱۲, ۱۳۸۸ | پاسخ

    Very nice site! cheap viagra

  56. توسط Pharmb98 در آبان ۱۲, ۱۳۸۸ | پاسخ

    Very nice site! [url=http://opeyixa.com/qoxaao/2.html]cheap cialis[/url]

  57. توسط Pharmc81 در آبان ۱۲, ۱۳۸۸ | پاسخ

    Very nice site! cheap cialis http://opeyixa.com/qoxaao/4.html

  58. توسط Pharmd261 در آبان ۱۲, ۱۳۸۸ | پاسخ

    Very nice site!

  59. توسط viagra در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  60. توسط buy_cialis در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    buy cialis ,

  61. توسط buy_viagra در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    buy viagra ,

  62. توسط cialisv در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    cialisv ,

  63. توسط phentermine در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    buy phentermine sale new zealand ,

  64. توسط by در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    phentermine by check ,

  65. توسط cialis_clock در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    cialis clock ,

  66. توسط cost در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    cialis cost per pill ,

  67. توسط best در آبان ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    cialis best effect ,

  68. توسط cialis در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cheap cialis daily ,

  69. توسط hour در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    36 hour cialis gooding ,

  70. توسط tramadol_overnite در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    tramadol overnite ,

  71. توسط soft در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis soft tab description ,

  72. توسط levitra در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis levitra viagra index ,

  73. توسط cialis_singapore در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis singapore ,

  74. توسط viagra در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    with viagra cialis levitra ,

  75. توسط interaction در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis interaction with sudafed ,

  76. توسط vs در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis vs cialis profession ,

  77. توسط cialis در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    discount cialis generic ,

  78. توسط phentermine در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cheapest phentermine online free shipping ,

  79. توسط taste در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    bad taste crushing cialis ,

  80. توسط flagstaff در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis flagstaff doctor ,

  81. توسط phentermine در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    buy phentermine post ,

  82. توسط cialis_incredible در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis incredible ,

  83. توسط information در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis information for cialis ,

  84. توسط three در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    try three for free cialis viagra ,

  85. توسط cialis در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    brand cialis online ,

  86. توسط erectile در آبان ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis erectile disfunctio ,

  87. توسط tramadol در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    drug tramadol dosage by weight ,

  88. توسط problems در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    eye problems cialis ,

  89. توسط soft در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cialis soft tablets ,

  90. توسط phentermine در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    buy phentermine no prescription purephentermine ,

  91. توسط canadian در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cialis canadian drug ,

  92. توسط hydrochloride در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    tramadol hydrochloride for sale ,

  93. توسط halfing_phentermine در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    halfing phentermine ,

  94. توسط cialis_mp3 در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cialis mp3 ,

  95. توسط cialis در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    buy cialis delived fed ex ,

  96. توسط knockoff_cialis در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    knockoff cialis ,

  97. توسط pills در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cialis pills chat ,

  98. توسط super در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cialis super active vs cialis ,

  99. توسط secondaire در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    effets secondaire cialis ,

  100. توسط mail در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cialis mail order medication ,

  101. توسط decreased در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    phentermine decreased libido ,

  102. توسط tramadol در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    is tramadol detectable in urine ,

  103. توسط u_cialis در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    u cialis ,

  104. توسط online در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    tramadol online no consultation fee ,

  105. توسط phentermine_capsules در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    phentermine capsules ,

  106. توسط medication در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    tramadol medication withdrawal ,

  107. توسط cialis در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    pharmacy cialis buy ,

  108. توسط day در آبان ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cheapest day order phentermine ,

  109. توسط glaucoma_cialis در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    glaucoma cialis ,

  110. توسط phentermine_anorexia در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    phentermine anorexia ,

  111. توسط sales_cialis در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    sales cialis ,

  112. توسط cialis در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    generic cialis money order ,

  113. توسط pharmaceutical در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    amide pharmaceutical a image phentermine ,

  114. توسط and در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    albuquerque and cialis ,

  115. توسط vs در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    cialis vs viagara ,

  116. توسط side در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    phentermine side affectd ,

  117. توسط cialis_tablets در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    cialis tablets ,

  118. توسط phentermine_stroke در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    phentermine stroke ,

  119. توسط delivered در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    phentermine delivered tomorrow ,

  120. توسط often در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    how often may you take cialis ,

  121. توسط e_propecia در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    e propecia ,

  122. توسط hotel در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    luxury hotel rome discount phentermine ,

  123. توسط mobile در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    phentermine mobile alabama ,

  124. توسط support در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    phentermine support group ,

  125. توسط for در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    cialis for normal men ,

  126. توسط cialis در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    buy cialis cheap us ,

  127. توسط mg در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    tramadol mg amitriptyl ,

  128. توسط generic در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    ajanta generic cialis ,

  129. توسط cialis_advertising در آبان ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    cialis advertising ,

  130. توسط cialis در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    comprar cialis en argentina ,

  131. توسط cialis در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    plavix cialis taken together ,

  132. توسط viagra در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    generic viagra cavertac cialis cheap ,

  133. توسط addiction در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    adipexdrug addiction order phentermine online ,

  134. توسط cialis_viagra در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    cialis viagra ,

  135. توسط cialis در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    buy cialis australia ,

  136. توسط names در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    actors names in the cialis commercial ,

  137. توسط phentermine_tolerence در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    phentermine tolerence ,

  138. توسط phentermine در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    free phentermine consultation ,

  139. توسط cialis128448 در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    cialis128448 ,

  140. توسط generic در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    strongest generic of tramadol ,

  141. توسط cialis_powder در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    cialis powder ,

  142. توسط cialis_indigestio در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    cialis indigestio ,

  143. توسط generic در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    non generic phentermine ,

  144. توسط and در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    cialis and antifungals ,

  145. توسط buy در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    the buy cialis ,

  146. توسط bulletin در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    cialis bulletin board ,

  147. توسط phamacy در آبان ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    canadian phamacy cialis ,

  148. توسط drug در آبان ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    prescription drug index phentermine ,

  149. توسط prescribed در آبان ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    dr prescribed phentermine ,

  150. توسط cialis در آبان ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    by cialis march posted ,

  151. توسط cialis در آبان ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    taking cialis and viagra at the same time ,

  152. توسط phentermine_sale در آبان ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    phentermine sale ,

  153. توسط phentermine در آبان ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    buy phentermine fastest click here ,

  154. توسط name در آبان ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    brand name cialis ,

  155. توسط well در آبان ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    how well does cialis work ,

  156. توسط mortgage در آبان ۲۷, ۱۳۸۸ | پاسخ

    Hello!
    popular mortgage loan ,

  157. توسط services در آبان ۲۸, ۱۳۸۸ | پاسخ

    Hello!
    firstmark services student loan ,

  158. توسط Pharmb665 در آذر ۱۷, ۱۳۸۸ | پاسخ

    Very nice site! cheap viagra

  159. توسط Pharme256 در آذر ۱۷, ۱۳۸۸ | پاسخ

    Very nice site! [url=http://apeoixy.com/tqavv/2.html]cheap cialis[/url]

  160. توسط Pharme841 در آذر ۱۷, ۱۳۸۸ | پاسخ

    Very nice site! cheap cialis http://apeoixy.com/tqavv/4.html

  161. توسط Pharmg918 در آذر ۱۷, ۱۳۸۸ | پاسخ

    Very nice site!

  162. توسط HSMHiQYA در دی ۵, ۱۳۸۸ | پاسخ

    Hi! NYMDESe

  163. توسط HEgJnsnf در دی ۵, ۱۳۸۸ | پاسخ

    Hi! aXlfnc

  164. توسط Pharmg469 در اسفند ۳, ۱۳۸۸ | پاسخ

    Hello! aaadfde interesting aaadfde site!

  165. توسط Pharmc779 در اسفند ۳, ۱۳۸۸ | پاسخ

    Very nice site! cheap viagra

  166. توسط Pharme853 در اسفند ۳, ۱۳۸۸ | پاسخ

    Very nice site! [url=http://opxaiey.com/oyyraay/2.html]cheap cialis[/url]

  167. توسط Pharmb138 در اسفند ۳, ۱۳۸۸ | پاسخ

    Very nice site! cheap cialis http://opxaiey.com/oyyraay/4.html

  168. توسط Pharma125 در اسفند ۳, ۱۳۸۸ | پاسخ

    Very nice site!

  169. توسط viagra در اسفند ۴, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  170. توسط cialis در اسفند ۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  171. توسط cialis در اسفند ۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  172. توسط cheap_cialis در اسفند ۶, ۱۳۸۸ | پاسخ

    Hello!
    cheap cialis ,

  173. توسط generic_viagra در اسفند ۷, ۱۳۸۸ | پاسخ

    Hello!
    generic viagra ,

  174. توسط viagra در اسفند ۸, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  175. توسط tramadol در اسفند ۸, ۱۳۸۸ | پاسخ

    Hello!
    tramadol ,

  176. توسط cialis در اسفند ۸, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  177. توسط erectile_dysfunction در اسفند ۸, ۱۳۸۸ | پاسخ

    Hello!
    erectile dysfunction ,

  178. توسط viagra در اسفند ۸, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  179. توسط xanax در اسفند ۹, ۱۳۸۸ | پاسخ

    Hello!
    xanax ,

  180. توسط xanax در اسفند ۹, ۱۳۸۸ | پاسخ

    Hello!
    xanax ,

  181. توسط viagra در اسفند ۹, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  182. توسط cialis در اسفند ۱۰, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  183. توسط cialis در اسفند ۱۰, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  184. توسط cialis در اسفند ۱۰, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  185. توسط xanax در اسفند ۱۰, ۱۳۸۸ | پاسخ

    Hello!
    xanax ,

  186. توسط cheap_cialis در اسفند ۱۱, ۱۳۸۸ | پاسخ

    Hello!
    cheap cialis ,

  187. توسط cialis در اسفند ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  188. توسط viagra_online در اسفند ۱۲, ۱۳۸۸ | پاسخ

    Hello!
    viagra online ,

  189. توسط tramadol در اسفند ۱۳, ۱۳۸۸ | پاسخ

    Hello!
    tramadol ,

  190. توسط cialis در اسفند ۱۳, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  191. توسط phentermine در اسفند ۱۳, ۱۳۸۸ | پاسخ

    Hello!
    phentermine ,

  192. توسط tramadol در اسفند ۱۳, ۱۳۸۸ | پاسخ

    Hello!
    tramadol ,

  193. توسط buy_viagra در اسفند ۱۳, ۱۳۸۸ | پاسخ

    Hello!
    buy viagra ,

  194. توسط vigara در اسفند ۱۳, ۱۳۸۸ | پاسخ

    Hello!
    vigara ,

  195. توسط cheap_viagra در اسفند ۱۴, ۱۳۸۸ | پاسخ

    Hello!
    cheap viagra ,

  196. توسط Pharmd531 در اسفند ۱۴, ۱۳۸۸ | پاسخ

    Hello! kaaedkg interesting kaaedkg site!

  197. توسط Pharmd970 در اسفند ۱۴, ۱۳۸۸ | پاسخ

    Very nice site! cheap viagra

  198. توسط Pharmd415 در اسفند ۱۴, ۱۳۸۸ | پاسخ

    Very nice site! [url=http://ypxoiea.com/qyravq/2.html]cheap cialis[/url]

  199. توسط Pharma609 در اسفند ۱۴, ۱۳۸۸ | پاسخ

    Very nice site! cheap cialis http://ypxoiea.com/qyravq/4.html

  200. توسط Pharmg230 در اسفند ۱۴, ۱۳۸۸ | پاسخ

    Very nice site!

  201. توسط buy_cialis در اسفند ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    buy cialis ,

  202. توسط generic در اسفند ۱۵, ۱۳۸۸ | پاسخ

    Hello!
    cialis generic viagra ,

  203. توسط xanax در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    xanax ,

  204. توسط cialis در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  205. توسط cialis در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    cialis ,

  206. توسط xanax در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Hello!
    xanax ,

  207. توسط Pharmd900 در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Hello! ddaeddd interesting ddaeddd site!

  208. توسط Pharmb221 در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Very nice site! cheap viagra

  209. توسط Pharme385 در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Very nice site! [url=http://apeoixy.com/tqastv/2.html]cheap cialis[/url]

  210. توسط Pharme438 در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Very nice site! cheap cialis http://apeoixy.com/tqastv/4.html

  211. توسط Pharme362 در اسفند ۱۶, ۱۳۸۸ | پاسخ

    Very nice site!

  212. توسط tramadol در اسفند ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    tramadol ,

  213. توسط phentermine در اسفند ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    phentermine ,

  214. توسط tramadol در اسفند ۱۷, ۱۳۸۸ | پاسخ

    Hello!
    tramadol ,

  215. توسط vs در اسفند ۱۸, ۱۳۸۸ | پاسخ

    Hello!
    cialis vs levitra ,

  216. توسط cialis در اسفند ۱۹, ۱۳۸۸ | پاسخ

    Hello!
    viagra cialis levitra ,

  217. توسط tramadol در اسفند ۲۰, ۱۳۸۸ | پاسخ

    Hello!
    tramadol ,

  218. توسط viagra در اسفند ۲۰, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  219. توسط xanax در اسفند ۲۰, ۱۳۸۸ | پاسخ

    Hello!
    xanax ,

  220. توسط xanax در اسفند ۲۰, ۱۳۸۸ | پاسخ

    Hello!
    xanax ,

  221. توسط generic در اسفند ۲۰, ۱۳۸۸ | پاسخ

    Hello!
    cheap generic viagra ,

  222. توسط viagra در اسفند ۲۱, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  223. توسط viagra در اسفند ۲۱, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  224. توسط buy_viagra در اسفند ۲۲, ۱۳۸۸ | پاسخ

    Hello!
    buy viagra ,

  225. توسط xanax در اسفند ۲۲, ۱۳۸۸ | پاسخ

    Hello!
    xanax ,

  226. توسط phentermine در اسفند ۲۲, ۱۳۸۸ | پاسخ

    Hello!
    phentermine ,

  227. توسط viagra در اسفند ۲۲, ۱۳۸۸ | پاسخ

    Hello!
    viagra ,

  228. توسط Helen Iseley در مرداد ۱۶, ۱۳۸۹ | پاسخ

    When I saw the title مقالات » کنترل قفل در SQL Server , I hardly knew what to think! Now, after reading, I can safely say that I’ve blogged about this stuff in the past. It’s really enthralling. Sincerely, Helen Iseley

  229. توسط Abel Gatchell در مرداد ۲۲, ۱۳۸۹ | پاسخ

    Whenever I look at posts such as this I quake in my boots. The title مقالات » کنترل قفل در SQL Server is astrounding! I truly hope you continue just as you are. Abel Gatchell

  230. توسط Damian Holecek در مرداد ۲۸, ۱۳۸۹ | پاسخ

    In some cases, that will be accurate, still what about the masses of human beings who have little ability to perform in this way? Are we going to brush them aside merely due to the fact that they have little influence in this planet?

  231. توسط Pharme52 در مرداد ۲۹, ۱۳۸۹ | پاسخ

    Hello! bbdcfke interesting bbdcfke site!

  232. توسط Pharmf742 در مرداد ۲۹, ۱۳۸۹ | پاسخ

    Very nice site! cheap viagra

  233. توسط Pharmk542 در مرداد ۲۹, ۱۳۸۹ | پاسخ

    Very nice site! [url=http://opxaiey.com/oyyrsry/2.html]cheap cialis[/url]

  234. توسط Pharmb3 در مرداد ۲۹, ۱۳۸۹ | پاسخ

    Very nice site! cheap cialis http://opxaiey.com/oyyrsry/4.html

  235. توسط Pharme998 در مرداد ۲۹, ۱۳۸۹ | پاسخ

    Very nice site!

  236. توسط buy finasteride در مرداد ۳۱, ۱۳۸۹ | پاسخ

    Might it be realistic that you could instruct the general public how exactly they learned to produce writing of such high standards? Even the title مقالات » کنترل قفل در SQL Server affects me most deeply.

  237. توسط laptop kaufen در شهریور ۳, ۱۳۸۹ | پاسخ

    Most weblogs generally copy other weblogs or internet sites of newspapers and magazines. Subscribe to this web site here I like that you’ll find unique articles or blog posts that you could hardly discover elsewhere. Fortunately, you will find nevertheless such information sites, please proceed! I can no longer see the popular media. It truly is there so much garbage composed, I bear it no far more soon. A actually pleasant web site, thanks.

  238. توسط Golf Balls در شهریور ۸, ۱۳۸۹ | پاسخ

    I rented a movie about Tiger Woods called “My Favorite 18 Holes.” It turns out it’s actualy about golf.

  239. توسط Soccer Store در شهریور ۸, ۱۳۸۹ | پاسخ

    I wanted to give thanks for this great read!! I added to my bookmarks, cheers

  240. توسط Golf Range Finder در شهریور ۹, ۱۳۸۹ | پاسخ

    Nice! I bookmarked this

  241. توسط Callaway Golf در شهریور ۱۱, ۱۳۸۹ | پاسخ

    In related news, Gatorade recently broke its sponsorship agreement with Tiger Woods along with dropping the motto, “Is it in you?” Nike will keep Tiger as a spokesman and continue with the motto, “Just do it.”

  242. توسط Soccer Gear در شهریور ۱۱, ۱۳۸۹ | پاسخ

    Subscribe

  243. توسط Kadabowbams در شهریور ۱۴, ۱۳۸۹ | پاسخ

    I enjoyed reading your blog. Keep it that way.

  244. توسط Stanton Timi در شهریور ۱۷, ۱۳۸۹ | پاسخ

    Outstanding!This article is creative,tRight here are a Great deal of new idea,it gives me inspiration.I think I will also inspired by you and think about more new ideas

  245. توسط Valorie Folmar در شهریور ۲۸, ۱۳۸۹ | پاسخ

    The weblog article author includes a selected natural talent to describe really good topics. Reads the blog site is genuinely good and you will find certainly many typical guests. No wonder, while using excellent content material. In any circumstance, it was a enjoyment to devote time on your web site and understand the intriguing post.

  246. توسط Feveantee در مهر ۲, ۱۳۸۹ | پاسخ

    viagra djelovanje,viagra headache 345)()(

  247. توسط Feveantee در مهر ۳, ۱۳۸۹ | پاسخ

    viagra dla kobiet,viagra bottle 345)()(

  248. توسط Feveantee در مهر ۳, ۱۳۸۹ | پاسخ

    side effects of lipitor,lipitor side effects 345)()(

  249. توسط Used Golf Clubs در مهر ۹, ۱۳۸۹ | پاسخ

    What is the big difference in between a automobile along with a golf golf ball? Mr. Woods can drive a golf ball 400 yards.

  250. توسط Forearms در مهر ۱۱, ۱۳۸۹ | پاسخ

    Do you think boxing or mma is better for fighting and self-defense?

  251. توسط roulette systems در مهر ۲۰, ۱۳۸۹ | پاسخ

    Yikes this definitely takes me back, definitely consider a follow up post.

  252. توسط cheap auto insurance در مهر ۲۶, ۱۳۸۹ | پاسخ

    cheap auto insurance

  253. توسط Pharmb891 در مهر ۲۷, ۱۳۸۹ | پاسخ

    Hello! edecdcd interesting edecdcd site!

  254. توسط Pharmb60 در مهر ۲۷, ۱۳۸۹ | پاسخ

    Very nice site! cheap viagra

  255. توسط Pharmc560 در مهر ۲۷, ۱۳۸۹ | پاسخ

    Very nice site! [url=http://opxaiey.com/oyyrtky/2.html]cheap cialis[/url]

  256. توسط Pharmg786 در مهر ۲۷, ۱۳۸۹ | پاسخ

    Very nice site! cheap cialis http://opxaiey.com/oyyrtky/4.html

  257. توسط Pharmd62 در مهر ۲۷, ۱۳۸۹ | پاسخ

    Very nice site!

  258. توسط Pharme472 در مهر ۲۸, ۱۳۸۹ | پاسخ

    Hello! deafekf interesting deafekf site!

  259. توسط Pharma309 در مهر ۲۸, ۱۳۸۹ | پاسخ

    Very nice site! cheap viagra

  260. توسط Pharmd203 در مهر ۲۸, ۱۳۸۹ | پاسخ

    Very nice site! [url=http://yieapxo.com/qroxyq/2.html]cheap cialis[/url]

  261. توسط Pharmg12 در مهر ۲۸, ۱۳۸۹ | پاسخ

    Very nice site! cheap cialis http://yieapxo.com/qroxyq/4.html

  262. توسط Pharme159 در مهر ۲۸, ۱۳۸۹ | پاسخ

    Very nice site!

  263. توسط loans در مهر ۲۹, ۱۳۸۹ | پاسخ

    Date Hello, I have browsed most of your posts. This post is probably where I got the most useful information for my research. Thanks for posting, maybe we can see more on this. Are you aware of any other websites on this subject

  264. توسط el gordo در مهر ۳۰, ۱۳۸۹ | پاسخ

    I liked seeing this, like your blog layout too. Is it wordpress?

  265. توسط vancouver property management در آبان ۶, ۱۳۸۹ | پاسخ

    I liked reading this, a good quick read.

  266. توسط build forearms در آبان ۷, ۱۳۸۹ | پاسخ

    Have you tried kettlebells?

    I lost 10 pounds of fat working out with kettlebells.

  267. توسط tweet-attacks در آبان ۹, ۱۳۸۹ | پاسخ

    Found y0ur amazing site with bing magnificent job

  268. توسط conspiracy theories در آبان ۹, ۱۳۸۹ | پاسخ

    Great post thanks, like your blog layout too. Is it Drupal?

  269. توسط Jerlene Bottiglieri در آبان ۹, ۱۳۸۹ | پاسخ

    This site seems to get a large ammount of visitors. How do you promote it? It gives a nice individual twist on things. I guess having something useful or substantial to talk about is the most important thing.

  270. توسط wózki dziecięce wielofunkcyjne در آبان ۱۲, ۱۳۸۹ | پاسخ

    I find myself coming to your blog more and more often to the point where my visits are almost daily now!

  271. توسط Aurelio Nevala در آبان ۱۳, ۱۳۸۹ | پاسخ

    You have a fresh attitude I hope you do well.

  272. توسط zwrot podatku z holandii در آبان ۱۳, ۱۳۸۹ | پاسخ

    zwrot podatku z holandia, praca na terenie holandii, zwrot podatku holandia, odzyskaj zwrot podatku

  273. توسط Poker zasady در آبان ۱۴, ۱۳۸۹ | پاسخ

    Literature is mostly about having sex and not much about having children. Life is the other way round.

  274. توسط office furniture در آبان ۱۴, ۱۳۸۹ | پاسخ

    A topic near to my heart thanks, please consider a follow up post.

ارسال نظر