معامله پسروی در گذاشتن و سرور 2005

گذاشتن و سرور 2005 تازه راه را برای پسروی intoduced معاملات در گذاشتن و سرور 2005

XACT_ABORT در مجموعه

وقتی XACT_ABORT در. اظهارات تی گذاشتن و به طور خودکار پسروی معامله زمانی که خطا رخ داده است در اظهارات.

XACT_ABORT در مجموعه

استفاده Emp
آغاز ترنسپاندر
قرار دادن به ارزش ها EmpInfo(1)
قرار دادن به ارزش ها EmpInfo(1) — در این بیانیه به خطا کلید اولیه بالا بردن
قرار دادن به ارزش ها EmpInfo(2)
تعهد ترنسپاندر

خط اول از شخصی بدون هر گونه خطا در اجرا. خطا کلید اولیه در خط دوم بالا می برد. اما کل معامله بلوک نمایش داده نمی شود متعهد به دلیل XACT_ABORT در.

1 نظر به معامله عقبگرد در SQL Server 2005

  • noreply@blogger.com (تاد)

    شما باید توجه داشته باشید که XACT_ABORT پایان فعلی * دسته *, دستور کل. دسته ها با کلمه کلیدی GO جدا. اجرا خواهد شد و در آغاز از دسته بعدی ادامه خواهد داد.

    این ویژگی نیز در SQL Server 2000, هر چند که کمی متفاوت رفتار برای خطاهای مختلف.

    در SQL 2000, موارد وجود دارد که در آن XACT_ABORT نتواند به عقبگرد معامله به طور خودکار.

    مثلا:

    قرار دادن به نام ستون نامعتبر.

    قرار دادن به یک کلید اولیه با IDENTITY_INSERT OFF.

    اجرای یک SELECT که با استفاده از UDF غیر موجود.

    این نوع از خطاها معمولا با توجه به دستور ضعیف نویسنده, به طوری که آنها در عملیات روز به روز از برنامه شما رخ نمی دهد مگر آن که کسی طرح را تغییر می دهد. اما من امکان خود را به خود اختصاص هنگام نوشتن اسکریپت به روز رسانی پایگاه داده هنگامی که استقرار یک نسخه جدید از یک پروژه, فقط در مورد استقرار نمی شود به عنوان برنامه ریزی شده.

    راه هایی برای مقابله با این خطا وجود دارد. متعهد شما باید در دسته انجام اظهارات DML. پس از دسته ای (بعد از کلمه کلیدی GO) شما می توانید @ @ TRANCOUNT تا ببینید که اگر آن را بزرگتر از صفر باشد و مطابق آن عمل. معمولا عقبگرد معامله.

    معاملات می تواند دسته دهانه, بنابراین شما می توانید یک عقبگرد در اجرای یک دسته بعدی.

پاسخی بنویسید

شما می توانید استفاده کنید از تگ های اچ

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>