تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: قطع کردن اتصال بانک اطلاعاتی به نرم افزار

  1. #1
    حـــــرفـه ای Ship Storm's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    IRAN - ALBORZ وضعیت فعلی: Intelligent Processing
    پست ها
    15,454

    13 قطع کردن اتصال بانک اطلاعاتی به نرم افزار

    سلام دوستان
    من یک بخش دارم تو نرم افزارم که برای تهیه نسخه پشتیبان از فایل Database پروژه طراحی شده
    وقتی میخوام فایل MDF موجود تو مسیر پروژه رو یک نسخه ازش Backup بگیرم ارور میده و میگه که MDF File Is In Use ....
    خوب این ارور مشخصه که میگه فایل بانک اطلاعاتی در حال استفاده هستش و امکان کپی گیری ازش نیست
    میخوام راهنمایی کنید که چکار کنم تو این زمان که بتونم ارتباط بانک اطلاعاتی رو قطع کنم و Backup رو تهیه کنم و مجدد ارتباط رو برقرار کنم که واسه پروژه مشکلی پیش نیاد
    من با یک دستور ساده فقط خواستم log و MDf رو کپی بگیرم تو مسیر دلخواه ولی اینجا مشکل برخوردم که منتظر راهنمایی شما عزیزان هستم
    ممنون

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    راه صحیح پشتیبانگیری SQLServer استفاده از امکانات داخلی خود SQLServer است.
    اگر برنامه نویسی میخواهید ابزار SMO و دستور BACKUP موجود است.
    اگر نرم افزارآماده میخواهید SQL Server Management Studio بخوبی این کار را انجام میدهد.

    توضیحات بیشتر برای برنامه نویسی و نمونه کد:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    (((
    یکجورهایی از من نشنیده بگیرید، نباید این حرف را بزنم ...!
    ولی اگر خیلی اصرار به کپی سریع mdf,ldf دارید و میخواهید سیستم بعدهم مجدد به سرعت به کارش ادامه دهد ...

    میتوانید سرویس "(SQL Server (MSSQLSERVER" را یافته و متوقف کنید و بعد از کپی فایل تان، آن را مجدد استارت کنید.
    برای این کار چندین راه وجود دارد که بهترین آنها استفاده از کنسول مدیریتی SQL Server Configuration Manager است که همیشه با SQL Server نصب میشود (در منوی Start آن را خواهید یافت)

    اخطار: این کار را هرگز در سطح یک شبکه با تراکنش های درحال کار، انجام ندهید، چون اطلاعات تراکنش های درحال انجام از دست خواهد رفت، مثل آن است که پریز را از برق بکشید!!!
    )))

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #3
    حـــــرفـه ای Ship Storm's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    IRAN - ALBORZ وضعیت فعلی: Intelligent Processing
    پست ها
    15,454

    پيش فرض

    ممنون و با تشکر از توجه شما به این موضوع و راهنمایی خوبتون
    من یک راهنمایی دیگه هم میخواستم
    من از یک دستور ساده برای کپی کردن فایل های mdf استفاده میکنم میخوام بدونم نمیشه همین رو طوری تغییر داد که یک لحظه ارتباط sql رو قطع کنه که بتونه کپی بگیره و بععد از انجام کپی مجدد ارتباط رو وصل کنه ؟
    این هم کد من برای کپی کردن فایل mdf پروژه ( همون به اصطلاح Backup گرفتن ) :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    کلاً این روش به دلایل متعدد درست نیست، مخصوصاً که بخواهد برنامه هم شود، از جمله ساده ترین دلایل میتوان به موارد زیر اشاره کرد:
    - عملکرد بسیار وحشتناک(!) در طی انجام تراکنش های آنلاین دیتابیس
    - اگر ریکاوری دیتابیس در حالت Simple نباشد، با این عمل لاگ های تراکنش خالی نشده و حجم دیتابیس شما مدام بطور نامتعارف بزرگتر شده و بازدهی آن کاهش می یابد.
    - نام سرویس مرکزی SQLServer در اغلب موارد ان است که در پست قبل نوشتم ولی این مورد در زمان نصب قابل تغییر است و برای کدنویسی قابل اتکا نیست.
    - عدم وجود مجوز لازم از طرف اکانت اجرا کننده برنامه
    - نصب سرویس SQLServer در رایانه دیگری (سرور) در شبکه
    و...
    و...

    این روش را فراموش کنید، من کمکی در این مورد نمیتوانم بکنم.

    ==============

    روش پیشنهادی:
    طبق روش معمولی ارتباطی به دیتابیس برقرار کنید و پشتیبانگیری را در مسیر دلخواه رایانه سرور انجام دهید.
    اگر برای دیتابیس تان User و Pass دارید میتوانید از رشته اتصالی(ConnectionString) شبیه این استفاده کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر هم User و Pass در زمان نصب ندادیده اید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر SQLServer را با نام نمونه سفارشی نصب کرده یا در رایانه دیگری نصب است، میتوانید بجای اولین نقطه، نام مورد نظر یا IP سرور و... را قراردهید.

    کد پیشنهادی:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •