ورود

View Full Version : نصب نسخه های متفاوت اس کیو ال روی یک instance



HDDSoft2001
یک شنبه 03 خرداد 1394, 13:06 عصر
با سلام

بنده admin یک سازمان می باشم. در این سازمان جندین برنامه وجود دارد که همگی از sql server استفاده می کنند، یکی از این برنامه ها فقط حجم فایل های آن نزدیک 70 گیگ شده است و بیشترین استفاده را دارد (از نظر اضافه، حذف، نمایش ... ).
و دیگر اینکه از نسخه های متفاوتی استفاده می شود، مثلا 2005، 2008 و 2012
ما برای هر برنامه یک سرور ایجاد کرده ایم و روی آن ویندوز سرور نصخه sql مربوطه را نصب و بانک آن را attach کرده و کار می کند. (نزدیک 3 ویندوز سرور ولی کلی منابع سخت افزاری)
علت این کار هم بدلیل این است که بنده فک میکنم اگر چندینت instance نصب گردد سرعت افت کرده و در کل جالب نمی باشد.
و همچنین پشتبان شرکت برنامه های مربوطه باید توانایی این را داشته باشمد که به دیتابیس خود در محیط sql managment دسترسی کامل داشته باشند و همچنین نتوانند به دیتابیس برنامه های دیگران دسترسی داشته باشند!!! (علت جداکردن سرورها بیشتر به این دلیل بوده)


حالا سوال من اینجاست، برای اینکه ما برای چندین دیتابیس، چندین سرور را ایجاد نکنیم و کلی در سخت افزار صرفه جوی کنیم، می شود یک نسخه از اس کیو ال (مثلا 2014) را نصب کرده و همه آن ها را به این سرور attach یا restore نماییم؟؟؟ (البته با رعایت تمام محدویت های بالا از لحاظ امنیت که پشتیان شرکت بتواند به db خود دسترسی داشته باشد (sa) و در عین حال نتواند به dbهای دیگران دسترسی نداشته باشد!!؟؟؟)
دوم اگر می شود آیا این امکان هست که ورژن دیتابیس مثلا 2005 ما به ورژن 2014 (در صورت نصب این ورژن و attach یا restore روی آن instance) تغییر نیابد و ما بتوانیم در صورت نیاز به ورژن قبلی روی آن instance (مثلا instance 2005 اولیه خودش) db را attach یا restore نماییم؟؟

در کل می خواهم روی یک سرور کلیه دیتابیس ها رو بیاورم با رعایت موارد بالا.

دوستان کلا بهترین راه کار به نظر شما کدام است؟؟



ممنون

pezhvakco
یک شنبه 03 خرداد 1394, 16:59 عصر
یکی از این برنامه ها فقط حجم فایل های آن نزدیک 70 گیگ شده است و بیشترین استفاده را دارد
اگر با بررسی بدست آمد که این حجم لازم است (مربوط به طراحی نامناسب و یا Log File نیست)
روش های بهتری برای مدیریت و بالا بردن بازدهی است.


بنده فک میکنم اگر چندینت instance نصب گردد سرعت افت کرده و در کل جالب نمی باشد.
با این دقت و محکمی نمی شود این را گفت چون هر موتور پایگاه داد برنامه ای جدا است و کار خودشو انجام میده.


شتبان شرکت باید توانایی این را داشته باشند به دیتابیس دسترسی کامل داشته باشند و همچنین نتوانند به دیتابیس برنامه های دیگران دسترسی داشته باشند
راه راحت تر اینه که با ساخت و مدیریت کاربر کار کنید.



می شود یک نسخه از اس کیو ال (مثلا 2014) را نصب کرده و همه آن ها را به این سرور attach یا restore نماییم
می شود.


آیا این امکان هست که ورژن دیتابیس مثلا 2005 ما به ورژن 2014 تغییر نیابد و ما بتوانیم در صورت نیاز به ورژن قبلی روی آن attach یا restore نماییم
نمی شود.


در کل می خواهم روی یک سرور کلیه دیتابیس ها رو بیاورم با رعایت موارد بالا.
اگه سخت افزار خوبی داشته باشه، روش منطقی و بهتری است.

HDDSoft2001
یک شنبه 03 خرداد 1394, 17:10 عصر
با سلام

ممنون به خاطر پاسختون
اما سوال اینجاست که چیکار کنم؟ یه instance مثلا 2014 ایجاد کنم و همه db ها رو روی آن attach یا restore کنم (همه در یک level ارتقا یابند) سپس با کنترل کاربران مشکل پشتیبان ها را حل کنم (اصلا شدنی هست!!؟؟ آیا باید به پشتیبان ها دسترسی در حد sa داد؟ (آخه اینطوری به سایر db های دیگر دسترسی کامل دارد و ممکن است عمدا یا سهوا باعث حذف اطلاعات شود یا موارد دیگر!!) یا اینکه روی یک سرور چندین instance (مثلا 2005، 2008، 2012) نصب کنم و طبق روال قبلی کار کنند؟؟؟

بهترین ج کدام است با توجه به تجربه؟ در ضمن سرور من hp بوده با هاردهای 10k و از esxi5.5 استفاده می کنم (از مجازی سازی استفاده می کنم)

ممنون

esteghamat
دوشنبه 04 خرداد 1394, 08:34 صبح
اول اینکه چرا sa ؟
برای هر پیمانکار یک لاگین جداگانه با دسترسی های مشخص ایجاد کنید. اصلا هم لازم نیست که sysadmin باشد و حداکثر حداکثر روی دیتابیس خودش owner است. شما هستید که باید کارهای Backup و Restore را انجام دهید.
دوم اینکه ببین Ram دستگاه چقدر است ؟ مثلا 32 گیگابایت . حال مثلا همان سرور با یک دیتابیس با حجم 70 گیگابایت باید حداقل از یک حافظه خوب برخوردار باشد. مثلا حداقل حداقل 16 GB . نصب چند نسخه sql serevr روی یک سرور مانعی ندارد اما منابع محدود است و بر نحوه اجرای آنها موثر خواهد شد.
برای داشتن راهکار مناسب تر لطفا بیشتر توضیح دهید.

SabaSabouhi
دوشنبه 04 خرداد 1394, 10:49 صبح
سلام
ضمن این که نوشته‌های دوستم pezhvakco رو تایید می‌کنم، باید اضافه کنم که اگه شما یه شرکت کامپیوتری بودین، و نرم‌افزارها مربوط به خودتون بود
هیچ مشکلی نداشتی.
اما اینجا قضیه به هیچ عنوان فنی نیست. واحدهای پشتیبانی شرکت‌ها دنبال «پالان» می‌گردن که دلیل بیماری رو «ناخوش خر خورده» تشخیص بدن.
بارها دیدم که کارشناس‌های شرکت‌های پشتیبانی کننده، بهانه‌هایی از قبلی عدم سازگاری با نسخه‌های Sql Server رو پیش کشیده‌اند.
متاسفانه برخی از نرم‌افزارها نمی‌توانن با Instance غیر Default کار کنن.
اگه سرور شما به اندازه‌ی کافی قوی هست، شاید ایجاد Virtual Machine یک راه حل باشه برای اجتناب از اضافه‌کردن Server برای هر نرم‌افزار.

من و شما می‌دونیم که این یک نقطه ضعف بزرگ برای یک نرم‌افزار هست که نتونه در کنار سایر نرم‌افزارها کار کنه. اما ظاهراً چاره‌ای نیست و باید
این شرایط رو تحمل کرد.

صبا صبوحی