همه چیز در مورد قفل کردن در SQL Server

ساخت وبلاگ

قفل سرور SQL بخش اساسی الزام انزوا است و برای قفل کردن اشیاء تحت تأثیر یک معامله است. در حالی که اشیاء قفل شده اند ، SQL Server از ایجاد سایر معاملات در اشیاء تحت تأثیر قفل تحمیل شده جلوگیری می کند. پس از آزاد شدن قفل با تعهد تغییرات یا با تغییر دادن تغییرات در حالت اولیه ، سایر معاملات مجاز به ایجاد تغییرات داده مورد نیاز خواهند بود.

ترجمه شده به زبان سرور SQL ، این بدان معنی است که وقتی یک معامله قفل را روی یک شیء تحمیل می کند ، تمام معاملات دیگری که نیاز به دسترسی به آن شیء دارند ، مجبور می شوند منتظر بمانند تا قفل آزاد شود و انتظار با انتظار کافی ثبت شودنوع

قفل های سرور SQL را می توان از طریق حالت های قفل و دانه بندی قفل مشخص کرد

حالت قفل

حالت قفل انواع مختلفی از قفل را که می تواند برای منبعی که باید قفل شود استفاده می کند:

  • منحصر به فرد (x)
  • به اشتراک گذاشته شده (ها)
  • بروزرسانی (U)
  • هدف (من)
  • طرحواره (SCH)
  • بروزرسانی فله (BU)

قفل منحصر به فرد (X) - این نوع قفل ، در صورت تحمیل ، اطمینان حاصل می کند که یک صفحه یا ردیف منحصراً برای معامله ای که قفل انحصاری را تحمیل می کند ، محفوظ است ، تا زمانی که معامله قفل را نگه دارد.

قفل انحصاری هنگامی که می خواهد داده های صفحه یا ردیف را تغییر دهد ، توسط معامله اعمال می شود ، که در مورد بیانیه های DML حذف ، درج و به روزرسانی است. قفل انحصاری را می توان به یک صفحه یا ردیف تحمیل کرد فقط در صورتی که هیچ قفل مشترک یا انحصاری دیگری که قبلاً روی هدف تحمیل شده است وجود ندارد. این به طور عملی بدان معنی است که فقط یک قفل انحصاری را می توان به یک صفحه یا ردیف تحمیل کرد و پس از تحمیل هیچ قفل دیگری را نمی توان به منابع قفل شده تحمیل کرد

قفل (های) مشترک - این نوع قفل ، در صورت تحمیل ، یک صفحه یا ردیف را فقط برای خواندن در دسترس قرار می دهد ، به این معنی که از هرگونه معامله دیگر برای اصلاح رکورد قفل شده تا زمانی که قفل فعال باشد ، جلوگیری می شود. با این حال ، یک قفل مشترک را می توان با چندین معاملات همزمان در همان صفحه یا ردیف تحمیل کرد و از این طریق چندین معاملات می توانند توانایی خواندن داده ها را به اشتراک بگذارند زیرا فرایند خواندن به هیچ وجه روی صفحه واقعی یا داده های ردیف تأثیر نمی گذارد. علاوه بر این ، یک قفل مشترک اجازه می دهد تا عملیات نوشتن را انجام دهد ، اما هیچ تغییر DDL مجاز نخواهد بود

به روز رسانی قفل (U) - این قفل شبیه به یک قفل منحصر به فرد است اما به گونه ای طراحی شده است که به نوعی انعطاف پذیر تر باشد. قفل بروزرسانی را می توان در رکوردی که قبلاً قفل مشترک دارد ، تحمیل کرد. در چنین حالتی ، قفل بروزرسانی قفل مشترک دیگری را در ردیف هدف تحمیل می کند. هنگامی که معامله ای که قفل بروزرسانی را در اختیار دارد آماده تغییر داده ها است ، قفل بروزرسانی (U) به قفل انحصاری (X) تبدیل می شود. درک این نکته مهم است که قفل بروزرسانی از نظر قفل های مشترک نامتقارن است. در حالی که قفل بروزرسانی را می توان در یک رکورد که دارای قفل مشترک است ، تحمیل کند ، قفل مشترک را نمی توان در رکوردی که قبلاً قفل بروزرسانی را دارد ، تحمیل کرد

قفل های هدف (i) - این قفل وسیله ای است که توسط یک معامله برای اطلاع از معامله دیگر در مورد قصد خود برای دستیابی به قفل استفاده می شود. هدف از این قفل اطمینان از اصلاح داده ها به درستی با جلوگیری از معامله دیگر برای دستیابی به قفل در مورد بعدی در شیء سلسله مراتب است. در عمل ، هنگامی که یک معامله می خواهد قفل را در ردیف بدست آورد ، یک قفل قصد را روی یک میز به دست می آورد ، که یک شیء سلسله مراتبی بالاتر است. با دستیابی به قفل هدف ، معامله به معاملات دیگر اجازه نمی دهد قفل انحصاری را در آن جدول بدست آورند (در غیر این صورت ، قفل انحصاری تحمیل شده توسط برخی از معامله های دیگر ، قفل ردیف را لغو می کند).

این یک نوع قفل مهم از جنبه عملکرد است زیرا موتور پایگاه داده SQL Server فقط قفل های هدف را فقط در سطح جدول بازرسی می کند تا بررسی کند که آیا برای معامله امکان دستیابی به قفل به صورت ایمن در آن جدول وجود دارد ، و بنابراین هدف قفل را از بین می بردبرای اطمینان از اینکه معامله می تواند قفل را در کل جدول به دست آورد ، باید از قفل ردیف/صفحه در یک جدول استفاده کنید

سه قفل هدف منظم و سه قفل به اصطلاح تبدیل وجود دارد:

قفل های منظم:

Intent Exclusive (IX) - هنگامی که یک قفل منحصر به فرد هدف (IX) به دست می آید ، به SQL Server نشان می دهد که معامله قصد دارد با دستیابی به قفل های اختصاصی (X) به طور جداگانه بر روی آن منابع سلسله مراتب پایین ، برخی از منابع سلسله مراتب پایین را اصلاح کند.

هدف مشترک (IS) - هنگامی که یک قفل مشترک با هدف (IS) به دست می آید ، به SQL Server نشان می دهد که معامله قصد دارد با دستیابی به قفل (ها) مشترک به صورت جداگانه در مورد منابع پایین تر در سلسله مراتب ، منابع سلسله مراتبی پایین را بخواند

به روزرسانی قصد (IU) - هنگامی که یک قفل مشترک با هدف (IS) به دست می آید ، به SQL Server نشان می دهد که معامله قصد دارد با دستیابی به قفل های مشترک به طور جداگانه در مورد منابع پایین تر در سلسله مراتب ، برخی از منابع سلسله مراتبی پایین را بخواند. قفل بروزرسانی هدف (IU) فقط در سطح صفحه قابل دستیابی است و به محض انجام عمل به روزرسانی ، آن را به قفل اختصاصی هدف (IX) تبدیل می کند.

قفل های تبدیل:

به اشتراک گذاشته شده با هدف منحصر به فرد (شش) - این قفل نشان می دهد که معامله قصد دارد تمام منابع را در یک سلسله مراتب پایین تر بخواند و بنابراین قفل مشترک را در تمام منابعی که در سلسله مراتب پایین تر هستند و به نوبه خود به دست می آورند تا بخشی از آن ها را اصلاح کند، اما نه همه. با انجام این کار ، قفل اختصاصی (IX) را برای آن منابع سلسله مراتبی پایین که باید اصلاح شود ، بدست می آورد. در عمل ، این بدان معنی است که پس از دستیابی به معامله شش قفل روی میز ، قفل اختصاصی (IX) را در صفحات اصلاح شده و قفل انحصاری (X) در ردیف های اصلاح شده بدست می آورد.

فقط یک مورد مشترک با هدف منحصر به فرد (شش) می تواند به طور همزمان روی یک جدول به دست بیاورد و سایر معاملات را از بروزرسانی ها مسدود می کند ، اما مانع از خواندن سایر معاملات نمی شود تا منابع سلسله مراتبی پایین را که می توانند هدف مشترک را به دست آورند ، بخواند (IS است (IS)) قفل روی میز

