24 Nis 2024 SQL Server'da T-SQL Kullanarak Log Dosyalarını Temizleme Kategori: SQL Server Etiketler: SQL ServerSQL Server 2005SQL Server 2008SQL Server 2012T-SQL 63 Yorum SQL Server'daki log dosyaları, veritabanı işlemlerinin izlenmesi ve geri alınabilir durumun korunması için kullanılır. Ancak, log dosyaları zamanla büyüyebilir ve disk alanını tüketebilir. Bu nedenle, log dosyalarını periyodik olarak temizlemek önemlidir. Bu makalede, SQL Server'da T-SQL kullanarak log dosyalarını nasıl temizleyeceğinizi adım adım göstereceğiz.1. Log Dosyası Yedeklemeyi Etkinleştirmeİlk adım olarak, log dosyalarını temizlemeden önce, log dosyalarını yedeklemeniz gerekmektedir. Bu, veri bütünlüğünü korumak için önemlidir. SQL Server Management Studio veya T-SQL kullanarak log yedeklemeyi etkinleştirebilirsiniz.BACKUP LOG [DatabaseName] TO DISK = 'BackupPath' WITH INIT2. Log Dosyasını TemizlemeLog dosyasını temizlemek için aşağıdaki T-SQL komutunu kullanabilirsiniz:USE SemGoksuComGOALTER DATABASE SemGoksuCom SET RECOVERY SIMPLE WITH NO_WAITDBCC SHRINKFILE(SemGoksuCom_log)ALTER DATABASE SemGoksuCom SET RECOVERY FULL WITH NO_WAIT Bu komut, belirli bir veritabanının log dosyasını temizler. DatabaseName ve DatabaseLogFileName değerlerini kendi veritabanınızın adı ve log dosyasının adıyla değiştirmeniz gerekmektedir.3. Otomatik Log Temizleme Planı OluşturmaLog dosyalarını düzenli olarak temizlemek için bir otomatik plan oluşturabilirsiniz. SQL Server Agent kullanarak bu işlemi yapabilirsiniz. Günlük, haftalık veya aylık olarak log temizleme planınızı yapılandırabilirsiniz.4. Dikkat Edilmesi GerekenlerLog dosyasını temizleme işleminden önce, log dosyasını yedeklemeniz önemlidir.Log dosyasını temizleme işlemi, disk üzerindeki boş alanı artırır, ancak log dosyasının tamamen sıfırlanmasını garanti etmez.Log dosyasını temizleme işleminin yüksek trafik saatlerinde gerçekleşmediğinden emin olun.Bu adımları takip ederek, SQL Server'daki log dosyalarını düzenli olarak temizleyebilir ve disk alanınızı optimize edebilirsiniz.
24 Nis 2024 T-SQL Kullanarak Tüm Veritabanlarının Yedeklerini Alma Kategori: SQL Server Etiketler: SQL ServerSQL Server 2005SQL Server 2008SQL Server 2012T-SQL 35 Yorum SQL Server'da veritabanlarının yedeklerini almak, veri kaybını önlemenin ve felaket kurtarma planınızı güçlendirmenin önemli bir parçasıdır. Tüm veritabanlarının yedeklerini almak için T-SQL kullanarak otomatik bir süreç oluşturabilirsiniz. Bu makalede, SQL Server'da T-SQL kullanarak tüm veritabanlarının yedeklerini nasıl alacağınızı adım adım göstereceğiz.1. Tüm Veritabanlarını Listelemeİlk adım olarak, SQL Server'daki tüm veritabanlarını listelemeniz gerekmektedir. Bunun için aşağıdaki sorguyu kullanabilirsiniz:SELECT nameFROM sys.databasesWHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')Bu sorgu, master, tempdb, model ve msdb veritabanlarını hariç tutarak tüm kullanıcı veritabanlarını listeler.2. Yedek Alma İşlemiŞimdi, listedeki her bir veritabanı için yedek alma işlemini gerçekleştireceğiz. Aşağıdaki T-SQL komutu bu işlemi yapacaktır:DECLARE @DBName NVARCHAR(255)DECLARE @BackupPath NVARCHAR(500)DECLARE @BackupFileName NVARCHAR(500)DECLARE @SQL NVARCHAR(MAX)SET @BackupPath = 'C:\Backup\' -- Yedeklerin saklanacağı dizini belirtinDECLARE DBNameCursor CURSOR FORSELECT name FROM sys.databasesWHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')OPEN DBNameCursorFETCH NEXT FROM DBNameCursor INTO @DBNameWHILE @@FETCH_STATUS = 0BEGIN SET @BackupFileName = @BackupPath + @DBName + '_' + REPLACE(CONVERT(NVARCHAR(20), GETDATE(), 120), ':', '') + '.bak' SET @SQL = 'BACKUP DATABASE ' + QUOTENAME(@DBName) + ' TO DISK = ''' + @BackupFileName + ''' WITH FORMAT' EXEC(@SQL) FETCH NEXT FROM DBNameCursor INTO @DBNameEND CLOSE DBNameCursorDEALLOCATE DBNameCursorBu komut, her bir veritabanını alır ve belirtilen yedek dizinine o veritabanının adını ve geçerli tarihi içeren bir yedek dosyası oluşturur.3. Otomatik Yedekleme Planı OluşturmaTüm veritabanlarının düzenli olarak yedeklerini almak için bir otomatik yedekleme planı oluşturmak önemlidir. SQL Server Agent kullanarak bu işlemi yapabilirsiniz. Günlük, haftalık veya aylık olarak yedekleme planınızı yapılandırabilirsiniz.4. Dikkat Edilmesi GerekenlerYedekleri saklayacağınız disk alanının yeterli olduğundan emin olun.Yedekleme işlemlerinin yüksek trafik saatlerinde gerçekleşmediğinden ve sistem performansını etkilemediğinden emin olun.Yedekleme işleminden önce veritabanı dosyalarınızın bütünlüğünü kontrol edin.Bu adımları takip ederek, SQL Server'daki tüm veritabanlarının düzenli olarak yedeklerini alabilir ve veri kaybını en aza indirebilirsiniz.Bu makale, SQL Server'daki tüm veritabanlarının yedeklerini almak için temel bir rehber sağlar. İhtiyaçlarınıza ve ortamınıza bağlı olarak, işlemleri özelleştirebilirsiniz.
26 Eyl 2010 T-SQL İçerisinde Dinamik ORDER BY kullanımı Kategori: SQL Server Etiketler: SQL Server 2008SQL ServerSQL Server 2005 5 Yorum Stored Procedure içerisinde dinamik sıralama yapmak için CASE ifadesini kullanabiliyoruz. Parametreden gelen değeri CASE ifadesi ile kontrol ederek istediğimiz alan adına göre sıralama yapabiliyoruz. İtiraf etmeliyim ki şimdiye kadar bir çok yöntem denemiştim ve hiçbirinden memnun kalmamıştım :) Umarım bu yöntem sizlerinde işine yarar...Declare @SiralamaTipi int =1 -- Buraya yazdığımız değere göre sorgu sonucu farklı şekilde sıralanacak.Select * From Stok.Kategoriler Order ByCase When @SiralamaTipi =1 then KategoriID End Asc, -- KaregoriID'ye göre artan sıralama Case When @SiralamaTipi = -1 then KategoriID End Desc, -- KaregoriID'ye göre azalan sıralamaCase When @SiralamaTipi =2 then KategoriAdi End Asc, -- KaregoriAdi'na göre artan sıralamaCase When @SiralamaTipi = -2 then KategoriAdi End Desc -- KaregoriAdi'na göre azalan sıralama
09 Kas 2009 LinqToSQL ile Sayfalama (Paging) İşlemi Kategori: Yazılım Etiketler: LinqToSQLLINQC# 3.0C#SQL Server 2005 0 Yorum SQL Server 2005 ile birlikte gelen row_number() fonksiyonunu kullanarak bir kayıt numarası oluşturuyor ve bu kayıt numarasını kullanarak verileri istediğimiz sayıda çekebiliyorduk. LinqToSQL ile de bu işlemi yapabiliyoruz. Aşağıdaki örnek City Tablosundan kayıtların onar onar alınmasını sağlıyor.[C#]class Program{ static void Main(string[] args) { int CityCount = 0; IEnumerable<City> Cities = GetCities(0, 10, ref CityCount); // İlk 10 kaydı çekeceğiz. ilk parametre sayfa indexini ikinci parametre ise bir sayfada kaç kayıt gösterileceğini belirtiyor. Console.WriteLine("Toplam Şehir Sayısı:{0}", CityCount); Console.WriteLine("-----------------------------"); foreach (City city in Cities) { Console.WriteLine(city.CityName); } } private static IEnumerable<City> GetCities(int startingPageIndex, int PageSize, ref int CityCount) { DataClasses1DataContext db = new DataClasses1DataContext(); CityCount = db.Cities.Count();// Toplam kayıt sayısını set edelim. return db.Cities.Skip<City>(PageSize * startingPageIndex).Take<City>(PageSize); }}
07 Nis 2009 Sem Göksu Açık Kaynak Kodlu Blog Sistemi Kategori: Yazılım Etiketler: ASP.NETSem Göksu Blog SistemiSilverlightSQL Server 2005 82 Yorum Sem Göksu Blog SistemiSem Göksu Blog Sistemi ile kendi bloğunuzu oluşturabilirsiniz. Blog içerisinde Caching, SQL Paging, Re-Write Path gibi bir çok konu işlenmiştir. Kullanılan Teknolojiler- ASP.NET 3.5- ASP.NET AJAX 1.0- Silverlight- JavaScript- Enterprise Library 3.0- SQL Server 2005Blog Özellikleri- İçerikler- Makaleler- Kitap Önerileri- Çalışmalar- Silverlight Fotoğfraf Galerisi- Kaynaklar- Takip ettiklerim- IE 8 Hızlandırıcı- RSS - Tema- Arama- Yorum- Arşiv- CMSBlog sistemini indirmek için http://www.semgoksu.com/semgoksu.rar adresini kullanabilirsiniz. Rar dosyası içerisinde bulunan semgoksu.sql isimli dosyayı çalıştırdığınız da veritabanınız hazır olacak. Bloğu kendinize uyarlamak için web.config içerisindeki ayarları yapmanız yeterli olacaktır. Bu ayarlar,Connection StringBloğun kullanacağı veritabanı için gerekli olan ConectionString bilgisi.HostEmail gönderimi için gerekli olan host bilgisi.Email Email'in gönderileceği email hesabı.PasswordEmail adresinin şifresi.SenderEmailGönderilecek olan mail adresi.SiteNameBlog ile ilgili açıklama.SiteOwnerBloğun sahibiSiteLinkBloğun adresi.SiteShortLinkBloğun kısa adresi.AdminUserCMS'e girişte kullanacağınız kullanıcı adı. AdminPassCMS'e girişte kullanacağınız şifre.Bloğu kullandıktan sonra bana bilgi verirseniz çok sevinirim :)