ايران ويج

نسخه‌ی کامل: دیتا بیس اس کیو ال 2005 و پسورد
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
چگونه میتوانیم برای دیتا بیس اس کیو ال 2005 پسورد بگذاریم؟

منتظرم نظرات دوستان هستمRolleyes
اول باید یه یوزر اضافه کنین
برای این کار به بخش Security می رین و توی بخش Logins یه یوزر اضافه کنین(می تونین سطح دسترسیشو مشخص کنین)
حالا از Properties دیتابیس، گزینه ی Security رو انتخاب کنین و SQL Server and Windows Authentication mode رو کلیک کنین
سلام

1-ميخواستم ببينم اين كار رو پگونه ميشه از طريقه كامندهاي اس كيو ال انجام بديم يعني اول يك يوزر با پسورد بسازيم و بعد كاري كنيم كه هيچ كس بدونه اون يوزر و پس نتونه وارد ديتا بيس بشه؟

2-در ضمن آقا فريدون من اون كار هايي رو كه شما گفتين انجام دادم (پست بالا) يعني يك يوزر ساختم بهمراه پسورد ولي باز هم هر كس كه دلش ميخواست وارد ديتا بيس من ميشد بدون وارد كردن پسورد!!! (از طريق منيجمنت استاديو كه خيلي راحت وارد ميشدند)

من ميخواهم بدون پسورد هيچ كس به هيچ تيبلي نتونه وارد بشه و هيچ اطلاعاتي رو نتونه ببينه.

با تشكر از محبت دوستان.
(۱۴-اردیبهشت-۱۳۸۸, ۱۶:۵۸:۰۳)sav68 نوشته است: [ -> ]1-ميخواستم ببينم اين كار رو پگونه ميشه از طريقه كامندهاي اس كيو ال انجام بديم يعني اول يك يوزر با پسورد بسازيم و بعد كاري كنيم كه هيچ كس بدونه اون يوزر و پس نتونه وارد ديتا بيس بشه؟

بله. شما با Stored Procedure ها می تونین این کار رو انجام بدین. فکر می کنم توی 2005 اسمش SP_ADDUser بود. خودت نگاه کنی کاملاً متوجه می شی!!

(۱۴-اردیبهشت-۱۳۸۸, ۱۶:۵۸:۰۳)sav68 نوشته است: [ -> ]2-در ضمن آقا فريدون من اون كار هايي رو كه شما گفتين انجام دادم (پست بالا) يعني يك يوزر ساختم بهمراه پسورد ولي باز هم هر كس كه دلش ميخواست وارد ديتا بيس من ميشد بدون وارد كردن پسورد!!! (از طريق منيجمنت استاديو كه خيلي راحت وارد ميشدند)

من ميخواهم بدون پسورد هيچ كس به هيچ تيبلي نتونه وارد بشه و هيچ اطلاعاتي رو نتونه ببينه.
شما Security رو روی SQL Server and Windows Authentication mode تنظیم کردین ولی باید روی SQL Server mode تنظیم کنین!!!
سلام دوستان.

آقا فريدون اولا تشكر بابت جواب دادن دوما من تونستم طبق گفتهاي شما يك يوزر با پسورد درست كنم و وقتي كه با اون يوزر و پسورد ميام بالا ديگه توي هيچ بانكي نميتونم برم الا بانك خودم. كه اين خيلي خوب بود اما...

هر كسه ديگه هم كه بدون پسورد و ويندوز آتنتيكشن مياد بالا باز ميتونه بانك منو دستكاري كنه حالا چكار كنم كه نتونن؟



2- اين همون اس پي بو كه شما معرفي كردن
کد php:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER procedure 
[sys].[sp_adduser]
    @
loginame       sysname,        -- user's login name in syslogins
    @name_in_db     sysname = NULL, -- user'
s name to add to current db
    
@grpname        sysname NULL  -- role to which user should be added.
as
    -- 
SETUP RUNTIME OPTIONS / DECLARE VARIABLES --
    
set nocount on
    
declare @ret        int

    
-- LIMIT TO SQL/NT USERS IN SYSLOGINS (BCKWRD COMPAT ONLY!)
    if 
not exists (select from master.dbo.syslogins where loginname = @loginame
            
and (isntuser or isntname 0))
        and @
loginame <> 'guest'
    
begin
        raiserror
(15007,-1,-1,@loginame)
        return (
1)
    
end

    
-- VALIDATE THE ROLENAME --
    if @
grpname is not null and
       
not exists (select from sysusers where name = @grpname and issqlrole 1)
    
begin
        raiserror
(15014,-1,-1,@grpname)
        return (
1)
    
end

    
if @name_in_db is null
        select 
@name_in_db = @loginame

    
-- In Hydra only the user dbo can do this --
    if (
not is_member('dbo') = 1)
    
begin
        
-- AUDIT FAILED SECURITY CHECK --
        
dbcc auditevent (10910, @loginame, @name_in_db, @grpname NULLNULLNULLNULL)
        
raiserror(15247,-1,-1)
        return (
1)
    
end

    
-- ADD THE USER TO THE DATABASE --
    
EXEC @ret sys.sp_grantdbaccess @loginame, @name_in_db OUT
    
if (@ret <> 0)
        return (
1)

    -- 
ADD USER TO ROLE IF GIVENNOP FOR 'public' --
    if (@
grpname is not null) and (@grpname <> 'public')
    
begin
        EXEC 
@ret sys.sp_addrolemember @grpname, @name_in_db
        
if @ret <> 0
        begin
            
-- "ROLLBACK" THE ABOVE sp_grantdbaccess --
            
exec sys.sp_revokedbaccess @name_in_db
            
return (1)
        
end
    end

    
-- RETURN SUCCESS --
    return (
0) -- sp_adduser 

در اين اس پي هيچ پارامتري براي گرفتن پسورد نيست ولي من ميخواهم يك پسورد هم بزارم.


با تشكر از دوستان منتظر ميمونم