به اشتراک گذاشته شده با Update intent (SIU) - این یک قفل کمی خاص تر است زیرا ترکیبی از قفل های مشترک (ها) و به روزرسانی هدف (IU) است. یک نمونه بارز این قفل زمانی است که یک معامله از پرس و جو استفاده می کند که با اشاره و پرس و جو پیج اجرا شده است ، سپس پرس و جو به روزرسانی. پس از آنکه معامله یک قفل SIU را روی میز بدست آورد ، پرس و جو با اشاره پیج ، قفل مشترک (ها) را به دست می آورد در حالی که پرس و جو به روزرسانی به روزرسانی قصد (IU) را به دست می آورد.

به روز رسانی با هدف منحصر به فرد (UIX) - هنگامی که قفل های به روزرسانی قفل (U) و هدف منحصر به فرد (IX) در منابع سلسله مراتبی پایین در جدول به طور همزمان به دست می آیند ، به روزرسانی با قفل اختصاصی هدف در سطح جدول به دست می آید

قفل طرحواره (SCH)-موتور پایگاه داده SQL Server دو نوع قفل طرحواره را تشخیص می دهد: قفل اصلاح طرحواره (SCH-M) و قفل پایداری طرحواره (SCH-S)

  • قفل اصلاح طرحواره (SCH-M) هنگام اجرای یک بیانیه DDL به دست می آید و با تغییر ساختار شیء ، از دسترسی به داده های شیء قفل شده جلوگیری می کند. SQL Server اجازه می دهد تا یک قفل اصلاح طرح (SCH-M) را روی هر شیء قفل شده قفل کند. برای تغییر یک جدول ، یک معامله باید منتظر بماند تا یک قفل SCH-M را روی هدف هدف بدست آورد. پس از دستیابی به قفل اصلاح طرحواره (SCH-M) ، معامله می تواند جسم را اصلاح کند و پس از اتمام اصلاح و قفل آزاد شود. یک نمونه بارز از قفل SCH-M یک بازسازی شاخص است ، زیرا یک بازسازی شاخص فرآیند اصلاح جدول است. پس از صدور شناسه بازسازی شاخص ، قفل اصلاح طرحواره (SCH-M) در آن جدول به دست می آید و فقط پس از اتمام روند بازسازی شاخص (در صورت استفاده از گزینه آنلاین ، Index Rebuild Sch-M Lock را به دست می آورد. به زودی در پایان فرآیند)
  • قفل پایداری طرحواره (SCH-S) در حالی که یک پرس و جو وابسته به طرحواره در حال تهیه و اجرای برنامه است و برنامه اجرای آن ایجاد می شود ، به دست می آید. این قفل خاص برای دسترسی به داده های شیء ، معاملات دیگر را مسدود نمی کند و با تمام حالت های قفل سازگار است ، مگر با قفل اصلاح طرحواره (SCH-M). در اصل ، قفل های پایداری طرحواره توسط هر DML به دست می آیند و پرس و جو را برای اطمینان از یکپارچگی ساختار جدول انتخاب می کنند (اطمینان حاصل کنید که جدول در حالی که نمایش داده می شود تغییر نمی کند).

قفل های بروزرسانی فله (BU) - این قفل به گونه ای طراحی شده است که توسط عملیات واردات فله هنگام صدور با یک آرگومان/اشاره Tablock استفاده شود. هنگامی که یک قفل به روزرسانی فله ای به دست می آید ، سایر فرآیندهای قادر به دسترسی به یک جدول در هنگام اجرای بار فله نخواهند بود. با این حال ، یک قفل به روزرسانی فله مانع از پردازش بار فله دیگر به صورت موازی نمی شود. اما به خاطر داشته باشید که استفاده از Tablock در یک جدول شاخص خوشه ای اجازه می دهد تا واردات فله ای موازی باشد. جزئیات بیشتر در مورد این در دستورالعمل هایی برای بهینه سازی واردات فله در دسترس است

سلسله مراتب

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

