هنگام انجام عملیات مهاجرت، بکآپ، بازگردانی، ایمپورت یا اکسپورت پایگاه داده Microsoft SQL در کنترل پنل پلسک، ممکن است با خطای زیر مواجه شوید:
Cannot open backup device ‘C:\\Program Files\\Plesk\\PrivateTemp\Temp47385.tmp’. Operating system error 5(failed to retrieve text for this error. Reason: 15105).BACKUP DATABASE is terminating abnormally. |
Unable to backup database content. Database db_example. Db server .\MSSQL2016:Cannot open backup device ‘C:\Windows\TEMP\tmp78C9.tmp’. Operating system error 5(Access is denied.).BACKUP DATABASE is terminating abnormally. |
Cannot open backup device ‘C:\Program Files (x86)\Parallels\Plesk\var\modules\panel-migrator\sessions\20180910022943\target-server\mssql-dumps\db_backup_example.com_db_example’. Operating system error 5(Access is denied.). VERIFY DATABASE is terminating abnormally. |
خطای Access Denied معمولاً به دلیل عدم دسترسی کافی کاربر سرویس SQL Server به پوشههای موردنظر ایجاد میشود. در این مقاله، به بررسی این خطا، دلایل بروز آن و راهحلهای گامبهگام برای رفع آن میپردازیم تا بتوانید عملیات خود را با موفقیت انجام دهید.
دلایل بروز خطای Operating System Error 5 در پلسک
خطای Access Denied Operating system error 5 معمولاً به دلیل عدم وجود مجوزهای کافی برای کاربر سیستمی SQL Server در دسترسی به پوشههای موقت یا مسیرهای ذخیرهسازی بکآپ رخ میدهد. این مشکل ممکن است در موارد زیر مشاهده شود:
- مهاجرت پایگاه داده: هنگام انتقال پایگاه داده از یک سرور به سرور دیگر.
- بکآپ پایگاه داده: در فرآیند تهیه نسخه پشتیبان از دیتابیس.
- بازگردانی پایگاه داده: هنگام تلاش برای بازیابی دیتابیس از فایل بکآپ.
- ایمپورت یا اکسپورت: در عملیات وارد کردن یا صادر کردن دیتابیس.
این خطا معمولاً به مسیرهای خاصی مانند C:\Program Files\Plesk\PrivateTemp یا C:\Windows\TEMP اشاره دارد که کاربر SQL Server به آنها دسترسی ندارد.
راهحل گامبهگام برای رفع خطای Access Denied
برای رفع خطای Access Denied، باید مجوزهای دسترسی کاربر SQL Server به پوشههای مربوطه را تنظیم کنید. در ادامه، مراحل دقیق این فرآیند توضیح داده شده است:
۱. اتصال به سرور پلسک از طریق RDP
ابتدا باید از طریق Remote Desktop Protocol (RDP) به سرور ویندوزی خود متصل شوید. برای این کار:
- نرمافزار Remote Desktop Connection را در ویندوز باز کنید.
- آدرس IP سرور و اطلاعات کاربری (نام کاربری و رمز عبور) را وارد کنید.
- پس از ورود، به سرور دسترسی خواهید داشت.
۲. شناسایی کاربر سیستمی SQL Server
برای رفع خطای Access Denied، باید کاربر سیستمی که سرویس SQL Server با آن اجرا میشود را شناسایی کنید:
CMD را باز کنید.
در Command Prompt، دستور زیر را وارد کنید تا پنجره تنظیمات ویندوز باز شود:
Services.msc

در پنجره Services، سرویس مربوط به SQL Server را پیدا کنید (معمولاً نامی مانند SQL Server (MSSQLSERVER) یا SQL Server (MSSQLSERVERXXXX) دارد، که XXXX نشاندهنده نسخه SQL است).

روی سرویس دوبار کلیک کنید تا پنجره Properties باز شود.
در تب Log On، نام کامل حساب کاربری (مانند NT Service\MSSQL$MSSQLSERVERXXXX) را کپی کنید.
حالا که کاربر سیستمی SQL Server را شناسایی کردید، باید به پوشهای که در پیام خطا ذکر شده (مانند C:\Program Files\Plesk\PrivateTemp) دسترسی کامل بدهید:
۳. تنظیم مجوزهای دسترسی برای پوشه
به مسیر ذکر شده در خطا (مانند %plesk_dir%var\modules\panel-migrator\sessions\20180910022943) بروید.

روی پوشه کلیک راست کرده و گزینه Properties را انتخاب کنید.
به تب Security بروید و روی دکمه Edit کلیک کنید.
در پنجره Permissions، روی Add کلیک کنید.
نام کاربری کپیشده (مثلاً NT Service\MSSQL$MSSQLSERVERXXXX) را جایگذاری کنید.
روی Check Names کلیک کنید تا نام تأیید شود، سپس OK را بزنید.
کاربر اضافهشده را انتخاب کنید.
گزینه Full Control را در بخش Permissions فعال کنید.
روی OK کلیک کنید تا تغییرات ذخیره شوند.
۴. بررسی و اجرای مجدد عملیات
پس از اعمال تغییرات، عملیات بکآپ، بازگردانی یا مهاجرت را دوباره اجرا کنید. در اکثر موارد، این تنظیمات مشکل را برطرف میکند. اگر خطا همچنان ادامه داشت، موارد زیر را بررسی کنید:
- وجود پوشه: مطمئن شوید که پوشه ذکرشده در خطا وجود دارد. اگر وجود ندارد، آن را به صورت دستی ایجاد کنید.
- نسخه SQL Server: اطمینان حاصل کنید که نسخه SQL Server روی سرور مقصد با نسخهای که بکآپ از آن تهیه شده سازگار است. برای اطلاعات بیشتر، به مقاله رفع خطای ناسازگاری نسخه SQL در پلسک مراجعه کنید.
پیشنهاد مطالعه: آموزش تصویری بازگردانی بکآپ سایت از طریق کنترل پنل پلسک |
نکات پیشرفته برای مدیران سرور
برای کاربران حرفهایتر، نکات زیر میتواند در رفع خطای Access Denied مفید باشد:
استفاده از PowerShell: برای تنظیم خودکار مجوزها، میتوانید از اسکریپت PowerShell زیر استفاده کنید:
$folderPath = "C:\Program Files\Plesk\PrivateTemp"
$user = "NT Service\MSSQL$MSSQLSERVER"
$acl = Get-Acl $folderPath
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($user, "FullControl", "ContainerInherit, ObjectInherit", "None", "Allow")
$acl.AddAccessRule($rule)
Set-Acl $folderPath $acl
بررسی لاگهای SQL Server: برای اطلاعات بیشتر، لاگهای SQL Server را در مسیر C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Log\ERRORLOG بررسی کنید.
- تنظیمات فایروال: مطمئن شوید که پورتهای موردنیاز SQL Server (مانند 1433) در فایروال باز هستند.
بهینهسازی بکآپ و بازگردانی در پلسک
برای جلوگیری از بروز مشکلات مشابه در آینده، نکات زیر را رعایت کنید:
- استفاده از ذخیرهسازی خارجی: بکآپها را در یک ذخیرهسازی FTP خارجی نگه دارید تا امنیت بیشتری داشته باشند.
- محافظت با رمز عبور: هنگام تهیه بکآپ، از گزینه Use password protection استفاده کنید تا دادههای حساس محافظت شوند.
- بررسی امضای بکآپ: برای اطمینان از یکپارچگی بکآپ، گزینه Upload backup files without a valid signature را غیرفعال کنید، مگر اینکه از منبع بکآپ مطمئن باشید.
نتیجهگیری
خطای Operating system error 5 (Access is denied) در پلسک معمولاً به دلیل مشکلات دسترسی کاربر SQL Server رخ میدهد و با تنظیم صحیح مجوزها قابلرفع است. با دنبال کردن مراحل این مقاله، میتوانید این خطا را بهراحتی برطرف کرده و عملیات بکآپ، بازگردانی یا مهاجرت پایگاه داده را با موفقیت انجام دهید.
این پست چقدر مفید بود؟
برای رتبه بندی روی یک ستاره کلیک کنید!
میانگین رتبه 0 / 5. تعداد آرا: 0
تاکنون هیچ رایی به دست نیامده است! اولین نفری باشید که این پست را رتبه بندی می کند.