درباره نویسنده

فرید طاهری

فرید طاهری

فرید طاهری هستم، بنیانگذار و مدیریت نیک آموز. برنامه نویسی، بازاریابی و مهمترین کارم ایده پردازی در مورد 0 تا 100 نیک آموز هست.

15 Comments

  1. tiyara9090@hotmail.com

    tiyara9090@hotmail.com

     عالی عای
    کاش زودتر با سایت شما آشنا میشدم

    پاسخ دادن
  2. فرشید علی اکبری

    فرشید علی اکبری

    سلام

    یک سئوالی که از خدمت آقای مسعود طاهری داشتم اینه که؛ بنده به تازگی در حال ورود به دنیای برنامه نویسی وب و MVC شدم و حالا میخوام بدونم آیا سناریو و نکاتی که در ویندوز اپلیکیشن در رابطه با تهیه نسخه پشتیبان از بانک اطلاعاتیم بکار گرفتم رو می تونم توی وب اپلیکیشن هم پیاده سازی کنم یا اینکه در دنیای وب برنامه نویس با محدودیت هایی برای تسلط و دسترسی فیزکی به دیتابیس خودش مواجه هستش؟
    بهتره برای شفاف سازی مطلب نکته مُبهمی که برام بوجود اومده را اینطور عنوان کنم که :
    در Win Application در یکی از بخشهای مدیریت سیستم فرمی در دسترس کاربر ارشد قرار دادم که می تونه هر (نوع بکاپ) و زمان تهیه اون رو برای تهیه نسخه پشتیبان بنا به سلیقه خودش فعال/غیرفعال کنه… و در نهایت سیستم مطابق با تنظیمات کاربر ارشد یک jobیی رو مطابق با درخواست آخرین تنظیمات اعمال شده مدیریت، روی بانک اطلاعاتی ایجاد/حذف میکنه و از این دست موارد …
    حالا میخوام ببینم آیا از این سناریوها هم می تونیم توی web application پیاده سازی کنیم یا اینکه محدودیت دسترسی به سرور و پایگاه داده رو داریم؟
    آیا امکان دریافت نسخه بکاپ از هاست روی هارد دیسک سرور محلی و بالعکس را داریم؟
    در مورد پیاده سازی TDE در web application چطور؟ 
    عذرخواهی میکنم که مطلبم طولانی شد.
    شاد و پاینده باشید.
    پاسخ دادن
  3. مسعود طاهری

    مسعود طاهری

        سلام

    ۱- شما می توانید اینکار را انجام دهید. برای دریافت فایل Backup باید وب سرور تون به پوشه ای که فایل بکاپ داخل آن قرار گرفته دسترسی داشته باشه تا بتوانید امکان دانلود آن فایل را به کاربر بدهید.
    ۲- TDE به ازای بانک اطلاعاتی خودتون باید راه اندازی کنید و از کلید ها و… Backup تهیه کنید. تا بتوانید هنگام Restore  از آن استفاده کنید.
    ۳- معمولا این نوع امکانات (تنظیم جاب و…) را در اختیار کاربران با APP نمی گذارند. بهتر است این کار را شما سمت دیتا بیس انجام دهید و وقت خود را صرف Business + فروش برنامه بگذارید. دلیل این موضوع هم این است وقتی SSMS این قابلیت را به شما می دهد می توانید از آن استفاده کنید. ببینید فکر کنید آیا واقعا کاربر با این قابلیت حال می کند. آیا ارزش دارد روی این موضوع (دادن کنسول تنظیمات و…) وقت زیادی صرف کنید. امیدوارم از این موضوع ناراحت نشده باشید واقعیت این است که چندین برنامه این طوری دیدم با Developerهای اونها صحبت کردم و بیشتر آنها به این نتیجه رسیدن که دادن امکاناتی در این سطح زیاد به کار کاربران نمی آید … امیدوارم از این نظر من ناراحت نشده باشید.
    پاسخ دادن
    1. فرشید علی اکبری

      فرشید علی اکبری

         سلام

      ممنون از پاسخ تون.
      اتفاقاً حق با شماست… بعضی وقت ها چندین روز صرف طراحی و پیاده سازی بخشی از سیستم میکنیم و درنهایت برای بیشتر کاربران بلااستفاده می ماند چرا که هرچقدر هم توضیح دهیم بیشتر آنها متوجه اهمیت کار نمی شوند. ولی بنظرم حالا که اینهمه زمان برای انجام این قسمت صرف شده باید این امکان را کلاً در سطح دسترسی پشتیبانی خودمان و به دور از دسترس کاربران قرار دهیم تا حداقل با دسترسی از راه دور برخی از مشکلات آتی کاربران را برطرف نمائیم. شاید از نظر برخی همکاران کمی خنده دار بنظر برسد ولی حتی کنسولی هم برای تغییر مسیر tempdb و دیتابیس اصلی و حتی تک تک دیتا فایل های هر زیر سیستم بمنظور دسترسی کاربر ارشد (البته با گرفتن تعهد از مسئول مربوطه) و رفع اشکالات آتی توسط خودشان ایجاد و در قسمت تنظیمات مدیریتی قرار دادم که فکر میکنم بهتر باشه این مورد هم از دسترس کلیه کاربران خارج کرده و در دسترس پشتیبانی از راه دور خودمان قرار گیرد.
      و درکل بیشتر این کارهای اضافی که ما انجام داده ایم باعث شده حتی اکثر کاربران قراردادهای پشتیبانی سالانه خود را نیز تمدید نکنند چون کارهایی که ما قراره انجام بدیم خود سیستم مثل رُبات انجام میده و دیگه اونها نیازی بما احساس نمیکنند چه برسد به تحمیل هزینه ناچیزی برای تمدید پشتیبانی….
      بازم تشکر از راهنمایی تون.
      پاسخ دادن
  4. زهرا شکری

    زهرا شکری

       سلام
    با تشکر از انتقال تجربیات و نکات کاربردی. اگه این مطالب در قالب یک پروژه فرضی هم بصورت تصویری ارائه شود حتما مفیدتر خواهد بود.
    تشکر و وقتتون بخیر

    پاسخ دادن
    1. مسعود طاهری

      مسعود طاهری

          سلام 

      برای این موضوع در آینده کارگاه های آموزشی خواهیم داشت.
      از پیشنهاد شما سپاسگزارم در ضمن برای افزایش سرعت عملیات Backup & Restore در SQL Server می توانید از این محصول استفاده کنید
      پاسخ دادن
      1. زهرا شکری

        زهرا شکری

           از راهنمایی و حسن توجه شما سپاسگزارم.

  5. جواد

        سلام خسته نباشید 

    ببخشید یک سوال داشتم من یک بکاپ از یک بانک که در sql server 2012 ساخته شده است و در sql server 2014 restore کردم و یکسری اطلاعات را توی اون ریختم و بکاپ ازش گرفتم و خواستم اون رو در sql server 2012  برگردانم خطای زیر را میدهد؟ و compatibity level  اون ۱۱۰ است
    The database was backed up on a server running version 12.00.2000. That version is incompatible with this server, which is running version 11.00.2100. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.
    ممنون
    پاسخ دادن
    1. مسعود طاهری

      مسعود طاهری

          سلام به محض اینکه بانک اطلاعاتی شما در نسخه ۲۰۱۴ ایجاد شده اطلاعاتی در Pageهای سیستمی بانک اطلاعاتی نوشته می شود. حال اگر از آن Backup بگیرید و به نسخه پایین تر مانند SQL Server 2012 منتق کنید فایل Backup شما شناخته نمی شود. چون این Backup با نسخه جدید ایجاد شده است و… 

      عملا با Backup & Restore ساده نمی توان از نسخه بالا به پایین مهاجرت کرد. برای اینکار باید از روش هایی مانند
      ۱- استفاده از Import Export
      2- انتقال تغییرات با اسکریپت
      ۳- و…
      استفاده کرد
      موفق باشید
      پاسخ دادن
  6. جواد

      سلام خسته نباشید
    میخواستم روی فایل بکاپم رمز بگذارم وقتی میخوام این کارو انجام بدم این خطا رو میده
    One or more of the options (mediapassword) are not supported for this
    statement.
    اگه امکانش هست راهنماییم کنید و اینکه از لحاظ امنیت فایل بکاپ همین رمز کافیه یعنی کسی نمیتونه بازیابی کنه
    خیلی ممنون

    پاسخ دادن
    1. مسعود طاهری

      مسعود طاهری

          سلام

      این ویژگی (Password) از نسخه ۲۰۰۸R2 به بعد حذف شده است
      به جای آن می توانید در SQL Server 2014 از قابلیت Backup Encryption استفاده کنید 
      و در نسخه های پایین تر بانک اطلاعاتی را با استفاده از TDE به صورت خودکار Enc کنید که در این حالت Backup شما هم Enc خواهد شد. توجه داشته باشید با ویژگی TDE عملیات Enc,DEC به شکل خودکار انجام می شود
      Enc: Encryption
      Dec: Decryption
      مقالاتی متعددی در خصوص TDE در سایت وجود دارد می توانید آنها را بررسی کنید.
      موفق باشید
      پاسخ دادن
  7. جواد

       خیلی ممنون آقای طاهری
    ببخشید اگه امکانش هست یک مقاله در مورد index view بگذارید
    خیلی خیلی ممنون از سایت بسیار خوبتون

    پاسخ دادن
  8. Mehdi

    سلام،

    از یک دیتابیس روی یک سرور به صورت فشرده بک آپ می گیرم و بعد از انتقال روی سرور دیگر ریستور میکنم، با خطای incorrectly formed مواجه میشم، اما وقتی بک آپ را به صورت عادی و غیر فشرده می گیرم با موفقیت ریستور میشه.

    علت این مشکل چی می تونه باشه؟

    ممنون

    پاسخ دادن
    1. مسعود طاهری

      مسعود طاهری

      کد زیر را در مبدا و مقصد اجرا کنید و نسخه SQL Server را بررسی کنید
      SELECT @@Version

      آیا هر دو یکسان هستند ؟

      پاسخ دادن

ارسال نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق مادی و معنوی این وب سایت متعلق به نیک آموز می باشد.
این سایت توسط تیم آموزش برنامه نویسی نیک آموز مدیریت می شود.