SQL Server için Bir Uygulama Tasarlama
SQL Server için bir uygulama tasarlamadan önce, harcanacak zaman önemlidir. İyi bir tasarlama, çok az değişiklik ister ve genellikle çok verimli çalışır. Seçilen mimari, yazılım uygulamasının yönetimini, gelişimini etkiler.
Yazılım Mimarisi
Client/server uygulamalarını tamamlamak, için farklı uygulama mimarilerinden biri kullanılabilir. Yazılım uygulamaları bir yada daha fazla server üzerine fiziksel olarak yerlaştirilen 3 mantıksal tabakaya ayrılabilir.
Mantıksal Tabaka |
Tanım |
Presentation |
Veri ve uygulamayı kullanıcılara sunma mantığı içerir. Bu tabaka, client üzerinde tamamlanır. |
Business |
Business kuralları ve uygulama mantığı içerir. SQL Server, bu tabaka ile ilgili olabilir. |
Veri |
Veritabanı tanımın, veri uyum mantığını, stored procedure�ları, ve veri ile ilgili olan diğer işlemleri içerir. |
Mimari Tasarı
Intelligent Server (2-Tier)
Client üzerinde ele alınan presentation servisleriyle, server üzerinde bir çok işlem meydana gelir. Bir çok örnekte; business servislerinin çoğu veritabanında yerine getirilir. Bu tasarı, client�lar business mantığını oluşturacak yeterli kaynağa sahip olmadığında yararlıdır. Server daralabilir; çünkü veritabanı ve business servisleri aynı donanım kaynakları üzerinde yarışır.
Intelligent Client (2-Tier)
Server üzerinde ele alınan veri servisleriyle, client üzerinde bir çok işlem meydana gelir. Bu tasarı, çok kullanılan client/server ortamıdır. Network trafiği karışık ve işlemler uzun olabilir.
Microsoft Access bu tasarının bir örneğidir.
N-Tier
İşlemler, veritabanı server�ı, uygulama server�ı ve client olarak ayrılır. Gerektiği kadar uygulama server�ı ve veritabanı server�ı kolayca eklenebilir. Bu yöntem, küçük uygulamalar için yavaşlayabilir.
Internet
İşlemler, Web server üzerinde bulunan business ve presentation servisleri, ve client�lar olarak ayrılır. Client desteklenen bir browser�a sahiptir.
SQL Server Veritabanını Tamamlama
Bir SQL Server veritabanını tamamlama, planlama, yaratma anlamındadır.
Veritabanı karmaşıklığı ve boyutu ne olursa olsun bir veritabanını tamamlama aşağıdaki adımları kapsar:
ü Uygulamanın, donanımı en iyi şekilde kullanacağı veritabanını tasarlamaya ve herbir nesne ve ilişki tipi için veri tabanı nesnelerini modellemeye ve bilgi tiplerini belirlemeye izin verir.
ü Veritabanı ve nesneleri yaratmayı, tabloları içermeyi, veri güvenilirlik mekanizmalarını, veri girişi ve nesnelerin geri elde edilmesini, güvenliği kapsar
ü Uygulamayı ve veritabanını test eder.
Bir veritabanı tasarlarken, veritabanının önemli fonksiyonları doğru olarak yerine getirip getirmediği garanti altına alınmak istenebilir.
ü Konfigüre edilmiş server�lar ve client�ları, denetlenen server performansını, işlemleri, jobları, uygulamayı yönetme, ve yönetilen uyarıları, yönetilen güvenliği ve yönetilen veritabanı backup procedure�leri içerir.
ü Server�ları ve client�ları konfigüre etme, server performansını denetleme, job�ları, alertleri, operatorleri, güvenliği ve veritabanı yedekleme procedure�lerini yönetme işlemlerini kapsar.
SQL Server Veritabanını Yönetme
SQL Server veritabanını yönetme aşağıdaki adımları kapsar.
¨ SQL Server�ı kurma ve konfigüre etme ve network güvenliğini doğrulama
¨ Veritabanları kurma
Task�lar, veritabanı ve log için disk alanları tahsis eder, veritabanına veri transferi yapar, veritabanı güvenliğini tanımlar ve tamamlar, tekrerlanmış task�lar için otomatikleşitrme job�ları yaratır.
Veriyi import etme, ve export etme, veritabanını ve log�u yedekleme ve açma, veritabanını denetleme aktivitelerini yönetir.
SQL Server�ı Kurma ve Konfigüre Etme
Donanım ve Yazılım İstekleri
Bileşen |
İstekler |
Bilgisayar |
Intel ve uyumlu sistemler |
Bellek |
En az 32MB |
Hard disk alanı |
En az 70MB, bütün yüklemeler ile birlikte 160 MB. |
Dosya sistemi |
FAT veya NTFS |
İşletim Sistemi |
Service Pack 3 ve daha sonraki versiyonları ile WinNT Workstation 4.0 veya WinNT Server 4.0 ve WinNT Mini-Service Pack (2), veya Microsoft Windows 9.x |
Diğer yazılım |
Bütün işletim sistemleri Internet Explorer 4.01 veya daha üst versiyonlarına ihtiyaç duyar. |
Uyarı: hard disk�in write-caching disk kontrolörü varsa, onu etkisiz hale getir. Bir veritabanı için bir write-caching disk kontrolörü tasarlanmadıkça, bu ciddi bir şekilde SQL Server veri uyumunu tehlikeye düşürebilir.
SQL Server Kurulumu için Gerekli Olan Seçenekler
Lisans Modu
Lisans modunda iki seçenek vardır. Bunlar Per Server ve Per Seat.
Per server: Client Access Lisansı özel server�a verilir. Workstation bağlantılarının maximum sayısı Client Access Lisansının izin verdiği sayıya eşit olmalı.
Per Seat: Client Access Lisansı özel workstation�a verilir. SQL Server�a bağlanan her bir Workstation bir Client Access Lisansı ister. Bu mod, bir server�a sınırsız sayıda workstation bağlantısını destekler.
Kurulumu Path�i
Kurulum sırasında C:\Mssql7 olarak default bir path gelir. Bu path isteğe göre değiştirilir. Ayrıca SQL Server kurulum sırasında sistem dizine dosyalar kurar. Sistem dosyalarının yeri değiştirilemez. Yeterli disk alanına sahip olunduğundan emin olmak gerekir.
Program Dosyaları
Program dosyaları, ilişkisel veritabanı motorunu, araçları (osql ve bcp gibi), upgrade araçlarını, kopyalama nesnelerini, ve Microsoft full text arama motorunu içerir.
Veri Dosyaları
Setup programı, master, model, msdb, pubs, northwind ve tempdb veritabanları için veritabanı ve transaction log dosyaları yaratır. Veri dosyaları, bu dosyaların genişleyebileceği göz önüne alınarak yeterli disk alanına sahip bir sürüceye yerleştirilmeli.
Note: SQL Server program ve veri dosyalarına erişmek için WinNT yaz/oku iznine sahip olunmalı.
Karakter Set
Kurulum sırasında kullanılan dili destekleyen karakter seti seçilmeli. Biz genelde kurulum sırasında Turkish dil desteğini seçiyoruz.
Önemli: Kurulumdan sonra, karakter seti değiştirilirse, bütün veritabanı yeniden build edilmeli.
Sort Order
Bir sort order karakter verisini sorgulanan karakter verisi ile karşılaştırır. Bunların bütün karakterlerinin (büyük küçük harf ayrımı gözeterek) eşit olup olmadığına bakar.
Case-insensitive büyük/küçük harf ayrımı yapmaz. Bu durum performansı arttırır; çünkü karşılaştırmalar için zaman harcanıyor. Aynı server üzerinde farklı sort order�lara sahip veritabanları bulunamaz. Biz genelde kolaylı açısından case-insensitive özelliğini seçiyoruz
Unicode Collation
Unicode veri için bir sort order olarak görev yapar. Bir Unicode Collation, farklı karşılaştırma stillerini içerir. Setup programı genelde case-insensitive, width-insensitive, Kana-insensitive seçeneklerini işaretli olarak getirir. Unicode ve Non-Unicode veri için aynı sort order�ın seçilmesi tavsiye edilir. Farklı bir değer seçilirse verinin Non-Unicode�dan Unicode çevrilmesi çok zor olur. Biz genelde default olarak gelen seçenekleri değiştirmiyoruz.
Network Desteği
SQl Server, belirli network protokolleriyle habeleşmek için network library�lerini kullanır. Server çoklu network library�lerini dinler; çünkü bir client network library�lerini kullanarak server ile haberleşir.
Geçerli network library�leri
Setup programı, Named Pipes, TCP/IP soketlerini, Multi-Protocol network library�lerini seçer. Ayrıca client yönetim araçları için geçerli network library�leri olarak Named Pipes�ı ayarlar. Client network library�si SQL Server network library�sine uygun olmalı.
Bir network library�i Seçme
Bir network library�i seçerken aşağıdaki adımlara dikkat etmek gerekir.
§ WinNT authentication�ı kullanma, geçerli network library�ilerden birini gerektirir.
§ WinNT encryption�ı kullanma, Multi-Protocol network library�isini gerektirir.
§ Seçilen network library�i, WinNT�nin kullandığı network protokolüne bağlıdır.
Aşağıda SQL Server�ın desteklediği network library�iler tanımlanmıştır
Network Library |
Tanım |
Named Pipes |
Client�ların Microsoft supplied transport protocol sayesinde named pipes ile bağlanmasına izin verir. |
TCP/IP Sockets |
TCP/IP içinden Standart Windows Sockets kullanılarak client�ların haberleşmesine izin verir. |
Multi-Protocol |
Named Pipes, TCP/IP sockets, NWLink IPX/SPX�i içererek, WinNT�nin desteklediği, bir yada daha fazla IPC mekanizması aracılığıyla client�ların haberleşmesine izin verir. |
NWLink IPX/SPX |
Novell SPX client�larının bağlanmasına izin verir. |
AppleTalk ADSP |
AppleTalk kullanılarak, Apple-Machintosh tabanlı client�ların SQL Server�a bağlanmasına izin verir. |
Banyan VINES |
Banyan VINES IP network protocol içinden IPC metodu olarak Banyan VINES Sequenced Packet Protocol (SPP) destekler. |
Not: Kurulumdan sonra, bir network library�yi değiştirmek için SQL Server Network Utility kullanılır.
SQL Server Servisleri Account
Herbir SQL Server servisi, belirlenmiş bir servis account güvenliğinde çalışır. Belirlenmiş servis account�u bir domain user account veya Local System account olabilir.
Setup programı, default olarak domain user account�u seçiyor.
Bir Domain User Account Kullanma
Domain user account kullanılırsa, SQL Server servisleri, güvenli bağlantılar kurarak, remote server�larla haberleşebilir. Domain user account SQL Server bilgisayarı üzerinde Administrator lokal grubunun bir üyesi olmalı.
Domain user account seçildiği zaman, Setup programı Domain user account�a SQL Server bilgisayarına bir servis olarak log olabilmesi için gerekli olan hakkı verir.
Domain user account kullanılırken aşağıdaki adımlar göz önüne alınmalı.
q Veri kopyalama veya multi-server yönetimsel aktiviteleri Domain user account�un SQL Server servisleri için güvenli olduğunu varsayar.
q SQL Server e-mail yoluyla notificationlar gönderirse, Domain user account kullanılmalı.
q Microsoft Exchange Server ve SQL Server tek bir bilgisayar üzerine kurulursa ve servisler bir başkası ile haberleşirse, WinNT Domain account kullanılmalı.
q Password Never Expires özelliğini seçerek, SQL Server servisleri için dedicated SQL Server user account kullan.
q SQL Server, bir yada daha fazla WinNT domain�lerinin birleştirildiği ortamlarda kurulur. Bu ortamlarda, bütün kullanıcı account�larına erişim hakkı olan bir domain�e SQL Server kurulur.
q SQL Server�ın PDC�ye kurulması tavsiye edilmez; çünkü bu bilgisayarlar, network accounts veritabanının kopyalanmasını, network logon authentication�ının yapılmasını sağlar.
Local System Account Kullanma
Lokal Sistem account�u seçilirse, SQL Server servisleri, güvenli bağlantı kurarken remote server�larla heberleşemez. Domain�in bir parçası olmadan çalışan WinNT bilgisayarının üzerine SQL Server kurulursa, Lokal Sistem account kullanılmalı.
Kurma Sonuçlarını İnceleme
Kurulum işleminden sonra hangi bileşenlerin kurulduğu çok önemlidir.
Kurulan Bilşenler |
Tanım |
SQL Server Servisleri |
MSSQL Server |
Management tools |
SQL Server�ı yönetmek için kullanılan araçlar |
Veritabanları |
Master, model, msdb, pubs, northwind, tempdb |
Dizinler ve dosyalar |
C:\Mssql7\Binn�de ilişkisel veritabanı motoru ve bütün araçlar |
Default startup options |
WinNT registry�sine yazılan default startup seçenekleri grubu |
Default security mode |
Kullanıcıların, WinNT authentication�la veya SQL Server authentication�la bağlanmasına izin verir. |
SQL Server sa login account |
Bir şifre olmadan SQL Server login account�u |
SqlAgentCmdExec account |
SQL Server Agent�in görev tiplerini çalıştırmak için kullandığı Lokal WinNT kullanıcı account�u |