PDA

View Full Version : انتخاب انجین و سرور مناسب برای بانک sql



Mrs.Net
جمعه 21 بهمن 1390, 16:17 عصر
سلام
برنامه ای هست که با بانک ql کار میکنه
حالا دنبال انجین یا نسخه مناسب ql server هستم که موارد زیر بتونم داشته باشم

1- این سرور باید قابلیت نصب Instance جدید داشته باشه حتی اگر قبلا چند اینستنس نصب بوده
2- برای استفاده از آن باید رمز عبور داشت و به نحوی داخل برنامه (سی شارپ) باید متوجه شد که آیا رمز حذف یا تغییر کرده
3- نصب سبک داشته باشد و برای چندکاربره بودن مفید باشه

مثلا sql server 2005 برای نصب کمی سنگین هست و برروی ویندوز سون نصب نمیشود و نسخه بالاتر میخواد
و برای مورد رمز هم اگر چون ممکن هست کاربر sql server سرور احتیاج داشته باشه و از طریق رمز خودش وارد بانک بشه

ممنون

in_chand_nafar
جمعه 21 بهمن 1390, 16:28 عصر
SQL Express شما چون بحث تعداد كاربر و... را داريد مي توانيد از آن استفاده كنيد بحث نصب Instance‌به شكل جداگانه را دارد
براي امنيت SQL & Windows Authentication را انتخاب و كليه لاگين هاي ويندوزي را روي سرور Deny كنيد (در موقع نصب هم با اسكريپت مي توانيد اين كار را انجام دهيد) سپس به SA يه رمز خيلي قوي بدهيد حالا هر كس به Instance‌شما بخواهد لاگين كنه بايد رمز SA را داشته باشه
در ضمن اگر TCP/IP رو به ازاي Inctance‌خودتون ON كنيد از شبكه مي توانيد به آن نصب كنيد تنظيمات فايروال و... در نظر گرفته شود
من همين الان برنامه اي دارم كه با 2005 نسخه Express‌است و توي Setup ام Engine نصب ميشه بعد از نصب بانك اطلاعاتي روي اون قرار مي گيره روي 7 هم نصب ميشه در ضمن تنظيمات امنيتي اون رو به همون طريقي كه اشاره كردم انجام دهيد

Mrs.Net
شنبه 22 بهمن 1390, 08:53 صبح
ممنون از توضیح خوبتون
1. آیا برنامه setup شما یک اینستنس جدید نصب میکند؟ اگر اینکارو انجام میده لطف میکنید توضیح بدید چجوری؟
2. اگربرای امنیت فقط از حالت sql استفاده کنم و Windows Authentication فعال نباشه مشکلی که پیش نمیاد؟ چون فقط میخوام کاربر sql لاگین بشه
3. ممکن هست که مشتری سیستم دیگه ای داشته باشه که به رمز کاربر SA احتیاج داشته باشه. آیا راهی هست که SA دسترسی به بانک نداشته باشه
4. در هرصورت بانک قابل کپی برداری و مشاهده برروی سرور دیگه هست (درسته؟) با این حساب هدف بیشتر این هست که برنامه (سی شارپ) فقط با بانکی که یوزر و پسورد برایش مشخص شده کار کند و اگر بانک پسوردی نداشته متوجه بشه. چون معمولا دستور تماس که ارسال میشه حتی اگر داخل دستور رمز هم بکار رفته باشه ولی بانک رمز نداشته باشه اتصال برقرار میشه (درسته)

بازهم ممنون از وقتی که گذاشتید

in_chand_nafar
شنبه 22 بهمن 1390, 14:25 عصر
جواب 1
از برنامه هاي Setup ساز مشهور مثل Install Shield و .... استفاده توي اون برنامه ها به راحتي Engine‌مورد نياز خودت رو انتخاب كن (در صورت موجود نبود بايد Add شود) بعد توي تنظيمات بگو موقع نصب يك Instance با نام X ايجاد بشه
جواب 2
هيچ مشكلي پيش نمايد فقط پسورد SA را يه پسورد Strong بزار (اون هم موقع تنظيمات توي قسمت 1 است) بعد يه لاگين تعريف كن كه DB Owner مربوط به ديتابيس خودت باشه (اين كار را هم توي قسمت 1 مي توني انجام بدي)
در ضمن توي خود برنامه هاي ستاب ساز مي توني بانك را Attach و .... كني (Backupش رو Restore كني ، اسكريپت اجرا كني و...)
مگر شما نمي گيد Instance اختصاصي است پس معني ندارد كه كسي بخواهد با اون كار كند فقط كافي كه توي قرارداد ذكر كني Instance اخصاصي در ضمن خيلي از شركت ها پا رو فراتر گذاشتن و روفتن سراغ سرور اختصاصي
اما اگر مي خواهي MDF و LDF را پس از نصب كف نرن برو سراغ 2008 و از TDE استفاده كن كه اون هم فقط در Enterprise و‌ Data Center اديشن وجود دره
يه خورده درهم برهم نوشتم اميدوارم به درد بخوره
براي امنيت بهتر پيشنهاد من اين است كه اگر Express‌استفاده مي كني يه اينستنس اختصاصي ، پاك كردن تمامي لاگين ويندوزي (يا Deny كردن)، تعريف رمز Strong براي SA، ايجاد يك لاگين از نوع SQL‌ايي وDB Owner كردن آن براي بانك مورد نظرتون مي باشد.
در ضمن چون نمي توانيد در نسخه Express‌از TDE استفاده كنيد و نمي خواهيد ساختار جداولتون را كسي متوجه نشه 2 راه داريد
1- اسامي فيلدها و جداول به شكل Obfuscate (مبهم) باشه (مثال ACC000 براي جدول و فيلدهايش AC001,ACC002,...)
2- رمزگذاري و رمزنگاري داده هاي موجود در جداول حساس با استفاده از قابليت هاي SQL و يا C#

Mrs.Net
یک شنبه 23 بهمن 1390, 00:04 صبح
توضیحات دقیقا همون اطلاعاتی بود که میخواستم و خیلی کمک کرد
تقریبا همین کار انجام خواهم داد و البته یه نگاه و تحقیقی هم راجب TDE میکنم
تنها نکته ای که میمونه این هست که آیا این امکان وجود داره که کانکشن برنامه به بانک، از یوزر نیم و پسورد استفاده کنه ولی بانک بدون پسورد باشه و اتصال برقرار بشه؟ (اصلا میشه یوزر بانک sql بدون پسورد باشه؟!)

ممنون

in_chand_nafar
یک شنبه 23 بهمن 1390, 08:55 صبح
منظورتون Userهای موجود در Database است و یا لاگین های مربوط به SQL Server
خیلی ساده بگم
شما در سمت SQL لاگین (دارای پسورد/بدون پسورد/) تعریف می کنید و این لاگین با استفاده از User به دیتابیس شما مپ میشن که بهش میگن Database User (توی قسمت Security مربوط به بانک اطلاعاتی قسمتی به نام User وجود دارد )

alimooghashang
شنبه 27 آبان 1391, 10:36 صبح
سلام
من از sql server 2008 r2 نسخه enterprise روی سرور مشتری استفاده میکنم
میخواستم ببینم روی سیستم هایی که قراره به سرور متصل بشن چه engine ای باید نصب بشه؟
و فایل setup اش رو از کجا بیارم؟
ممنون

alimooghashang
یک شنبه 28 آبان 1391, 11:34 صبح
کسی کمک نمیکنه به ما؟