پاورپوینت تراکنشها در SQL Server

پاورپوینت تراکنشها در SQL Server (pptx) 20 اسلاید


دسته بندی : پاورپوینت

نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )

تعداد اسلاید: 20 اسلاید

قسمتی از متن PowerPoint (.pptx) :

بسم لله الرحمن الرحیم تراکنشها در SQL Server Transactions تراکنشها در SQL Server به مجموعه ای از دستورات که می بایست یا همگی با هم با موفقیت اجرا شوند و یا هیچکدام اجرا نشوند ، تراکنش گفته می شود . تراکنش ها باعث حفظ جامعیت داده های ذخیره شده در بانک اطلاعاتی می شوند . مزایای اصلی استفاده از تراکنشها در بانک های اطلاعاتی که مختصراً ACID نامیده می شوند ، به شرح زیر هستند : Atomicity (تجزیه ناپذیری) : تعریف دستورات در قالب یک فعالیت عملیاتی را به صورتیکه یا کلیه عملیات با هم اجرا شوند ویا هیچکدام اجرا نشوند را Atomicity می نامند . Consistency (پایداری) : یک تراکنش ، پس از خاتمه ، می بایست داده ها را در یک وضعیت پایدار قرار دهد ، به عنوان مثال در یک بانک اطلاعاتی رابطه ای ، پس از خاتمه یک تراکنش ، کلیه قوانین جامعیت داده ها ، بایستی به داده های تغییر یافته توسط تراکنش اعمال گردد و همجنین ساختارهای داخلی داده های ذخیره شده مانند Index ها بایستی پس از اعمال تغییرات بازسازی و به وضعیت پایدار برسند . Isolation (جدا سازی) : در هنگام کار با تراکنش ها ، یکی از مهمترین موارد ، امکان دسترسی همزمان یک یا چند کاربر به یک منبع داده مشترک است . تغییرات در یک تراکنش همزمان می بایست از تغییرات در تراکنش همزمان دیگر ، جدا باشد . Transactions تراکنشها در SQL Server Durability (مقاومت یا دوام ) : یک تراکنش پس از خاتمه می بایست دارای تاثیرات دائمی و ماندگار باشد . این بدان معنی است که عدم سازگاری ناشی از خرابی سیستم مانند قطع Power یا قطع شبکه و ... توسط تراکنش قابل کنترل و تصمیم گیری باشد . در SQL Server سه دسته امکانات برای رسیدن به اهداف فوق وجود دارد : امکانات قفل گذاری (Locking) که محیط را برای رسیدن به Isolation مناسب ، مهیا می سازد . امکانات واقعه نگاری (logging) که در صورت هر نوع خرابی ناشی از سیستم عامل ، شبکه ، سخت افزار ، برق ، یا حتی نسخه بانک اطلاعاتی ، با شروع مجدد ، وضعیت داده ها را به حالت قبل از شروع تراکنش باز می گرداند و در جهت رسیدن به Durability بکار گرفته می شود . امکانات مدیریت تراکنشها (Transaction Management) که اصولاً جهت پیش برد اهداف Atomicity و Consistency بکار گرفته می شود . در واقع پس از آغاز ، یک تراکنش ، بایستی بطور موفقیت آمیزی خاتمه یاید ، یا اینکه نسخه جاری مدیریت بانک اطلاعاتی ، همه داده های تغییر یافته در طول تراکنش را به وضعیت قبل از شروع تراکنش باز گرداند . Transactions تراکنشها در SQL Server در هنگام بروز هر نوع خطا در هنگام اجرای یک تراکنش ، عملیاتی تحت عنوان Recovery آغاز می شود . عملیات Recovery معمولاً توسط SQL Server مدیریت می شوند که Automatic Recovery نامیده می-شود . این عملیات خود سه دسته هستند : 1- با شروع مجدد سرویس SQL Server 2- با در خواست کاربر و اجرای دستور Rollback 3- سرویس خودکار مدیریت تراکنشها SQL Server هنگام شروع یک تراکنش ، وضعیت جاری را در فایل های Log ذخیره ، و چنانچه نیاز به بازیابی بود ، در هنگام Recovery ، اطلاعات مورد نظر را از فایلهای Log باز خوانی می نماید . انواع تراکنشها در SQL Server دو دسته اصلی از تراکنشها در SQL Server وجود دارند : 1- Single Transactions 2- Distributed Transactions دسته اول تراکنشها ، فقط روی یک بانک اطلاعاتی قابل استفاده هستند . در صورتیکه حوزه عملیاتی یک تراکنش بیش از یک بانک اطلاعاتی باشد ، بایستی از دسته دوم تراکنشها ، استفاده شود . در این حالت حتی این امکان وجود دارد که تراکنشها بر روی دو Server نیز استفاده شوند . این امکان با استفاده از سرویس MSDTC (Microsoft Distributed Transaction Coordinator) قابل انجام است . MSDTC انواع تراکنشها در SQL Server Transactions سه دسته اصلی از تراکنشهای Single Transactions در SQL Server وجود دارد : 1- تراکنشهای خودکار Auto commit Transactions 2- تراکنشهای صریح Explicit Transactions 3- تراکنشهای ضمنی Implicit Transactions دسته اول تراکنشهای خودکار : این دسته از تراکنشها ، توسط SQL Server و در هنگام اجرای دستورات Insert ، Update و Delete آغاز می شوند . در صورت موفقیت آمیز بودن و عدم وجود خطا بصورت خودکار Commit می شوند و در غیر اینصورت عملیات آنها ، لغو می گردد . این تراکنشها ، دارای مراحل مختلفی هستند که در زیر می بینیم : Instead Of Triggers Constraints After Triggers انواع تراکنشها در SQL Server Transactions دسته دوم تراکنشهای صریح : این دسته از تراکنشها ، دارای نقطه شروع و خاتمه مشخصی هستند . به شکل مقابل توجه کنید : انواع تراکنشها در SQL Server دسته سوم تراکنشهای ضمنی: این دسته از تراکنشها ، شباهت زیادی به تراکنشهای صریح دارند ، با این تفاوت که شروع تراکنش صریحاً توسط دستور Begin Transaction تصریح نمی شود و تراکنش های ضمنی با دستور زیر فعال یا غیر فعال می شوند : Set Implicit_Transactions {On|Off} به کد زیر توجه کنید : Use [Lab-EasyShop] Insert Into Customer Values (N'Bill' , N'Gates') Insert Into Customer Values (N'Paul' , N'Alen') Set Implicit_Transactions On Insert Into Customer Values (N'Steve' , N'Jobs') Update Customer Set FirstName = N'Bills' Where ID = 1 RollBack Transaction Insert Into Customer Values (N'Steve',N'Jobs') Commit Transaction Delete Customer Where ID In (21,22) Set Implicit_Transactions Off

نظرات کاربران

نظرتان را ارسال کنید

captcha

فایل های دیگر این دسته