خانه SQL Server چگونه دیتابیس SQL Server را در داکر بازیابی کنیم؟ SQL Server نوشته شده توسط: تیم فنی نیک آموز ۲۸ آبان ۱۴۰۱ زمان مطالعه: 10 دقیقه ۴.۸ (۶) در این مقاله قصد داریم درمورد نحوه بازیابی (Restore) دیتابیس SQL Server در داکر صحبت کنیم. بهبیاندیگر تصمیم داریم بگوییم که چطور میتوان SQL Server نصبشده روی داکر را بازیابی کرد که روی ویندوز و سیستمعامل لینوکس کار میکند. بهعنوان دیتابیس نمونه از دیتابیسی استفاده کردیم که مایکروسافت دیتابیس نمونه آن را در گیت هاب (GitHub) به اشتراک گذاشته است. در خصوص دیتابیس نمونه میتوانید از لینک زیر اقدام به دانلود کنید. https://github.com/Microsoft/sql-server-samples/releases/ جهت انجام عملکردهایمان روی ویندوز سرور: یک دیتابیس نمونه را در دایرکتوری سرور دانلود کردیم (بهعنوانمثال: C:\SQL Backup) پس از پایان دانلود وضعیت کانتینر (container) را با پاور شل (PowerShell) بررسی میکنیم. اگر فعال نبود شروع میکنیم. جهت کنترل، از فرمان “docker ps – a”استفاده میکنیم. چنانچه پارامتر “-a”به ما فهرستی از کانتینرهایی میدهد که راهاندازی نمیشوند، ما کانتینر را با فرمان “docker start DockerID” راهاندازی میکنیم.در اینجا کانتینر ما به نام WinDockerSQL فعال است. پس از فعال کردن کانتینر نیاز به ایجاد مسیری است که بکآپ فایل به کانتینر انتقال یابد. به این منظور ابتدا پاور شل (PowerShell) روی کانتینر را راهاندازی میکنیم و یک فولدر ایجاد میکنیم. docker exec -it WinDockerSQL powershell پس از اینکه صفحه پاور شل (PowerShell) بالا آمد بهکمک گزینه ”Get-Location” موقعیت را بررسی میکنیم. در این قسمت یک فولدر به نام DockerSQLBACKUP در دایرکتوری c ایجاد میکنیم. New-Item -ItemType directory -Path C:\DockerSQLBACKUP اکنون ما فولدر را ایجاد کردیم و باید بکآپ دیتابیس C:\SQLBackup را که روی ویندوز سرور دانلود کرده docker cp C:\SQLBACKUP\AdventureWorks2017.bak WinDockerSQL:/C:/DockerSQLBACKUP در واقع با کد بالا فایل را از این محل به جایی که در داکر مسیر دادهایم، کپی میکنیم. اینک بکآپ دیتابیس تمام شده است و با اجرای فرمان “docker inspect” میتوان به ip address در SQL سرور دسترسی یافت. سپس روش کلاسیک بازیابی دیتابیس را اجرا میکنیم. همانگونه که ملاحظه میکنید یک فولدر DockerSQLBACKUP بکآپ در دایرکتوری C و نیز یک بکآپ دیتابیس به نام AdventureWorks2017 موجود است که آن را دانلود و کپی کردهایم. در نتیجه ما بکآپ دیتابیس را به کانتینری انتقال دادیم که در آن SQL سرور ۲۰۱۷ در داکر نصب شده و روی سیستمعامل ویندوز سرور ۲۰۱۶ راهاندازی کردیم. جهت اجرا روی لینوکس: از دستورات ذیل در ویندوز استفاده میکنیم. ابتدا لازم است بکآپ دیتابیس را در لینوکس دانلود کنیم. قبل از دانلود کردن با “pwd” بررسی میکنیم که در کدام دایرکتوری در لینوکس هستیم؛ بهعنوانمثال در اینجا ما در دایرکتوری “/home/cozenc” هستیم. <table class="crayon-table"><tr class="crayon-row"><td class="crayon-code"><div class="crayon-pre"><div class="crayon-line" id="crayon-638db5f0aed7d743610513-1">[code]wget ‘<a href="https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2017.bak">https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorks2017.bak</a> لازم است یک فولدر در کانتینر ایجاد کنیم که فایل بکآپ دیتابیس را به آن انتقال دهیم. درواقع در این مرحله ابتدا باید به کانتینر دسترسی داشته باشیم. sudo docker exec -it DockerSQL bash جهت ایجاد فولدر mkdir -p /var/opt/mssql/backup زمانی که مرحله ایجاد فولدر به پایان رسید، باید بکآپ دیتابیس را که در لینوکس دانلود کردیم، به کانتیتر انتقال دهیم. sudo docker cp /home/cozenc/AdventureWorks2017.bak DockerSQL:/var/opt/mssql/backup اکنونکه کپی دیتابیس به اتمام رسید، میتوان اقدام به بازیابی کرد. این مرحله شبیه روش بازیابی کلاسیک است. میتوان از طریق لینوکس به sqlcmd دسترسی داشت یا اینکه ریموت IP از طریق SSMS (مدیریت پایگاه داده SQL ) صورت گیرد. من از طریق برقراری ارتباط با SSMS. (مدیریت پایگاه داده SQL ) و ریموت IP توانستم پروسه بازیابی کلاسیک را اجرا کنم. بخشهایی که در داخل عکس با عبارت “d32bcf0bcc21”نشانهگذاری شده، اطلاعات (DockerID) هستند. میتوانید از طریق فرمان ps، مسیر بکآپ و بکآپ دیتابیس که در مسیر قرار دادهایم، به این اطلاعات دسترسی پیدا کنید. پس از پایان پروسه بازیابی میتوان اطلاعات ذیل را پس از کنترل آن با SSMS. (مدیریت پایگاه داده SQL ) مشاهده کرد. چه رتبه ای میدهید؟ میانگین ۴.۸ / ۵. از مجموع ۶ اولین نفر باش برچسب ها # Recovery# sql# SQL Server# آموزش SQL# آموزش SQL Server# آموزش داکر# لینوکس دانلود مقاله چگونه دیتابیس SQL Server را در داکر بازیابی کنیم؟ فرمت PDF 6 صفحه حجم 1 مگابایت دانلود مقاله معرفی نویسنده مقالات 264 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز پروفایل نویسنده مقالات مرتبط ۱۶ اردیبهشت SQL Server آشنایی با کاربردهای Always On در SQL Server تیم فنی نیک آموز ۰۹ اردیبهشت SQL Server حمله SQL Injection چیست؟ صفرتاصد حمله تزریق SQL و راه های جلوگیری از آن تیم فنی نیک آموز ۰۶ اردیبهشت SQL Server پایگاه داده برداری چیست؟ بررسی کاربردها، نحوه کار و آینده Vector Database تیم فنی نیک آموز ۰۲ اردیبهشت SQL Server تاثیر ایندکس های Computed-Column روی دستور DBCC CHECKDB تورج عزیزی دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