ورود

View Full Version : خطا در جابجايي فايل لاگ يك ديتابيس - Modify file



esteghamat
شنبه 20 دی 1393, 04:37 صبح
سلام
من سعي كردم كه مسير لاگ يك ديتابيس رو روي سيستم اصلي تغيير بدم . اما به خطا خوردم و اس كيو ال سرور خودش يك فايل لاگ جديد در مسير قبلي ايجاد كرد.
چرا چنين خطايي ايجاد شد و در ضمن اگر بخواهم مچددا تلاش كنم بايد لاگ فايل جديد رو منتقل كنم يا همون قبلي رو استفاد كنم ؟
جهت اطلاع اينكه : -
sql server account is : NT Service\MSSQLSERVER
- (File name and location path are right.)
لطفا راهنمايي كنيد . ممنون
--------------------------
Command : (After offline)
ALTER DATABASE ...Mydbname
MODIFY FILE ( NAME = ..._log, FILENAME = "NewPath...\..._log.ldf")
-----------------------
Error : (After online again)
Msg 5120, Level 16, State 101, Line 1
Unable to open the physical file "..._log.ldf". Operating system error 5: "5(Access is denied.)".
File activation failure. The physical file name "..._log.ldf" may be incorrect.
New log file "OldPath..._log.ldf' was created.

esteghamat
چهارشنبه 24 دی 1393, 12:14 عصر
جواب رو پیدا کردم. (حداقل به شکل زیر تجربه کردم)
اگر شما یک دیتابیس رو Detach‌کنید با استفاده از ابزار visual و سپس فایلها رو دستی منتقل کنید و سپس Attach‌هیچ مشکلی پیش نمی آید.
اما اگر از دستوراتی که گفتم پیش بروید (که حقیقتا در محیط های عملیاتی باید از این دستورات استفاده کنید. یعنی ابتدا Single user‌و سپس offline‌و سپس Modify File) حتما نیاز دارید که بعد از کپی لاگ در مسیر جدید و قبل از Online‌کردن دیتابیس حتما دسترسی full‌روی این فایل لاگ و نیز فولدر آن به Account ی که سرویس اصلی دیتابیس شما رو اجرا کرده بدهید. (نمی دونم چرا ولی اینطوریه)
موفق باشید