در اصل ، همیشه یک قفل مشترک در سطح پایگاه داده وجود دارد که هر زمان که معامله به یک پایگاه داده وصل شود ، تحمیل می شود. قفل مشترک در سطح پایگاه داده برای جلوگیری از رها کردن بانک اطلاعاتی یا بازیابی نسخه پشتیبان از پایگاه داده بر روی پایگاه داده مورد استفاده ، تحمیل شده است. به عنوان مثال ، هنگامی که یک بیانیه انتخابی برای خواندن برخی از داده ها صادر می شود ، یک قفل (های) مشترک در سطح پایگاه داده تحمیل می شود ، یک قفل مشترک با هدف (IS) روی جدول و در سطح صفحه تحمیل می شود و به اشتراک گذاشته می شود. قفل (ها) روی خود ردیف

در صورت بیانیه DML (به عنوان مثال درج ، به روزرسانی ، حذف) ، قفل (های) مشترک در سطح پایگاه داده تحمیل می شود ، یک قفل اختصاصی هدف (IX) یا قفل بروزرسانی قصد (IU) روی جدول و روشن تحمیل می شود. سطح صفحه و قفل اختصاصی یا به روزرسانی (X یا U) در ردیف

Locks hierarchy DML

قفل ها همیشه از بالا به پایین به دست می آیند ، زیرا در این روش سرور SQL از بروز شرایط به اصطلاح مسابقه جلوگیری می کند.

اکنون که حالت های قفل و سلسله مراتب قفل توضیح داده شده است ، بیایید در مورد حالت های قفل و نحوه ترجمه آنها به یک سلسله مراتب قفل توضیح دهیم.

همه حالت های قفل در همه سطوح قابل استفاده نیستند.

در سطح ردیف ، سه حالت قفل زیر قابل استفاده است:

  • منحصر به فرد (x)
  • به اشتراک گذاشته شده (ها)
  • بروزرسانی (U)

برای درک سازگاری آن حالت ها ، لطفاً به جدول زیر مراجعه کنید:

 

منحصر به فرد (x) به اشتراک گذاشته شده (ها) بروزرسانی (U)
منحصر به فرد (x)
به اشتراک گذاشته شده (ها)
بروزرسانی (U)

✓ - سازگار ✗ - ناسازگار

در سطح جدول ، پنج نوع قفل مختلف وجود دارد:

  • منحصر به فرد (x)
  • به اشتراک گذاشته شده (ها)
  • Intent Exclusive (IX)
  • هدف مشترک (IS)
  • به اشتراک گذاشته شده با هدف انحصاری (شش)

سازگاری این حالت ها را می توان در جدول زیر مشاهده کرد

 

(ایکس) (S) (IX) (است) (شش)
(ایکس)
(S)
(IX)
(است)
(شش)

✓ - سازگار ✗ - ناسازگار

قفل طرحواره (SCH) نیز یک قفل سطح جدول نیز هست ، اما این یک قفل مربوط به داده نیست

برای درک بهتر سازگاری بین این انواع قفل ، لطفاً به این جدول مراجعه کنید:

تشدید قفل

به منظور جلوگیری از شرایطی که قفل از منابع بیش از حد استفاده می کند ، SQL Server ویژگی تشدید قفل را معرفی کرده است.

بدون افزایش ، قفل ها می توانند به مقدار قابل توجهی از منابع حافظه نیاز داشته باشند. بیایید مثالی را در جایی که باید قفل روی 30،000 ردیف داده ، که در آن هر سطر 500 بایت است ، برای انجام عملکرد حذف تحمیل کنیم. بدون افزایش ، یک قفل (های) مشترک در پایگاه داده ، 1 قفل منحصر به فرد قصد (IX) روی جدول ، 1،875 قفل اختصاصی قصد (IX) در صفحات (صفحه 8 کیلوبایت دارای 16 ردیف 500 بایت است ، که باعث می شود 1،875 باشد. صفحاتی که 30،000 ردیف دارند) و 30،000 قفل انحصاری (x) در خود ردیف ها. از آنجا که هر قفل به اندازه 96 بایت است ، 31،877 قفل برای یک عمل حذف واحد حدود 3 مگابایت حافظه طول می کشد. اجرای تعداد زیادی از عملیات به طور موازی می تواند به منابع قابل توجهی نیاز داشته باشد تا اطمینان حاصل شود که مدیر قفل می تواند عملکرد را به راحتی انجام دهد

برای جلوگیری از چنین شرایطی ، SQL Server از افزایش قفل استفاده می کند. این بدان معناست که در شرایطی که بیش از 5000 قفل در یک سطح واحد به دست می آیند ، SQL Server آن قفل ها را به یک قفل سطح جدول اختصاص می دهد. به طور پیش فرض ، SQL Server همیشه به طور مستقیم به سطح جدول تشدید می شود ، به این معنی که تشدید به سطح صفحه هرگز رخ نمی دهد. SQL Server به جای دستیابی به قفل ردیف ها و صفحات متعدد ، در سطح جدول به قفل اختصاصی (X) افزایش می یابد

در حالی که این امر نیاز به منابع را کاهش می دهد ، قفل های منحصر به فرد (X) در یک جدول به این معنی است که هیچ معامله دیگری قادر به دسترسی به جدول قفل شده نخواهد بود و تمام نمایش داده شدگان سعی در دسترسی به آن جدول مسدود می شوند. بنابراین ، این باعث کاهش سربار سیستم می شود اما احتمال مشاجره همزمانی را افزایش می دهد

به منظور ارائه کنترل بر افزایش ، با شروع SQL Server 2008 R2 ، گزینه LOCK_EXCALATION به عنوان بخشی از عبارت Alter Table معرفی می شود

استفاده از AdventureWorks2014 Go Alter Table Table_Name Set (lock_escalation =- یکی از این گزینه ها) بروید

هر یک از این گزینه ها تعریف شده است تا امکان کنترل خاص بر روند افزایش قفل را فراهم کند:

جدول - این گزینه پیش فرض برای هر جدول تازه ایجاد شده است ، زیرا به طور پیش فرض SQL Server همیشه افزایش قفل را به سطح جدول اجرا می کند ، که شامل جداول تقسیم شده نیز می شود

AUTO - این گزینه هنگام تقسیم جدول ، امکان افزایش قفل را به سطح پارتیشن می دهد. هنگامی که 5،000 قفل در یک پارتیشن واحد به دست می آید ، افزایش قفل قفل منحصر به فرد (X) را در آن پارتیشن به دست می آورد در حالی که جدول قفل اختصاصی قصد (IX) را به دست می آورد. در صورت عدم تقسیم جدول ، افزایش قفل قفل را در سطح جدول (برابر با گزینه جدول) به دست می آورد.

اگرچه این به نظر می رسد گزینه بسیار مفیدی است ، اما باید با دقت مورد استفاده قرار گیرد زیرا می تواند به راحتی باعث بن بست شود. در شرایطی که ما در دو پارتیشن که قفل انحصاری (X) به دست می آید ، دو معامله داریم و معاملات سعی می کنند به تاریخ پارتیشن استفاده شده توسط سایر معامله ها دسترسی پیدا کنند ، با یک بن بست روبرو خواهد شد

بنابراین ، کنترل دقیق الگوی دسترسی به داده ها بسیار مهم است ، اگر این گزینه فعال باشد ، که دستیابی به آن آسان نیست ، و به همین دلیل این گزینه تنظیمات پیش فرض در SQL Server نیست

غیرفعال کردن - این گزینه افزایش قفل را برای یک جدول کاملاً غیرفعال می کند. باز هم ، از این گزینه باید با دقت استفاده شود تا از مدیر قفل سرور SQL مجبور به استفاده از مقدار بیش از حد حافظه شود

همانطور که مشاهده می شود ، افزایش قفل می تواند یک چالش برای DBAS باشد. اگر طراحی برنامه نیاز به حذف یا به روزرسانی بیش از 5000 ردیف به طور همزمان دارد ، راه حلی برای جلوگیری از افزایش قفل و اثرات حاصل از آن ، تقسیم معامله واحد را به یک معامله دو یا چند معامله در جایی که هر کدام کمتر از 5000 ردیف را کنترل می کنند ، مانند این است. راهی که می توان افزایش قفل را از دست داد

اطلاعات مربوط به قفل های فعال SQL Server را دریافت کنید

SQL Server نمای مدیریت Dynamics (DMV) SYS. DM_TRAN_LOCKS را ارائه می دهد که اطلاعات مربوط به منابع Lock Manager را که در حال حاضر در حال استفاده هستند ، باز می گرداند ، به این معنی که تمام قفل های "زنده" به دست آمده توسط معاملات را نشان می دهد. جزئیات بیشتر در مورد این DMV را می توان در مقاله sys. dm_tran_locks (tranact-sql) یافت.

مهمترین ستون مورد استفاده برای شناسایی قفل ، Resource_Type ، Request_Mode و Resource_description است. در صورت لزوم ، ستون های بیشتر به عنوان منبع اضافی برای اطلاعات در هنگام عیب یابی می توانند درج شوند

در اینجا مثال پرس و جو است

Resource_Type ، Request_Mode ، Resource_description را از SYS انتخاب کنید. DM_TRAN_LOCKS WHERE RESPURE_TYPE<>"پایگاه داده"

بند Where در این پرس و جو به عنوان فیلتر موجود در Resource_Type برای از بین بردن استفاده می شود. از نتایج ، آن دسته از قفل های مشترک به اشتراک گذاشته شده در پایگاه داده از آنجا که این موارد همیشه در سطح پایگاه داده وجود دارند

توضیح مختصری از سه ستون ارائه شده در اینجا:

Resource_Type - یک منبع بانک اطلاعاتی را که در آن قفل ها به دست می آیند ، نمایش می دهد. ستون می تواند یکی از مقادیر زیر را نشان دهد: Allocation_Unit ، برنامه ، پایگاه داده ، وسعت ، پرونده ، سرگرمی ، ابرداده ، شی ، صفحه ، کلید ، RID

Request_Mode - حالت قفل را که در منبع به دست آمده است نشان می دهد

Resource_description - توضیحات منبع کوتاه را نشان می دهد و برای همه حالت های قفل جمعیت ندارد. اغلب ستون شامل شناسه ردیف ، صفحه ، شی ، پرونده و غیره است

نیکولا از سال 1981 دزدگیر رایانه است و یک علاقه مندان به SQL با قصد تبدیل شدن به یک دزدگیر. تخصصی در حسابرسی سرور SQL ، انطباق و نظارت بر عملکرد.

فداکار هواپیمایی هواپیمایی و مدل ساز هواپیما در مقیاس سخت. طرفدار ورزش شدید ؛مربی چترباز و بانجی پرش. یک بار جدی ، اکنون فقط یک عکاس وقت آزاد

آخرین پست های نیکولا دیمیتریجویچ (همه را ببینید)

  • راهنمای پرچم های ردیابی سرور SQL ؛ا ز-1 تا 840 - 4 مارس 2019
  • نحوه رسیدگی به نوع انتظار SQL Server WritElog - 13 ژوئن 2018
  • پیشخوان عملکرد سرور SQL (درخواست های دسته ای/SEC یا معاملات/SEC): چه نظارتی و چرا - 5 ژوئن 2018

پست های مرتبط:

  1. مروری بر روشهای ذخیره شده SP_GETAPPLOCK و SP_REELEASEAPPLOCK
  2. کتابهای برتر سرور SQL
  3. محافظت از بانکهای اطلاعاتی Azure SQL در برابر حذف تصادفی
  4. سوالات مصاحبه SQL Server Transaction
  5. نکات جدول سرور SQL - با (NOLOCK) بهترین شیوه ها

درباره نیکولا دیمیتریجیویچ

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

168 بازدید

ما را دنبال کنید!

ApexSQL Audit Lab

محبوب

  • توابع و قالب های تاریخ تبدیل SQL
  • راه های مختلف برای حذف SQL ردیف های تکراری از یک جدول SQL
  • متغیرهای SQL: اصول و استفاده
  • Partition By By By بررسی اجمالی
  • نحوه بروزرسانی از یک عبارت SELECT در SQL Server
  • SQL Server برای تبدیل یک رشته به یک تاریخ عملکرد دارد
  • در SQL Server وارد عبارت Temp Table شوید
  • SQL در حالی که با مثال های ساده حلقه می کند
  • نحوه تهیه نسخه پشتیبان و بازیابی پایگاه داده های MySQL با استفاده از دستور MySQLDump
  • نمای کلی از توابع رتبه SQL
  • متغیر جدول در سرور SQL
  • درک بیانیه ادغام SQL
  • نکات جدول سرور SQL - با (NOLOCK) بهترین شیوه ها
  • SQL چندگانه برای مبتدیان با مثال پیوست
  • نمونه های محاسبه درصد SQL در سرور SQL
  • درک نوع داده اعشاری SQL
  • Cascade را حذف کرده و Cascade را در SQL Server Exteal Key به روز کنید
  • نمای اجمالی عملکرد SQL LAG و نمونه ها
  • به نمای کلی و نمونه ها در عبارت SELECT وارد کنید
  • بیانیه پرونده در SQL

گرایش

  • عملیات پشتیبان گیری از ورود به سیستم SQL Server ، عملیات کوتاه و کوچک کردن
  • شش روش مختلف برای کپی کردن جداول بین بانکهای اطلاعاتی در SQL Server
  • نحوه اجرای رسیدگی به خطا در SQL Server
  • کار با خط فرمان SQL Server (SQLCMD)
  • روشهای جلوگیری از تقسیم SQL با خطای صفر
  • تکنیک های بهینه سازی پرس و جو در SQL Server: نکات و ترفندها
  • نحوه ایجاد و پیکربندی یک سرور مرتبط در SQL Server Management Studio
  • SQL Replace: نحوه جایگزینی کاراکترهای ویژه ASCII در SQL Server
  • نحوه شناسایی نمایش داده های در حال اجرا در SQL Server
  • SQL Varchar Type Deep Dive Dive
  • نحوه اجرای عملکردهای آرایه مانند در SQL Server
  • همه چیز در مورد قفل کردن در SQL Server
  • SQL Server رویه هایی را برای مبتدیان ذخیره می کند
  • تقسیم جدول پایگاه داده در SQL Server
  • نحوه رها کردن جداول دما در سرور SQL
  • نحوه تعیین فضای آزاد و اندازه پرونده برای پایگاه داده های سرور SQL
  • با استفاده از PowerShell برای تقسیم یک رشته به یک آرایه
  • دستور SPID را در SQL Server بکشید
  • نحوه نصب SQL Server Express Edition
  • بررسی اجمالی اتحادیه SQL ، استفاده و مثال

ApexSQL Audit Lab

راه حل

  • یک گزارش معامله سرور SQL را بخوانید
  • تکنیک های حسابرسی پایگاه داده سرور SQL
  • نحوه بازیابی داده های سرور SQL از بروزرسانی تصادفی و حذف عملیات
  • نحوه جستجوی سریع داده ها و اشیاء پایگاه داده SQL
  • پایگاه داده های سرور SQL را در منابع مختلف از راه دور هماهنگ کنید
  • داده های SQL را از یک جدول افتاده بدون پشتیبان بازیابی کنید
  • نحوه بازیابی جدول (های) خاص از پشتیبان گیری از پایگاه داده SQL Server
  • بازیابی داده های SQL حذف شده از سیاهههای مربوط به معاملات
  • نحوه بازیابی داده های سرور SQL از به روزرسانی های تصادفی بدون تهیه نسخه پشتیبان
  • به طور خودکار داده های سرور SQL را مقایسه و همگام سازی کنید
  • پرونده LDF را باز کنید و محتوای پرونده LDF را مشاهده کنید
  • به سرعت کد SQL را به کد مشتری خاص زبان تبدیل کنید
  • نحوه بازیابی یک جدول واحد از پشتیبان گیری پایگاه داده SQL Server
  • بازیابی داده های از دست رفته به دلیل عملکرد کوتاه و بدون پشتیبان گیری
  • نحوه بازیابی داده های سرور SQL از عملیات حذف تصادفی ، کوتاه کردن و رها کردن
  • بازگرداندن پایگاه داده SQL Server خود به یک نقطه خاص از زمان
  • نحوه ایجاد مستندات بسته SSIS
  • یک پایگاه داده SQL Server را به نسخه جدیدتر SQL Server مهاجرت کنید
  • نحوه بازگرداندن نسخه پشتیبان از پایگاه داده SQL Server به نسخه قدیمی SQL Server

