Makale Özeti

Bu yazımızda SQL Server 2005 (Beta 2) sistemine girişleri yönetmek ve yeni versiyonda getirilen yenilikler üzerinde duruyoruz.

Makale

SQL Server 2005’e (Beta 2) girişlerin (login) yönetimi

Daha önceki versiyonlarda olduğu gibi SQL Server 2005 de hem Windows girişlerine hem de SQL Server girişlerine izin verir. Görsel araç olarak SQL Server Management Studio’da yer alan Object Explorer’ı kullanarak yeni giriş tanımlayabileceğiniz gibi, CREATE LOGIN Transact-SQL ifadesini de kullanabilirsiniz.

Normal kurulumda SQL Server sadece Windows girişlerini destekler. Bu ayar durumundayken bile SQL Server girişleri oluşturabilirsiniz, ama bunları kullanma şansınız olmaz. SQL Server girişlerinin kullanılabilmesi için SQL Server’ı hem Windows girişlerini hem SQL Server girişlerini kabul edecek şekilde ayarlamanız gerekir.

Object Explorer’ı kullanarak giriş oluşturmak

Aşağıdaki adımları izleyerek SQL Server Management Studio’da yer alan Object Explorer üzerinden giriş oluşturabilirsiniz:

1. Girişi oluşturmak istediğiniz SQL Server’a bağlanın. (SQL Server Management Studio’dan.)

2. Sırasıyla bağlı olduğunuz sunucu ve Security düğümlerini genişletin.

3. Logins’i sağ tıklayın ve New Login seçeneğini tıklayın.

4. Kullanıcı arayüzünde oluşturmak istediğiniz giriş türünü seçin ve ilgili detayları girin.

5. OK düğmesini tıklayın ya da daha sonra çalıştırmak üzere bir programcık (script) olarak kaydedin.

CREATE LOGIN kullanımı

Her iki tür girişi oluşturmak için CREATE LOGIN ifadesini de kullanabilirsiniz.

CREATE LOGIN ifadesi, önceki versiyonlardaki sp_addlogin ve sp_grantlogin sistem yüklü yordamlarının yerine geçer. Bu yüklü yordamlar SQL Server 2005’te de bulunmakla birlikte, sadece geriye doğru destek için tutulmaktadırlar ve ileriki bir sürümde çıkarılacaklardır.

CREATE LOGIN’in tam sözdizimi şu şekildedir:

CREATE LOGIN login_name

     { WITH option_list1 | FROM sources}

sources ::=

    WINDOWS [ WITH windows_options[,...] ]

    | CERTIFICATE certname

    | ASYMMETRIC KEY asym_key_name

option_list1 ::=

     PASSWORD = password [ HASHED ]

     [ MUST_CHANGE ] [ , option_list2 [,...]]

option_list2 ::=

     SID = sid

     | DEFAULT_DATABASE = database

     | DEFAULT_LANGUAGE = language

     | CHECK_EXPIRATION = { ON | OFF }

     | CHECK_POLICY = { ON | OFF }

windows_options ::=   

    DEFAULT_DATABASE = database

    | DEFAULT_LANGUAGE = language

Kullanabileceğiniz seçenekler, görüldüğü gibi, ne tür giriş oluşturduğunuza bağlı olarak değişmektedir. FROM WINDOWS ve windows options cümlecikleri Windows girişleri oluştururken kullanılırken, option_list1 ve option_list2 sadece SQL Server girişleri için geçerlidir.

SQL Server girişi parola ilkeleri

Windows girişleri parola ilkeleri uygulanabilen girişlerdi ve bu özellikleri önceki versiyonlarda SQL girişlerine göre önemli bir avantajlarıydı. SQL Server 2005’te artık SQL Server girişlerine de parola ilkeleri uygulayabiliyorsunuz. Bunun için CREATE LOGIN ifadesi ile birlikte kullanabileceğiniz seçenekler şöyle sıralanabilir:

Seçenek

Tanım

 

HASHED

Parolanın zaten hash’lenmiş olduğunu belirtir. Eğer bu belirtilmediyse, parola saklanmadan önce hash’lenir.

MUST_CHANGE

Bir girişin ilk kullanımında parolanın değiştirilmesi uyarısı verir. Bu seçeneğin seçilmesi durumunda CHECK_EXPIRATION ve CHECK_POLICY seçenekleri ON olmalıdır.

CHECK_EXPIRATION

Normal ayarında olduğu gibi ON durumundaysa, bu seçenek Microsoft Windows Server 2003’ün parola süre bitimi kontrolünü SQL Server girişlerine uygulamasına sebep olur. Windows 2000 sunucularda bu seçeneğin bir etkisi yoktur.

Bu seçeneğin ON olması durumunda CHECK_POLICY seçeneği de ON olmalıdır, yoksa cümle hata verir.

CHECK_POLICY

Normal ayarında olduğu gibi ON durumundaysa, bu seçenek SQL Server’ı barındıran Microsoft Windows Server 2003’ün parola karmaşıklık ilkesinin uygulanmasını sağlar. Windows 2000 serverlarda, bu seçenek Microsoft Security Baseline Analyzer parola karmaşıklık kurallarına dayalı bir SQL Servera özgü ilkenin uygulanmasını sağlar.

Örnekler

Bir Windows girişi oluşturmak için:

CREATE LOGIN [ACUNGIL\Mustafa]

FROM WINDOWS

WITH DEFAULT_DATABASE = AdventureWorks

Bir SQL Server girişi oluşturmak için:

CREATE LOGIN Mustafa

WITH PASSWORD = P@ssw0rd,

     DEFAULT_DATABASE = AdventureWorks,

     CHECK_EXPIRATION = ON,

     CHECK_POLICY = ON

Girişleri değiştirmek:

Object Explorer’ı kullanarak ya da ALTER LOGIN cümlesi ile girişlerde değişiklik yapabilirsiniz. ALTER LOGIN cümlesinin yaygın bir kullanımı süresi dolmuş bir parola sebebiyle kilitlenmiş girişi tekrar açmaktır. Kilitli bir hesabın kilidini açmak için şu ifade kullanılır:

ALTER LOGIN Mustafa WITH PASSWORD = NewP@ssw0rd UNLOCK

Girişleri kaldırmak:

Object Explorer’da ilgili girişi sağ tıklayıp Delete’i tıklayabilir ya da DROP LOGIN ifadesini kullanabilirsiniz:

DROP LOGIN Mustafa

DROP LOGIN çümlesi önceki versiyonlardaki sp_droplogin ve sp_revokelogin sistem yüklü yordamlarının yerini alır. Bu yüklü yordamlar SQL Server 2005’te yer almakla birlikte, sadece geriye dönük destek amaçlıdırlar ve ileriki bir sürümde kaldırılacaklarını dikkate almanız gerekir.