23 Ekim 2008 Perşembe

Sql server 2005 Kullanici Olusturma Ipuclari

Merhaba,

Genellikle herkesin basina gelen sorun kullanici ile bir veritabani ilişkilendirildiği halde, kullanıcının bütün veritabanlarını görmesidir. Her ne kadar içlerini göremesede serverda ne kadar veritabani varsa adlarıyla görmesi hoş olmamaktadır.

Kullanici yaratırken Sql Server Management Studio (SSMS) kullandığımız için detaylar atlanmaktadır.

İlkkez bir kullanıcı oluşturacağımız zaman şöyle yapmalıyız ;

use master

go

create database denemedb--veritabani yarat

go

use denemedb

go

create login kullanici with password = '123456', check_policy = off--user yarat

go

use denemedb

go

sp_changedbowner 'kullanici' -- denemedb sini "kullanici" ya goster

go

use master

go

deny VIEW any DATABASE to kullanici--Sahib oldugu disinda hic birini gosterme

go



Eger zaten veritabanı ve kullanıcınız varsa yapmanız gerekenler ;



use veritabani -- bu veritabani yetkisi degisecek olan

go

sp_changedbowner 'kullanici' -- yetkisi degicesek olan kullanici

go

use master

go

deny VIEW any DATABASE to veritabani
-- bu veritabanini sahibi disinda kimseye gosterme

go


Yukardakini yaptiginiz halde olmuyorsa ;

İlk komutu çalıştırdığınız şu hatayı alabilirsiniz;
"Msg 15110, Level 16, State 1, Line 1
The proposed new database owner is already a user or aliased in the database."


-- user rolunu siliyoruz

use [veritabani] go

Exec sp_revokedbaccess 'kullanici' --

--

use [veritabani] go

sp_changedbowner 'kullanici' -- yeniden ekliyoruz db owner olarak

--

use master

go

deny VIEW any DATABASE to kullanici


Kaynak : http://blogs.msdn.com/euanga/archive/2006/05/04/585513.aspx

Hiç yorum yok: