TGViewer
کانال تخصصی SQLSERVER کانال تخصصی SQLSERVER @sqlserver_professional · 848 subscribers
Post #544 2.42K
#سوال

سلام ... میخوام یک دیتا بزرگ بزرگ در حد 1 ترا بایت کامل کپی کنم روی یک سرور دیگر در شبکه
چطور اون سرور رو وصل کنم به این سرور ؟
یعنی چطور نتورک سرور اییجاد کنم تا با کپی تسک بتونم کپیش کنم ؟

#پاسخ:
برای انتقال یک دیتابیس از یک سرور به سرور دیگر راه حل های زیر را متناسب با:

1- بستر فیزیکی بین دو سرورو
2- حجم دیتابیس انتقالی
3- میزان Down time قابل تحمل سیستم ارائه می شود.

1️⃣ بستر شبکه:

➖در صورتی که ارتباط بین دو سرور شما از طریق فیبر و یا CAt5e /Cat6/Cat7 باشد که سرعت 1000 Mps رو برای شما تأمین می کند:
بهترین روش ها میتونه:
👈تهیه Backup با حالت Compress و کپی کردن آن در سرور مقصد باشد. توجه کنید حتما در این حالت، تا حد ممکن فایل LDF رو خالی کنید. (Shrink - Checkpoint)
👈یکی از راه حل ها هم میتونه Detach کردن دیتابیس و کپی کردن فایل های LDF - MDF و انتقال آن ها به سرور مقصد باشد.
(در این روش ها میتونین یک درایو سرور مقصد رو Map کنید و یا مستقیا عمل کپی رو انجام دهید)
👈ایجاد Linked Srever بین دو سرور و استفاده از دستور Insert into جهت ایجاد جداول و .... در سرور مقصد

➖در صورتیکه ارتباط بین سرور ها UTP باشد و از Cat5 استفاده شده باشد:

👈تهیه بک آپ در سرور مبدأ در حالت فشرده ( حتما لاگ فایل رو به حداقل اندازه ممکن برسانید) . انتقال فایل بک آپ به یک هارد اکسترنال و انتقال آن به سرور مقصد پیشنهاد می شود

2️⃣در صورتیکه برای شما دسترسی پذیری دارای اهمیت می باشد:
(دقت کنید در این حالت راه حل Backup - Restore و Attach-Detach کاربردی نیستند)

راه حل های ممکن عبارتند از : Replication - Log shipping - Mirroring - Availability Group
روش Mirroring ,و Availability Group نیازمند برقراری ارتباط بین دو سرور - در یک دامین بودن سرورها (در حالت AG) و پیچیدگی های مرتبط با شبکه خاص خود را دارند.
برا ی این مورد Log Shipping گزینه مناسبی محسوب می شود.

3️⃣استفاده از ابزارهای جانبی (Third Party) برا ی این کار:

👈ابزار Redgate Sql Backup - Devart
👈استفاده از Litespeed ( جهت تسریع عملیات کپی - خودم زیاد باهاش آشنا نیستم)
👈 استفاده از Export /Import , Integration Services (SSIS) Import and Export Wizard

4️⃣ به عنوان نکته پایانی :
در صورتی که ورژن Sqlserver مقصد پایین تر از Sqlserver مبدأ باشد. در زمان ریستور کردن، با مشکل مواجه خواهید شد. در این حالت یکی از روش ها ایجاد اسکریپت از دیتابیس در سرور مبدأ و انتقال آن به سورو مقصد می باشد.

👌 نکته: روش فوق زمانی که حجم دیتابیس بالا باشد، ممکن است با خطال Out Of Memory مواجه شوید که با استفاده از BigRunner.WinFormsApp.exe جهت اجرای اسکریپت تولیدی در مقصد، مشکلتون حل خواهد شد. (البته راه حل دیگر تغییر در تنظیمات sql جهت افزایش حداکثر اندازه اسکریپت قابل اجرا می باشد)

(برا ی دیتابیس های با حجم کم هم همون Backup/Restor و یا استفاده از ابزارهایی مانند Database publisher Wizard خوب هستند)

محسن بندامیر @Mohsen_Bandamir
More from @sqlserver_professional
  1. Oct 29, 2022photo post
  2. Sep 13, 2022🗣🗣مژده، مژده: راه اندازی مجدد سایت codeeatsleep.ir با حمایت های خودتان، ما را در جهت انت…
  3. Apr 9, 2021Post #663
  4. Apr 4, 2021Post #662
  5. Mar 30, 2021عملیات انجام شده از زمان بروزرسانی یک رکورد، تا ثبت نهایی تغییرات بر روی دیسک
  6. Mar 30, 2021Post #660
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →