PDA

View Full Version : حرفه ای: چطوری یک اکانت با یوزر و پسورد دیتابیس sql رو به صورتی کدنویسی درست کنیم؟



Omid.R.A.Candy
دوشنبه 01 مهر 1392, 23:50 عصر
با سلام

دوستان سوالم از عنوان تاپیک مشخه لطفا راهنمایی کنید:

رضا علوی
سه شنبه 02 مهر 1392, 09:34 صبح
Dim Connection As New System.Data.SqlClient.SqlConnection
Connection.ConnectionString = "DataSource=.;Initial Catalog=نام بانك;User ID=sa;Password=123"

Dim SqlCommand As System.Data.SqlClient.SqlCommand
SqlCommand = New SqlCommand("CREATE LOGIN [admin] WITH PASSWORD=N'123', DEFAULT_DATABASE=[نام بانك], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF", Connection)
SqlCommand.ExecuteNonQuery()

SqlCommand.CommandText = "EXEC sys.sp_addsrvrolemember @loginame = N'admin', @rolename = N'sysadmin'"
SqlCommand.ExecuteNonQuery()

Omid.R.A.Candy
سه شنبه 02 مهر 1392, 10:10 صبح
Dim Connection As New System.Data.SqlClient.SqlConnection
Connection.ConnectionString = "DataSource=.;Initial Catalog=نام بانك;User ID=sa;Password=123"

Dim SqlCommand As System.Data.SqlClient.SqlCommand
SqlCommand = New SqlCommand("CREATE LOGIN [admin] WITH PASSWORD=N'123', DEFAULT_DATABASE=[نام بانك], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF", Connection)
SqlCommand.ExecuteNonQuery()

SqlCommand.CommandText = "EXEC sys.sp_addsrvrolemember @loginame = N'admin', @rolename = N'sysadmin'"
SqlCommand.ExecuteNonQuery()

دوست عزیز این کدی که گذاشتن فایل دیتا بیس رمز ایجاد می کنه.ولی چرا با یوزر sa نمی شد با یه اسم دلخواه دیگه این کارو کرد؟

در ضمن این کدهاتون رو بررسی کردم خطا میده! اگه ممکنه خودتون کدها رو بررسی کنید ، در ضمن بجای نام بانک یه چیزی که می خوایین بگذارین.فارسی ننویسین.

اگر از نحوه ایجاد همین فایل رمز دار با برنامه sql اطلاعاتی دارین اون رو هم مرحمت کنید.

Omid.R.A.Candy
پنج شنبه 04 مهر 1392, 23:04 عصر
نمی دونم چرا یه سوال می پرسم به نتیجه نمی رسه؟!! آقا یکی راهنمایی کنه.

a_mohammadi_m
جمعه 03 آبان 1392, 14:12 عصر
با سلام
اینجا دو تا مطلب مطرحه
1- ساخت یک Login در قسمت Security خود SqlServer و دادن Rule معین و دلخواه به اون
2- ساخت یک User در قسمت Security یک بانک اطلاعاتی

نکته اول اینه که برای هر دو شما باید اول با یک login معتبر ( مثلا sa یا Windows Authentication یعنی یوزر فعلی ویندوز)
که امکانات مدیریتی داره وارد Sql بشید. یعنی هر یوزری امکان ساخت Loginهای جدید رو نداره مثلا باید sysadmin باشه

نکته دوم اینه که وقتی یک Login ساختید باید امکان مدیریتی برای اون رو روی دیتابیس مورد نظر بدید ( هنگام ساختن Login یا بعدا در قسمت User Mapping باید گزینه Db_Owner رو براش تیک بزنید )

کدی که دوستمون نوشته برای ساخت Login هست و البته ممکنه خطا هم داشته باشه ( به نکته اول هم توجه بشه )
این کد باید ادامه داشته باشه و در بانک مورد نظر هم امکان db_owner بهش داده بشه

در ضمن یادآوری می کنم چیزی به اسم دیتابیس رمز دار در Sql امکان پذیر نیست چون هر یوزر صاحب رول sysadmin به کلیه امکانات و اطلاعات Sql دسترسی داره
غیر از این میشه فایل دیتابیس رو به سادگی کپی کرد و در یک Sql دیگه راحت بازش کرد
اگه قراره کسی اطلاعات شما رو نتونه ببینه باید از اول داده هاتون رو بشکل رمز شده در جداول ذخیره بشه

p.mohammad
یک شنبه 03 خرداد 1394, 14:07 عصر
با سلام خدمت شما دوست عزیز
چطور میشه اطلاعات رو به شکل رمز شده در جداول ذخیره کرد ؟