همه چیز درباره Attach و Detach در SQL Server

همه چیز درباره Attach و Detach در SQL Server

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۲۷ خرداد ۱۴۰۳
آخرین بروزرسانی: ۲۸ خرداد ۱۴۰۳
زمان مطالعه: 8 دقیقه
۳.۵
(۴)

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

دوره آموزشی نگهداری از بانک‌های اطلاعاتی در SQL Server نیک آموز

مفهوم Attach و Detach در SQL Server

اهمیت Attach و Detach در SQL Server زمانی مشخص می‌شود که بخواهید حجم زیادی از داده‌های یک دیتابیس را جدا کنید و آن را دوباره به همان یا نمونه دیگری از دیتابیس SQL Server بچسبانید. پیش از اینکه به‌سراغ کاربردهای این دو عمل برویم، بیایید ابتدا کمی بیشتر با آن‌ها آشنا شویم.

Attach در SQL Server

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

Detach در SQL Server

Detach در SQL Server نقطه مقابل Attach است. زمانی که شما داده‌ها را از نمونه SQL Server جدا می‌کنید، بدون اینکه فایل‌های دیتابیس حذف شوند، درواقع از Detach استفاده کرده‌اید. در این حالت، ارتباط بین دیتابیس و آن نمونه SQL Server قطع می‌شود و دیگر در دسترس نیست. Detach در SQL Server زمانی کاربردی است که شما قصد دارید فایل‌های دیتابیس را به جای دیگری منتقل کنید، یا اینکه داده‌ها نیاز به تعمیر و نگهداری (Maintenance) دارند و باید به نمونه دیگری انتقال پیدا کنند. البته به‌طورکلی، Detach کاربرد کمتری نسبت به Attach دارد.

استفاده‌ های متداول از Attach و Detach

مهم‌ترین کاربردهای Attach و Detach در SQL Server که می‌توانند به‌صورت مکمل استفاده شوند، عبارتند از:

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

فرآیند و روش اجرای Attach در SQL Server

  1. به موتور پایگاه داده متصل شوید و از بخش Databases، گزینه Attach را انتخاب کنید.

 

فرایند و روش اجرای Attach در SQL Server

 

  1. روی Add کلیک کنید تا فایل mdf را پیدا کنید که قصد Attach کردن آن را دارید. فایل را انتخاب کنید و OK را بزنید.

 

Attach و Detach در SQL Server

 

  1. زمانی که از انتخاب فایل صحیح مطمئن شدید، روی OK کلیک کنید. می‌بینید که صفحه یک علامت سبز را نشان می‌دهد و سپس بسته می‌شود.

 

فرایند و روش اجرای Attach در SQL Server

 

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

 

C:\ProgramFiles\MicrosoftSQLServer\MSSQL16.MSSQLSERVER\MSSQL\DATA\AdventureWorks2022_Data.mdf

 

فرآیند و روش اجرای Detach در SQL Server

  1. ابتدا روی Databases کلیک کنید و از بخش Database Snapshots ، گزینه Tasks و سپس Detach را انتخاب کنید.

 

Attach و Detach در SQL Server

 

  1. سپس صفحه زیر را مشاهده می‌کنید.

 

فرایند و روش اجرای Detach در SQL Server

 

گزینه Drop Connections نشان می‌دهد که آیا اتصالی به دیتابیس فعلی وجود دارد یا خیر. توجه داشته باشید که امکان جداکردن دیتابیس با اتصالات فعال وجود ندارد و در این حالت، Detach ناموفق خواهد بود.

گزینه Update Statistics هم آمارهای قدیمی را قبل از جداکردن دیتابیس به‌روز می‌کند. اگر تیک این گزینه را بردارید، آمار به همان شکلی باقی می‌ماند که در زمان جدا کردن دیتابیس بود.

  1. هردو گزینه را انتخاب کنید و OK را بزنید. زمانی که Detach اتفاق بیافتد، وضعیت به Success تغییر می‌یابد.

 

فرایند و روش اجرای Detach در SQL Server

 

تفاوت بین Attach و Detach در SQL Server چیست؟

همانطور که گفتیم، Attach و Detach در SQL Server به نوعی در مقابل یکدیگر قرار می‌گیرند. زمانی که یک دیتابیس را پیوست (Attach) می‌کنید، یعنی:

  1. فایل پایگاه داده به یک نمونه SQL Server متصل می‌شود.
  2. داده‌ها برای درخواست کوئری جدید، اصلاح، تعمیر و نگهداری در دسترس هستند.

در مقابل، وقتی که دیتابیس را جدا (Detach) می‌کنید، به این معناست که:

  1. آن داده‌ها از نمونه SQL Server حذف می‌شوند و دیگر برای استفاده در دسترس نیستند.
  2. فایل داده‌ها آسیبی نمی‌بیند، دست‌نخورده باقی می‌ماند و می‌توانید آن را به نمونه دیگری از SQL Server متصل کنید.

چه زمانی نمی توانیم Attach و Detach در SQL Server را انجام دهیم؟

در بعضی مواقع، امکان اجرای Attach و Detach در SQL Server وجود ندارد. بیایید این موقعیت‌ها را به تفکیک برای هرکدام بررسی کنیم.

دلایل انجام نشدن Attach

چرا نمی‌توان دیتابیس را Attach کرد؟ شاید پاسخ این مشکل شما در بین موارد زیر باشد:

  1. دیتابیس حاوی فایل‌های بازیابی است و نمی‌تواند پیوست شود. اگر Sequence بازیابی را متوقف کنید، می‌توانید پیوست‌کردن دیتابیس را انجام دهید. بعد از تمام‌شدن عملیات، می‌توانید دوباره Sequence را آغاز کنید.
  2. دیتابیس ایجادشده در نسخه‌های جدیدتر SQL Server را نمی‌توان به نسخه‌های قبلی پیوست کرد.
  3. دسترسی کامل به فایل‌های دیتابیس را ندارید.

علت های اجرا نشدن Detach

اگر هریک از موارد زیر برای شما صدق کند، نمی‌توانید دیتابیس را جدا کنید:

  1. دیتابیس تکثیر و منتشر شده است. در چنین شرایطی، قبل از جداکردن پایگاه داده، باید انتشار آن را با اجرای sp_replicationdboption غیرفعال کنید.
  2. یک Snapshot روی دیتابیس وجود دارد. قبل از جداکردن پایگاه داده، باید تمام Snapshot ها را پاک کنید.
  3. دیتابیس جزو گروه همواره دسترس (Always On Availability) است. تا زمانی که پایگاه داده از این گروه حذف نشود، نمی‌توان آن را جدا کرد. 
  4. دیتابیس در Mirroring Session قرار دارد.
  5. دیتابیس از نوع پایگاه داده سیستمی است و قابل جداشدن نیست.

جمع بندی: Attach و Detach در SQL Server

Attach و Detach در SQL Server دو عمل کاربردی هستند که امکان افزودن داده به دیتابیس یا حذف از آن را با سرعت بیشتر فراهم کرده‌اند. در این مقاله، هرآنچه لازم بود درباره این عملیات بدانید، باهم بررسی کردیم و شیوه انجام هرکدام را آموزش دادیم.

چه رتبه ای می‌دهید؟

میانگین ۳.۵ / ۵. از مجموع ۴

اولین نفر باش

title sign
دانلود مقاله
همه چیز درباره Attach و Detach در SQL Server
فرمت PDF
6 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
313 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
دیدگاه کاربران

هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link
ثبت‌نام دوره‌های آنلاین تابستانه نیک‌آموز شروع شد 🏄
مشاهده سرفصل و رزرو رایگان
close-image