MS SQL Server 2008 – Çoklu Kullanıcı

Veritabanı bağlantısı gerektiren ortak bir proje yürütürken, şüphesiz en büyük sıkıntı veritabanının tüm kullanıcılarda güncel olmasını sağlamaktır. Çoğu zaman SVN gibi eşli geliştirme araçları da veritabanını güncel tutma konusunda yetersiz kalır.

Peki bu sorunu nasıl çözebiliriz ?

Yapılabilecek birkaç şey var.

1- Güncel script oluşturup, bunu tüm kullanıcılarla paylaşmak.

Birincisi ve zahmetli olanı, tüm kullanıcıların yaptıkları her değişiklikten sonra oluşan yeni database’in scriptlerini almaları ve bunu geliştiriciler arasında kurulmuş bir mail grubunda ya da seçecekleri bir share point’te diğer kullanıcılara dağıtmalarıdır. Görüldüğü gibi bu oldukça zahmetli bir işlemdir. Ayrıca etkinlik açısından da oldukça vakit kaybına sebep olacaktır. Bu yöntemde database üzerinde iki kişi aynı anda bir değişiklik yaptığında ve scriptlerini paylaştıklarında, scripti ilk güncellenen kişinin yaptığı değişikliklerin üzerine yazılacak ve bu kullanıcının yaptığı değişiklikler kaybolacaktır (“Lost Update”).

2- Bir Database Manager belirlemek, veritabanı üzerinde yapılacak işlemleri Manager’a bildirmek ve böylece değişikliği tek elden yapmak.

Proje çalışanları içerisinden bir kişi, veritabanı yöneticisi olarak belirlenir. Diğer çalışanlar, veritabanında bir değişiklik veya veritabanına bir ekleme yapmak istediğinde bunu veritabanı yöneticisine bildirirler. Veritabanı yöneticisi gelen tüm istekleri sıraya koyar. Ve birbirleriyle çakışmayacak şekilde veritabanına uygular. Bu yöntem de bir önceki yöntemde olduğu gibi zahmetlidir, ancak bir kişi tüm zahmeti çektiği için bunu görmezden gelebiliriz(!). Bu yöntemde bir diğer büyük sorun, veritabanı yöneticisi seçilecek kişinin tayinidir. Bütün projenin omurgasını oluşturan veritabanını bu konuda deneyimsiz ve bilgisiz birinin ellerine vermek projenin geleceği açısından pek mantıklı bir seçim olmaz. Bu durumda gruptan seçilecek kişi, veritabanı bilgisi ve veritabanı üzerinde yorumlama ve çözümleme yetenekleri en yetkin olan kişi olmalıdır. Ayrıca alacağı sorumluluğu kaldırabilecek nitelikte olmalıdır. Böyle birini bulsanız bile, yine de zaman sorunu karşınıza çıkacaktır. Tüm değişiklikler tek el üzerinden yapıldığı için, diğer kullanıcılar kendi öngördükleri değişiklik yapılana kadar beklemek durumunda kalacaklardır.

3- Bir “Database Server” oluşturmak, ve tüm kullanıcıları bu server’a bağlayarak aynı veritabanı üzerinde işlem yapmalarını sağlamak.

Geldik en etkin, en sağlıklı ve zahmetsiz yönteme. Kendiniz proje üzerinde çalışırken local ağınıza bağlanıp veritabanına ulaşıyorsunuz. Neden bu işlemi projede çalışan diğer elemanlar da yapamasın ? Nasıl’ına gelirsek;

Kendi bilgisayarınızda bağlandığınız SQL Server, gerekli düzenlemeler ile aynı ağ üzerinde bulunan herkese açık hale getirilebilir. Peki bu düzenlemeler nelerdir ?
-> Öncelikle bağlantı kontrollerini yapmalıyız. Siz ve çalışma arkadaşlarınızın bilgisayarlarının bulunduğu bir ağ oluşturmalı, ve bu ağı güvenli ağ olarak belirlemelisiniz. Bu ağ için bir trafik sınırlayıcı ya da firewall olmamalı.

-> SQL Server’ını ağa açacak olan bilgisayarın ağ ile arasında hiç bir engel olmamalı. Hatta Ad-hoc bir ağ ile işlem yapıyorsanız, ağ sahibi aynı zamanda SQL Server sunucusu olacak bilgisayar olmalı.

-> Bağlantı ayarları ile ilgili tüm koşullar sağlandıktan sonra sıra SQL Server’ı içinde bulunduğunuz ağa arzetmeye geldi.

Yapılacakları şu şekilde basamaklayalım;

– Öncelikle SQL Server ile her zaman yaptığımız gibi local ağımıza bağlanıyoruz.

– Bağlantının ardından veritabanlarımızın listelendiği soldaki alanda “Security” seçeneğine tıklayıp, “Logins” seçeneğini seçiyoruz.

– Logins seçeneğine sağ tıklayıp “New Login” seçeneğini seçiyoruz.

-Ekrana gelen sayfa, bizim SQL Server’ımız için yeni bir kullanıcı tanımlama sayfamız.

– Bu sayfa üzerinde “General” sekmesi, ekleyeceğimiz kullanıcı ile ilgili genel bilgileri içeriyor. Örneğin kullanıcı ismi gibi.

– Authentication kısmında, dışarıdan bir bağlantı yapılacağı için SQL Server Authentication seçeneğini seçiyoruz. Ve oluşturacağımız kullanıcı için bir kullanıcı adı ve şifre belirliyoruz.

– Alttaki default database bölümünde ise, bu kullanıcının doğrudan bağlanmasını istediğimiz database’i seçiyoruz.

– Bu bölümdeki yapacaklarımız bu kadar. Şimdi bir sonraki sekmeye, yani “Server Roles” sekmesine geçelim.

– Bu bölüm de adından anlaşılacağı gibi ekleyeceğimiz kullanıcının Server üzerindeki rolünü gösteriyor. Buradan yapacağınız seçimler arttıkça eklediğiniz kullanıcının server üzerindeki yetkisi de artacaktır.

– Buradaki işlemlerimizi de tamamladıktan sonra bizim için asıl önemli olan “User Mapping” sekmesine geçiyoruz.

– Bu bölümde, oluşturduğumuz kullanıcının hangi veritabanlarına erişebileceği ve eriştiği veritabanlarında yapabileceği işlemleri belirliyoruz. (datawriter, datareader …)

Böylelikle sahip olduğumuz SQL Server üzerinde işlem yapabilecek yeni bir kullanıcı oluşturmuş olduk.

Eğer eklenecek kullanıcı admin yetkilerine sahip olacaksa, o zaman tüm seçeneklerin seçilmesinde fayda var.

Şimdi tek yapmak gereken, uzaktan bağlanacak bilgisayar için, MS SQL SERVER 2008 i açmak ve,

– Connect Server ile server bağlantı penceresini açmak.

– Server path ya da server Name bölümüne bağlanacağımız uzak bilgisayarın SQL Server adresini yazmak.

– Authentication bölümüne de oluşturduğumuz yeni kullanıcının kullanıcı adını ve şifresini girip bağlan butonuna tıklamak.

Burada genellikle sorun, veritabanının bulunduğu asıl bilgisayarın SQL Server’ına bağlanırken oluşacaktır. Asıl bilgisayarın ip’sini kullanarak sorunun ortadan kalkmasını sağlayabilirsiniz. Yani;

(“Bilgisayarın IP’si” /local) gibi…

Daha detaylı bilgi için buradan yardım alabilirsiniz…

2 Responses to MS SQL Server 2008 – Çoklu Kullanıcı

  1. Tolga Okur diyor ki:

    İşe yarar😉

  2. saltun diyor ki:

    işime yaradı teşekkür ederim.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: