همانطور که میدونید با نصب اس کیو ال سرور کاربر میتواند از طریق SQL SERVER Management Studio
به تیبل ها دسترسی پیدا کند - حال شما راهنمایی کنید که چگونه از تیبل ها محافظت کنیم
همانطور که میدونید با نصب اس کیو ال سرور کاربر میتواند از طریق SQL SERVER Management Studio
به تیبل ها دسترسی پیدا کند - حال شما راهنمایی کنید که چگونه از تیبل ها محافظت کنیم
لطفا جهت راهنمايي بهتر سناريو خود را بيشتر توضيح دهيد
آيا Engine مربوط به SQL فقط در اختيار شما است؟
آيا قصد محافظت از تمامي جداول (ساختار و محتواي جداول ) موجود را داريد
و...
منم یه همچین سوالی دارم
فرض کنید دیتابیس نصب هست ، روی کلاینتها هم کاربران با برنامه کار می کنند ، تو این حالت اگه یکی بخواد می تونه بیاد رو سرور و داده های یک جدول رو تغییر یده ( بحث اینکه هر کسی به سرور دسترسی نداره و اینا رو مطرح نکنید ، فرض کنید ما می خواهم حتی Admin شبکه هم نتونه داده ها رو رو جدول تغییر بده )
من یه که sql server 2000 ّبود ، وثتی با sa وارد می شدم به هیچ عنوان نمی تونستم داده های تو جدول رو تغییر بدم ، تا حالا هم نتونستم بفهم چجوری میشه این کار رو کرد
کافیه روی sql پسورد بذارید و یا برای کاربرهای مختلف محدودیت ایجاد کنید.(permission)
لابد من بد توضیح دادم که شما متوجه منظورم نشدی ، در هر حال ،هر کی Sqlserverرو فقط نصبم کرده باشه ، می دونه میشه واسه sa پسورد گذاشت ، به هر حال از دفت نظر شما و اینکه بهم یادآوری کردین پسورد sa رو هم میشه عوض کرد ممنونم ./
دوستان دیگه هم اگه می خوان این بحث پسورد گذاشتن برای Sa رو مطرح کنن ، لطفا پست ها رو با دقت مطالعه کنن ، بعد زحمت بکشن و جواب بدن ، من تو پستهام این نکته رو گفتم که :
( بحث اینکه هر کسی به سرور دسترسی نداره و اینا رو مطرح نکنید ، فرض کنید ما می خواهم حتی Admin شبکه هم نتونه داده ها رو رو جدول تغییر بده )
توی هر پایگاه داده ای اگر ادمین نتونه اطلاعات رو ویرایش کنه بانک بدون ناظر به چه دردی میخوره!
به این دلیل که تو نرم افزار تمام ابزارهای مدیریتی تعبیه شده و با این ابزارهای مدیریتی می تونیم بانک رو کنترل کنیم
اما اگه دسترسی مستقیم رو بانک داشته باشه ، و بتونه از طریق اجرای Sqlserver روی سرور به راحتی داده ها رو تغییر بده ، باعث بروز مشکلات امنیتی میشه و حتی ممکنه باعث بشه داده های بانک همخوانیشون رو از دست بدن
به هر حال اصلا بحث این نبوده که ادمین بتونه تغییر بده یا نه ، شما اگه فکر می کنی ادمین به جای مدیریت بانک اطلاعاتی باید داده های توی دیتابیس هم مدیریت کنه ، همیشه دست ادمین رو برای این کار باز بزار، در هر حال بحث چیزه دیگه ای هست
دوست عزیز سلام
در مورد چگونگی روش نصب SQL Server که تا آنجایی که من اطلاع دارم بوسیله Permission ها و Password است.
اما روشی که من معمولا انجام می دهم و کارایی آن هم بیشتر و قابلیت انعطاف بیشتری دارد.
استفاده از Trigger ها است.
با این کار می توانی جلوی مثلا Delete کردن یک جدول و یا Edit کردن ردیف ها را بگیری.
موفق باشی!
سلام دوست عزیز
بله می شه همچنین کاری کرد.
در برنامه Trigger را باید Disable کنی.
سلام دوباره این لینک رو هم ببین
موفق باشی
سلام
راه دیگر اینه که یک User توی SQLServer بسازی و در برنامه فقط به کاربر مورد نظر اجازه حذف و ویرایش بدهی . این کاربر می تونی sa هم نباشه . حتی می شه به کاربر sa اجازه حذف و ویرایش رکوردها را نداد.اما به نظر من یک روش دیگه هم باید باشه
که این هم بازم از Triggerها استفاده می شه. و Trigger چک می کنه اگه کاربر مورد نظر نبود اجازه ویرایش و حذف ندهد. و در برنامه فقط با اون کاربر خاص Connect می شه به دیتابیس.
به نظر من این بهترین راه است و دیگه نمی خواد Trigger ها را فعال را غیره فعال کنی.
دوستان نظر دیگری دارن بگن.
موفق باشی!
دوستان اگر کسی در این مورد چیزی میدونه لطف کنه راهنمایی کنه
حالا خود تریگر رو چطور باید از طریق برنامه فعال یا غیر فعال کرد
باسلام. اصلا از بحث تريگر بيايين بيرون كه راه حل اين نيست.
بايد كاري كنيم كه كاربر تعريف شده توسط ما فقط مجاز به ورود به پايگاه داده ما باشه. و همينطور اجازه Attach .
آيا كسي از مباحث تعريف كاربران و سطوح امنيت و دسترسي ها اطلاعات كاملي داره ؟؟؟