View Full Version : قفل کردن دیتابیس
pouria_bayat
چهارشنبه 17 دی 1393, 11:22 صبح
سلام و خسته نباشید.
دوستان ما برنامه ای داریم که دیتابیس Sql رو از طریق SqlExpress و با روشهای Linq می سازیم.
ایا راهی هست که بتوان روی دیتابیس نام کاربری و پسورد گذاشت حتی با Sql Server Managment روی همون سیستم باز نشه؟ البته تاز مانی که نام کاربری و پسورد رو طرف ندونه.
لطفا راهنمایی کنید.
Davidd
چهارشنبه 17 دی 1393, 11:46 صبح
سلام. نه نمیشه. در SQL یوزر پسورد روی سرور تعریف میشه نه روی فایل دیتابیس. میتونی اطلاعات مهم داخل دیتابیس به صورت رمز شده ذخیره کنی.
pouria_bayat
چهارشنبه 17 دی 1393, 13:13 عصر
ممنون همین کار رو میکنم. ولی خیلی دردسر داره برای برنامه های بزرگ برای رمزگشایی و رمز نگاری اطلاعات.
در ضمن اگر کاربر فزول باشه و کمی تغییرات توی اطلاعات کد شده بده پدر برنامه در میاد. و ... (خودتون بهتر میدونید)
گاهی وقتها میگم برم سراغ دیتابیس های Access ....
SabaSabouhi
چهارشنبه 17 دی 1393, 14:04 عصر
سلام
روی SQLServer که راه حل داره، نمیدونم که تو SQLExpress هم بشه از این روش استفاده کرد یا نه.
1. Server Authentication رو میبری به حالت Mixed-Mode.
2. یک user میسازی با نقش dbOwner
3. کاربر خودت رو به users دیتابیس اضافه میکنی
4. غیر از این user بقیه اقلام رو از توی users حذف میکنی.
با این روش فقط کسی که رمز کاربری رو بدونه میتونه به دیتابیس دسترسی پیدا کنه.
تست کردنش برای SQLExpress دیگه به عهدهی شما
صباصبوحی
kiya642
جمعه 19 دی 1393, 08:32 صبح
البته در تکمیل صحبتهای خانم صبوحی باید بگم که بهتره بجای حذف یوزرها، آنها را غیرفعال کندیو قبل از آن یوزرهایی که سرویس های SQLSERVER را برعهده دارند شناسایی کنید که به مشکل نخورید. از طرفی هم بهتر است از SSMS استفاده نمائید تا دستتان برای پیاده سازی TDE هم باز باشد تا خود اسکوئل مسئولیت Encrypt و Decrypt بانک اطلاعاتی را برعهده داشته باشد. لازم است بدانید که با استفاده از نسخه Express شما نمی توانید TED را پیاده سازی نمائید ضمن اینکه نسخه Express استفاده بهینه ای از Ramو Cpu ندارد و در آخر اینکه در بانکهای اطلاعاتی باحجم بالا حتماً باهاش به مشکل خواهید خورد.
رمز sa را تغییر دهید و آن را هم غیرفعال کنید واگر میخواهید کمی حرفه ای تر عمل کنید بهتر است یک فرم رابط کاربری با سطح دسترسی مدیریت برای کاربر مدیر سیستم درطراحی کرده و دراختیارش قرار دهید تا امکان فعال/غیرفعال سازی sa و یا تغییر رمز آنرا داشته باشد ونیز امکان جابجایی فیزیکی بانک اطلاعاتی ویا Tempdb را در مواقع ضروری داشته باشد و کارهایی از این دست که هم میتوانید در هزینه کردن وقت خود درآینده برای مشتریان خود صرفه جویی کنید و هم با کمترین حرکت وکنترل از راه دور سیستم های خود را فورس ماژور برای کاربرانان راه اندازی کنید و پشتبانی های سالهای آینده خود را نیز تضمین نمائید.
به هرجهت صحبت وریزه کاریها در اینمورد بسیار فراتر از این مواردیست که گفته شد ونیاز به صرف زمان وبدست آوردن تجربه لازم را دارد که شما حتماً دارید.
موفق باشید.
ghasem110deh
یک شنبه 05 بهمن 1393, 11:16 صبح
سلام
روی SQLServer که راه حل داره، نمیدونم که تو SQLExpress هم بشه از این روش استفاده کرد یا نه.
1. Server Authentication رو میبری به حالت Mixed-Mode.
2. یک user میسازی با نقش dbOwner
3. کاربر خودت رو به users دیتابیس اضافه میکنی
4. غیر از این user بقیه اقلام رو از توی users حذف میکنی.
با این روش فقط کسی که رمز کاربری رو بدونه میتونه به دیتابیس دسترسی پیدا کنه.
تست کردنش برای SQLExpress دیگه به عهدهی شما
صباصبوحی
سلام
با اینکار دیتابیس روی سیستم هدف (بعد از ستاپ سازی) هم باز نمیشه ؟
ghasem110deh
پنج شنبه 09 بهمن 1393, 21:22 عصر
سلام
با اینکار دیتابیس روی سیستم هدف (بعد از ستاپ سازی) هم باز نمیشه ؟
Mousavmousab
شنبه 11 بهمن 1393, 10:23 صبح
سلام و خسته نباشید.
دوستان ما برنامه ای داریم که دیتابیس Sql رو از طریق SqlExpress و با روشهای Linq می سازیم.
ایا راهی هست که بتوان روی دیتابیس نام کاربری و پسورد گذاشت حتی با Sql Server Managment روی همون سیستم باز نشه؟ البته تاز مانی که نام کاربری و پسورد رو طرف ندونه.
لطفا راهنمایی کنید.
کاربر عزیز با توجه به اینکه SQL برای شما مشکلاتی داره ( البته مشکل نیست چون SQL برای کار های بزرگ طراحی شده) شما بیا بیخال SQL شو و از SQLite استفاده کن.
شاید با SQLite کار نکرده باشین ولی خیلی ساده است و همچنین خوب هم عمل می کنه. اگر خیلی خلاصه عرض کنم SQLite یک DLL است و به سادگی یک رمز عبور مثل Access از کاربر می گیره و بدون رمز کار نمی کنه و هیچ دانشی هم از سوی کاربری که می خواد از برنامه استفاده کنه لازم نیست. کاربر اصلاٌ نمی تونه بفهمه داده داره کجا ذخیره میشه.
من خودم یک میلیون رکورد و خوردی داده وارد جدول کردم و خیلی قشنگ Query می گرفتم و هیچ مشکلی نداشت.
موفق باشی
ghasem110deh
یک شنبه 12 بهمن 1393, 15:46 عصر
کاربر عزیز با توجه به اینکه SQL برای شما مشکلاتی داره ( البته مشکل نیست چون SQL برای کار های بزرگ طراحی شده) شما بیا بیخال SQL شو و از SQLite استفاده کن.
شاید با SQLite کار نکرده باشین ولی خیلی ساده است و همچنین خوب هم عمل می کنه. اگر خیلی خلاصه عرض کنم SQLite یک DLL است و به سادگی یک رمز عبور مثل Access از کاربر می گیره و بدون رمز کار نمی کنه و هیچ دانشی هم از سوی کاربری که می خواد از برنامه استفاده کنه لازم نیست. کاربر اصلاٌ نمی تونه بفهمه داده داره کجا ذخیره میشه.
من خودم یک میلیون رکورد و خوردی داده وارد جدول کردم و خیلی قشنگ Query می گرفتم و هیچ مشکلی نداشت.
موفق باشی
سلام
لطف می کنی بگین چطور روی sqlite پسورد می زارین ؟
من تازه شروع کردم (کار با ssqlite رو)
نه پسورد می تونم بزارم ...
و نه طراحی ویو و یا یه چیزی شبیه پروسیجر ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.