دسته ها و نکات

  • ► حسابرسی و انطباق (50)
  • حسابرسی (40)
  • طبقه بندی داده ها (1)
  • نقاب داده (9)
  • خدمات تجزیه و تحلیل (SSA) (47)
  • BIML (10)
  • داده کاوی (14)
  • خدمات کیفیت داده (4)
  • ابزارهای داده (SSDT) (13)
  • انبار داده (17)
  • اکسل (20)
  • ژنرال (39)
  • خدمات ادغام (SSIS) (125)
  • کارشناسی ارشد داده ها (6)
  • Olap Cube (15)
  • Powerbi (97)
  • خدمات گزارش دهی (SSRS) (67)
  • خوشه بندی (16)
  • عبارات جدول مشترک (CTE) (11)
  • همزمانی (1)
  • محدودیت ها (8)
  • انواع داده ها (11)
  • FILESTREAM (22)
  • طراحی پایگاه داده عمومی (106)
  • پارتیشن بندی (13)
  • روابط و وابستگی ها (12)
  • جداول موقتی (12)
  • نماهای (16)
  • مقایسه (4)
  • تحویل مداوم (CD) (5)
  • ادغام مداوم (CI) (11)
  • توسعه (151)
  • توابع (109)
  • Hyper-V (1)
  • جستجو (10)
  • کنترل منبع (15)
  • آزمایش واحد SQL (23)
  • روشهای ذخیره شده (35)
  • جمع بندی رشته (3)
  • مترادف (1)
  • Team Explorer (2)
  • آزمایش (35)
  • ویژوال استودیو (14)
  • پردازش پرس و جو تطبیقی (11)
  • درج فله (16)
  • نامه پایگاه داده (10)
  • DBCC (7)
  • دستیار آزمایش (DEA) (3)
  • در دسترس بودن بالا (36)
  • فروشگاه پرس و جو (10)
  • تکرار (40)
  • گزارش معامله (59)
  • رمزگذاری داده های شفاف (TDE) (21)
  • هشدار (8)
  • همیشه در گروه های در دسترس بودن (82)
  • پسوند استخر بافر (BPE) (9)
  • شاخص ستون (9)
  • بن بست (16)
  • برنامه های اعدام (125)
  • در حافظه OLTP (22)
  • ایندکس ها (79)
  • Latches (5)
  • قفل (10)
  • نظارت (100)
  • عملکرد (196)
  • پیشخوان عملکرد (28)
  • تست عملکرد (9)
  • تجزیه و تحلیل پرس و جو (123)
  • گزارش ها (20)
  • نظارت SSAS (3)
  • نظارت SSIS (10)
  • نظارت SSRS (4)
  • انواع منتظر (11)
  • توسعه حرفه ای (27)
  • مدیریت پروژه (9)
  • سوالات مصاحبه SQL (35)
  • SQL Server 2012 (6)
  • SQL Server 2016 (63)
  • SQL Server 2017 (49)
  • SQL Server 2019 (57)
  • SQL Server 2022 (2)
  • AWS (46)
  • AWS RDS (56)
  • Azure Cosmos DB (33)
  • ظروف (12)
  • داکر (9)
  • پایگاه داده نمودار (13)
  • Kerberos (2)
  • Kubeetes (3)
  • لینوکس (44)
  • localdb (2)
  • mysql (57)
  • اوراکل (13)
  • پلی باز (10)
  • postgresql (43)
  • شیرپوینت (4)
  • اوبونتو (13)
  • پیشخوان های عملکردی
  • کد SQL قوانین را بوی می دهد
  • انواع سرور SQL

© 2023 Quest Software Inc. کلیه حقوق محفوظ است.|GDPR |شرایط استفاده |حریم خصوصی

استراتژی‌های اسکالپ...
ما را در سایت استراتژی‌های اسکالپ دنبال می کنید

برچسب : نویسنده : ناصر تقوایی بازدید : 39 تاريخ : دوشنبه 23 مرداد 1402 ساعت: 13:53