MSSQL 2022 Veritabanı Oluşturma & C# Connection String Rehberi
Microsoft SQL Server 2022 (MSSQL), kurumsal C# ve ASP.NET Core projelerinde en yüksek veri işleme performansını, transaction güvenliğini ve JSON/Spatial veri desteğini sunar. Bu rehberde Windows Plesk Hosting paneli üzerinden yeni MSSQL 2022 veritabanı açmayı, C# appsettings.json bağlantı cümlelerini ve SSMS uzaktan bağlantısını öğreneceksiniz.
Adım 1 — Plesk Panelden Yeni MSSQL 2022 Veritabanı Açın
- Plesk Obsidian paneline giriş yapın ve sol menüden Databases (Veritabanları) sekmesini açın.
- Add Database (Veritabanı Ekle) butonuna tıklayın.
- Veritabanı türünü Microsoft SQL Server 2022 olarak seçin.
- Veritabanı adı (örn.
siteniz_db), veritabanı kullanıcı adı ve en az 10 karakterli güçlü bir parola belirleyin. - User Access (Kullanıcı Erişimi) kısmından 'Allow remote connections from any host' seçeneğini işaretleyerek OK butonuna basın.
Adım 2 — C# appsettings.json Connection String Yapılandırması
.NET 8 ve Entity Framework Core 8 sürümlerinde Microsoft.Data.SqlClient kütüphanesi varsayılan olarak SSL sertifika doğrulaması ister. Sunucunuzda self-signed SSL varsa bağlantı hatası almamak için TrustServerCertificate=True parametresi şarttır.
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=siteniz_db;User Id=siteniz_dbuser;Password=GuvliSifreniz123!;TrustServerCertificate=True;MultipleActiveResultSets=True;"
}
}
appsettings.json içinde düz metin tutmak yerine ortam değişkenleri (Environment Variables: ConnectionStrings__DefaultConnection) veya Secret Manager kullanmanız önerilir.
Adım 3 — Program.cs İçinde DbContext Servis Kaydı
Entity Framework Core DbContext sınıfınızı Program.cs içerisinde aşağıdaki gibi servislere ekleyin:
// Entity Framework Core SQL Server Servis Kaydı
builder.Services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
builder.Configuration.GetConnectionString("DefaultConnection"),
sqlOptions => sqlOptions.EnableRetryOnFailure(maxRetryCount: 5, maxRetryDelay: TimeSpan.FromSeconds(30), errorNumbersToAdd: null)
));
Adım 4 — SQL Server Management Studio (SSMS) İle Uzaktan Bağlantı & Firewall
Yerel bilgisayarınızdaki SSMS programı ile sunucu veritabanına uzaktan bağlanmak için Port 1433 güvenlik duvarı izninin açık olması gerekir (Skyversal Windows sunucularında Port 1433 önceden açık olarak gelir).
- Server name: Sunucu IP Adresi (örn.
sunucu-ip-adresi,1433veya varsayılan instance kullanılıyorsamssql.siteniz.com). Named Instance kullanılıyorsaSunucuIP\SQLEXPRESSformatını yazın. - Authentication:
SQL Server Authentication - Login: Plesk'te oluşturduğunuz veritabanı kullanıcı adı (
siteniz_dbuser) - Password: Belirlediğiniz veritabanı şifresi
- Encryption Options: SSMS 19+ sürümlerinde Trust server certificate kutucuğunu işaretleyin.
🛠️ Sorun Giderme (MSSQL Bağlantı Hataları)
🔴 SqlException Error 26 — Error Locating Server/Instance Specified
Sebebi: Sunucu IP/Port adresi yanlış yazılmış, Port 1433 sunucu güvenlik duvarında (Windows Firewall) engellenmiş veya Named Instance ismi yanlış yazılmış.
Çözümü: Bağlantı cümlesinde portu IP,1433 olarak açıkça belirtin. Kendi sunucunuzu yönetiyorsanız Windows Firewall Inbound Rules kısmından Port 1433 TCP izni verin ve SQL Server Browser servisinin çalıştığını doğrulayın.
🟡 SqlException: A connection was successfully established with the server, but error during login
Sebebi: SSL sertifika doğrulama hatası (.NET 8 varsayılan güvenli bağlantı zorunluluğu).
Çözümü: Connection string sonuna TrustServerCertificate=True; parametresini ekleyin.
🔵 SqlException (0x80131904): Cannot open database requested by the login
Sebebi: Veritabanı adı yazım hatası veya kullanıcının o veritabanına erişim yetkisinin olmaması.
Çözümü: Plesk panelden kullanıcı yetkilerini ve veritabanı ismini kontrol edin.