Yazılım Öğrenme Rehberi

Başlangıçtan İleri Seviyeye

Reklam
728x90 Leaderboard

SQL Server Kurulum Ve Kullanım

SQL Server Veritabanı

SQL Server Nedir?

Microsoft SQL Server, Microsoft tarafından geliştirilen güçlü bir ilişkisel veritabanı yönetim sistemidir (RDBMS - Relational Database Management System). Kurumsal düzeyde veri saklama, yönetme ve analiz etme için kullanılır.

💡 SQL Server Sürümleri:
  • Express: Ücretsiz, küçük uygulamalar için (10 GB veritabanı limiti)
  • Developer: Ücretsiz, geliştirme ve test için (production kullanılamaz)
  • Standard: Ücretli, orta ölçekli işletmeler için
  • Enterprise: Ücretli, büyük kurumsal uygulamalar için

SQL Server Developer Edition Kurulumu

Sistem Gereksinimleri

  • İşletim Sistemi: Windows 10/11, Windows Server 2016 veya üzeri
  • İşlemci: x64 işlemci, minimum 1.4 GHz (2.0 GHz önerilir)
  • RAM: Minimum 1 GB (4 GB veya daha fazla önerilir)
  • Disk Alanı: Minimum 6 GB boş alan
  • .NET Framework: 4.6 veya üzeri

Kurulum Adımları

1. İndirme

  1. Microsoft'un resmi sitesine gidin: microsoft.com/sql-server/sql-server-downloads
  2. "Developer" sürümünü seçin (ücretsiz)
  3. İndirme işlemini başlatın

2. Kurulum Tipi Seçimi

Kurulum dosyasını çalıştırdığınızda üç seçenek sunulur:

  • Basic: Hızlı kurulum, varsayılan ayarlar (başlangıç için önerilir)
  • Custom: Özelleştirilmiş kurulum, gelişmiş ayarlar
  • Download Media: Offline kurulum dosyası indirme

3. Basic Kurulum (Önerilen)

  1. "Basic" seçeneğini seçin
  2. Lisans sözleşmesini kabul edin
  3. Kurulum konumunu seçin (varsayılan: C:\Program Files\Microsoft SQL Server)
  4. "Install" butonuna tıklayın
  5. Kurulum tamamlanana kadar bekleyin (10-20 dakika)
  6. Kurulum tamamlandığında bağlantı bilgilerini not edin:
    • Server name: localhost veya .\SQLEXPRESS
    • Instance name: MSSQLSERVER veya SQLEXPRESS

4. Custom Kurulum (Gelişmiş)

Daha fazla kontrol istiyorsanız Custom kurulum yapabilirsiniz:

  1. "Custom" seçeneğini seçin
  2. Kurulum dosyalarını indirin
  3. SQL Server Installation Center açılır
  4. "Installation" → "New SQL Server stand-alone installation"
  5. Feature Selection:
    • ☑ Database Engine Services (zorunlu)
    • ☑ SQL Server Replication
    • ☑ Full-Text and Semantic Extractions for Search
    • ☑ Client Tools Connectivity
  6. Instance Configuration:
    • Default instance: MSSQLSERVER
    • Veya Named instance: Kendi adınızı verin
  7. Server Configuration:
    • Service Accounts: Varsayılan ayarları kullanın
    • Collation: SQL_Latin1_General_CP1_CI_AS (Türkçe karakterler için)
  8. Database Engine Configuration:
    • Authentication Mode:
      • Windows Authentication (önerilir)
      • Veya Mixed Mode (SQL Server + Windows)
    • Mixed Mode seçerseniz sa kullanıcısı için güçlü bir şifre belirleyin
    • "Add Current User" ile kendi Windows hesabınızı admin olarak ekleyin
  9. "Install" butonuna tıklayın
⚠️ Önemli: Mixed Mode seçerseniz sa (system administrator) şifresini mutlaka güçlü yapın ve bir yere not edin. Bu şifreyi kaybederseniz veritabanına erişim sorunları yaşayabilirsiniz.

SQL Server Servislerini Kontrol Etme

Services.msc ile Kontrol

  1. Win + R tuşlarına basın
  2. services.msc yazın ve Enter'a basın
  3. Aşağıdaki servisleri bulun:
    • SQL Server (MSSQLSERVER) - Running olmalı
    • SQL Server Agent (MSSQLSERVER) - İsteğe bağlı
    • SQL Server Browser - Named instance kullanıyorsanız Running olmalı
  4. Servis çalışmıyorsa sağ tıklayıp "Start" seçin

SQL Server Configuration Manager

  1. Başlat menüsünde "SQL Server Configuration Manager" arayın
  2. "SQL Server Services" bölümünde servislerin durumunu kontrol edin
  3. "SQL Server Network Configuration" → "Protocols for MSSQLSERVER":
    • TCP/IP protokolünü "Enabled" yapın (uzaktan bağlantı için)

İlk Bağlantı ve Test

SQLCMD ile Bağlantı (Command Line)

sqlcmd -S localhost -E
-- Veya named instance için:
sqlcmd -S localhost\SQLEXPRESS -E

-- Basit bir test sorgusu:
SELECT @@VERSION;
GO

Bağlantı Sorunları ve Çözümleri

1. "A network-related or instance-specific error"

  • SQL Server servisinin çalıştığından emin olun
  • Server name'i doğru yazdığınızdan emin olun
  • Firewall'un SQL Server'ı engellemediğinden emin olun

2. "Login failed for user"

  • Authentication mode'u kontrol edin
  • Kullanıcı adı ve şifrenin doğru olduğundan emin olun
  • Windows Authentication kullanıyorsanız doğru Windows hesabıyla giriş yapın

3. TCP/IP Bağlantı Sorunları

  1. SQL Server Configuration Manager'ı açın
  2. Protocols for MSSQLSERVER → TCP/IP → Enabled yapın
  3. TCP/IP'ye sağ tıklayıp Properties → IP Addresses
  4. IPAll → TCP Port: 1433 (varsayılan)
  5. SQL Server servisini yeniden başlatın

Temel SQL Server Kavramları

1. Instance (Örnek)

Bir bilgisayarda birden fazla SQL Server instance'ı çalışabilir:

  • Default Instance: localhost veya .
  • Named Instance: localhost\InstanceName

2. Database (Veritabanı)

Verilerin saklandığı ana birim. Her database şunları içerir:

  • Tables: Veri tabloları
  • Views: Sanal tablolar
  • Stored Procedures: Saklı prosedürler
  • Functions: Fonksiyonlar
  • Triggers: Tetikleyiciler

3. System Databases

SQL Server kurulumunda otomatik oluşturulan veritabanları:

  • master: Sistem yapılandırması ve metadata
  • model: Yeni veritabanları için şablon
  • msdb: SQL Server Agent ve yedekleme bilgileri
  • tempdb: Geçici veriler (her yeniden başlatmada sıfırlanır)

İlk Veritabanı Oluşturma

T-SQL ile Veritabanı Oluşturma

-- Yeni veritabanı oluştur
CREATE DATABASE MyFirstDatabase;
GO

-- Veritabanını kullan
USE MyFirstDatabase;
GO

-- Basit bir tablo oluştur
CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY IDENTITY(1,1),
    FirstName NVARCHAR(50) NOT NULL,
    LastName NVARCHAR(50) NOT NULL,
    Email NVARCHAR(100) UNIQUE,
    CreatedDate DATETIME DEFAULT GETDATE()
);
GO

-- Veri ekle
INSERT INTO Customers (FirstName, LastName, Email)
VALUES ('Ahmet', 'Yılmaz', 'ahmet@example.com');
GO

-- Verileri sorgula
SELECT * FROM Customers;
GO

Backup ve Restore

Full Backup Alma

-- Veritabanının tam yedeğini al
BACKUP DATABASE MyFirstDatabase
TO DISK = 'C:\Backups\MyFirstDatabase.bak'
WITH FORMAT, INIT, NAME = 'Full Backup of MyFirstDatabase';
GO

Backup'tan Geri Yükleme

-- Önce veritabanını single user mode'a al
ALTER DATABASE MyFirstDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO

-- Backup'tan geri yükle
RESTORE DATABASE MyFirstDatabase
FROM DISK = 'C:\Backups\MyFirstDatabase.bak'
WITH REPLACE;
GO

-- Multi user mode'a geri al
ALTER DATABASE MyFirstDatabase SET MULTI_USER;
GO

Performans ve Optimizasyon

Index Oluşturma

-- Clustered Index (Primary Key otomatik oluşturur)
-- Non-Clustered Index oluştur
CREATE NONCLUSTERED INDEX IX_Customers_Email
ON Customers(Email);
GO

Execution Plan İnceleme

-- Execution plan'ı göster
SET SHOWPLAN_TEXT ON;
GO

SELECT * FROM Customers WHERE Email = 'ahmet@example.com';
GO

SET SHOWPLAN_TEXT OFF;
GO
🎯 Best Practices:
  • Düzenli backup alın (Full, Differential, Transaction Log)
  • Güçlü şifreler kullanın
  • Gereksiz kullanıcılara admin yetkisi vermeyin
  • Index'leri doğru kullanın (çok fazla index performansı düşürür)
  • Tempdb'yi SSD'ye taşıyın
  • SQL Server Agent ile otomatik bakım planları oluşturun
  • Error log'ları düzenli kontrol edin