Birkaç hafta önce, Exchange sunucumuzda bir problem oldu ve mail gönderebilmemize rağmen mail alamamaya başladık. DNS testi yaptım, sorun gözükmüyordu. Exchange üzerindeki health status testlerini yaptım, bu testler sonrasında da herhangi bir hata ile karşılaşmadım. Daha sonra telnet ile Exchange’e bağlanmak istedim ve bağlandığımda her zaman “hoşgeldin abi” diyen Exchange, bu sefer farklı bir şekilde karşılıyordu beni. “Insufficient system resources”. Bu nedir ki? Ram desek, ram ile ilgili bir sıkıntımız yok. HDD desek, HDD sıkıntımızın olduğunu da düşünmüyordum. Fakat ufak bir araştırma yaptığımda, queue database’inin bulunduğu sürücünün hdd boyutunun 2 gb’ın altına düştüğünde böyle bir hata verdiğini öğrendim. Aslında 2 gb’ın altında olması, mutlaka sorun olduğu anlamına gelmiyor fakat Exchange config’leri ayarlanırken, default olarak 2 gb olacak şekilde ayarlanmış. Dilerseniz bu boyutu daha da aşağılara çekebiliyor ya da hiç hata vermemesini sağlayabiliyorsunuz.
Diyelim ki aynı sorun sizin başınıza da geldi. HDD’de yer açmaya çalıştınız fakat queue database’i yer açılamayacak bir partition’da. Normalde default kurulumlarda bu database, C sürücüsünün altında oluyor. Şimdi birazdan size, bu database’i nasıl başka bir partition üzerine aktarabileceğinizi anlatacağım. Anlatım sırasını, Technet’in yaptığı şekilde yapacağım. Anlatımda Technet’e sadık kaldığımı belirtmek istiyorum.
1. Öncelikle “C:\Program Files\Microsoft\Exchange Server\Bin\EdgeTransport.exe.config” dosyasını Notepad ya da benzeri bir program ile açın.
2. Sonra <appSettings> içersindeki aşağıdaki bölümü değiştirin.
<add key=”QueueDatabasePath” value=”<LocalPath>” />
Örneğin queue database’ini D sürücüsündeki bir QueueDB isimli klasör içersine taşıyacaksanız, yukardaki satırı, aşağıdaki gibi düzenlemeniz gerekiyor.
<add key=”QueueDatabasePath” value=”D:\QueueDB” />
3. EdgeTransport.exe.config dosyasını kaydederek, kapatın.
4. Şimdi yapmış olduğunuz değişikliğin yürürlüğe girebilmesi için “Microsoft Exchange Transport” servisini yeniden başlatmanız gerekiyor.
5. Daha sonra database’i taşımak istediğiniz klasöre girerek, Mail.que ve Trn.chk dosyalarının bu klasör içinde yaratılmış olduğuna emin olun.
6. Şimdi kullanılmayacak olan Mail.que ve Trn.chk dosyalarını, orjinal klasörünün içinden silebilirsiniz.
Önemli not: Şimdi yukarda yapmış olduğumuz şey, yeni dizinde yeni bir mail queue database’i yaratmak oldu. Normalde bu işlemi yaptığınızda, aradaki geçen zamanda Exchange’e gelen mailler, belirli bir zaman için mail kutunuza düşmeye başlar. Fakat tüm maillerin size ulaşacağına kesin garanti veremiyorum. Eğer cidden mailleriniz sizin için çok önemliyse, eski database’inizi de yeni bir klasöre taşıyabilirsiniz. Bunun için yapmanız gereken, yine config dosyasında ilgili dizini girdikten sonra, Transport servisini Restart etmek yerine Stop etmek olacaktır. Daha sonra yeni klasöre Mail.que ve Trn.chk dosyalarınızı taşıyıp, daha sonra Transport servisini start edebilirsiniz.
Yukardaki işlemleri yaptıktan sonra sıra queue database transaction loglarını taşımaya geldi. Bu loglarda database’in olduğu klasörün içersindedir. Taşıma işlemi için yine EdgeTransport.exe.config ayar dosyasını notepad ile açıp, aşağıdaki değişiklikleri yapacağız.
1. Aynı şekilde <appSettings> içersinde aşağıdaki satırı bulalım:
<add key=”QueueDatabaseLoggingPath” value=”<LocalPath>” />
Şimdi hangi klasöre taşımak istiyorsak, aşağıdaki gibi değiştirelim kodları. Ben database ile aynı klasöre taşıyorum.
<add key=”QueueDatabaseLoggingPath” value=”D:\QueueDB” />
2. Sonrasında config dosyasını kaydederek, Transport servisini tekrar restart edelim.
3. Şimdi D:\QueueDB klasörümüzün içersine girerek, “Trn.log, Trntmp.log, Trnres00001.jrs, Trnres00002.jrs ve Temp.edb” dosyalarının yaratılmış olduğunu kontrol edelim.
4. Eğer dosyalarımız yaratılmış ise eski dosyaları bulundukları klasör içersinden silebiliriz.
Not: Logları kendiniz de taşıyabilirsiniz. Bunun için database taşıma işleminde olduğu gibi, Transport servisini stop edip, kopyalama işlemi bitince tekrar start edebiliriz. Kopyalama işlemi sonrasında eski dosyaları tekrar silebilirsiniz.
Technet üzerindeki orjinal makaleyi görmek isterseniz, bağlantı aşağıda:
http://technet.microsoft.com/en-us/library/bb125177.aspx
Dilerseniz, database’in bulunduğu partition için gerekli minimum hdd alanı şartını kaldırabilirsiniz. Bunun için EdgeTransport.exe.config dosyasını biraz daha incelemeniz gerekiyor. Kolay gelsin.