Etiket: Log

SQL Server 2008 Log Truncate

Şubat 19th, 2010

Use databaseName
GO
Alter Database databaseName Set Recovery Simple
GO
Alter Database databaseName Set Recovery Full
GO
DBCC SHRINKFILE (‘log file name’, 1)
GO

Tags: , , , , , ,
Posted in Yazılım | No Comments »

SQL Server 2005 LOG Truncate

Şubat 1st, 2010

SQL Server da backup alarak veya bir maintanence ile log dosyanızın boyutunu düşüremiyor musunuz ya da diskinizde o işlem için bile yer kalmadı mı?

Korkmayın çözüm aşağıdaki komutta,

Uyarı : Şuursuzca ve cahilce kullanımlardan mesuliyet kabul etmem, sonra gelip ben şunu değiştirmiştim de bu bozuldu demeyin!!!

1.
BACKUP LOG DBADI WITH TRUNCATE_ONLY

2.
USE [DBADI]
GO
DBCC SHRINKDATABASE(N'DBADI' )
GO

  1. “DBADI” ları DB nizin adıyla değiştirin,
  2. ilk önce 1. adımı çalıştırın,
  3. daha sonra ikinci adım ile ldf dosyanızın boyutunu ufaltın;

Tags: , , , , , , , ,
Posted in SQL Server, Yazılım | 1 Comment »

IIS ve FTP Loglarını SQL Server’ da Tutma

Şubat 3rd, 2009

Web siteniz ile ilgili (kim, ne zaman, nasıl, nerden, vs..) logları normal şartlar altında (NŞA) c:\windows\system32\LogFiles klasörüün altında bulabilirsiniz. Ama buradaki log dosyalarını açtığınızda veya bir proje ile bu logları parse etmeniz gerektiğinde verimli kullanım sağlayamazsınız, FTP Log dosyalarının içi;

#Software: Microsoft Internet Information Services 5.1
#Version: 1.0
#Date: 2009-02-02 12:19:13
#Fields: time c-ip cs-method cs-uri-stem sc-status
12:19:13 127.0.0.1 [1]USER xxxxx 331
12:19:13 127.0.0.1 [1]PASS – 530
12:19:17 127.0.0.1 [2]USER anonymous 331
12:19:17 127.0.0.1 [2]PASS anon@localhost 530
12:20:25 127.0.0.1 [3]USER anonymous 331
12:20:25 127.0.0.1 [3]PASS mozilla@example.com 530
12:20:29 127.0.0.1 [3]USER xxxxx 331
12:20:29 127.0.0.1 [3]PASS – 230
12:20:29 127.0.0.1 [3]sent / 550
12:20:29 127.0.0.1 [3]sent / 426
12:20:29 127.0.0.1 [3]sent / 550
12:20:29 127.0.0.1 [3]sent / 426
12:20:29 127.0.0.1 [3]sent / 550
12:20:29 127.0.0.1 [3]sent / 426
12:20:34 127.0.0.1 [3]sent /test 550
12:20:34 127.0.0.1 [3]sent /test 426
12:20:34 127.0.0.1 [3]sent /test 550
12:20:34 127.0.0.1 [3]sent /test 426
12:20:34 127.0.0.1 [3]sent /test 550
12:20:34 127.0.0.1 [3]sent /test 426
12:20:36 127.0.0.1 [3]sent /test2 550
12:20:36 127.0.0.1 [3]sent /test2 426
12:20:36 127.0.0.1 [3]sent /test2 550
12:20:36 127.0.0.1 [3]sent /test2 426
12:20:36 127.0.0.1 [3]sent /test2 550
12:20:36 127.0.0.1 [3]sent /test2 426
12:20:58 127.0.0.1 [4]USER xxxxx 331
12:20:58 127.0.0.1 [4]PASS – 530
12:21:07 127.0.0.1 [5]USER xxxxx 331
12:21:07 127.0.0.1 [5]PASS – 530
12:21:15 127.0.0.1 [6]USER xxxxx 331
12:21:15 127.0.0.1 [6]PASS – 530

gibidir. Bu kısmen basit halidir. Benden söylemesi. Bu logları SQL Server’ a, Access’ e veyaExcel’ e kaydettirebilirsiniz. Bunun için ODBC log konusunu incelememiz gerekmekte :)

Bu makalede ben logları sql servera yazdıracağım, siz değişik yerlere kayıtları alabilirsiniz.

  1. Bu yapacaklarımız sadece IIS ve FTP Loglarını almamızı sağlayacaktır. MMC den IIS i açarsak, İlgili web sitenin properties’ inden IIS log tanımı, yine aynı yerin FTP kısmının Properties’inden de FTP Log tanımını yapabilirsiniz.
  2. Bu işlemler için mutlaka server işletim sistemi gerekmekte,
  3. Makinada IIS ve FTP Server’ ın kurulu olması gerekmekte (FTP Log için, FTP Server gerekli, FTP log istenmiyorsa gerekmemekte),

SQL Serverda Tablo Yaratma

Logları toplayacak SQL Serverımızda yeni bir tablo yaratmamız gerekmekte. Tabloyu aşağıdaki scripti çalıştırarak oluşturabiliriz;

create table InternetLog(
ClientHost varchar(255), username varchar(255),
LogTime datetime, service varchar( 255), machine varchar( 255),
serverip varchar( 50), processingtime int, bytesrecvd int,
bytessent int, servicestatus int, win32status int,
operation varchar( 255), target varchar(255), parameters varchar(255) )

Default da query i çalıştırırken Database olarak master seçilidir muhtemelen, Bunun için yeni bir DB oluşturmanız veya var olan bir database’in içinde tablonun oluşturulması şiddetle tavsiye edilir;

Oluşan Tablodaki kolonların microsoftun sitesindeki tanımları aşağıdaki gibidir ;

Table – Field Format

FieldName: ClientHost
Data Source/Type: Varchar(255)
Explanations: Client IP address.

FieldName: Username
Data Source/Type: Varchar(255)
Explanations: User name for the client. If the page is not password-protected, this is always the anonymous user name.

FieldName: LogTime
Data Source/Type: Datetime
Explanations: Date and time that the log entry was created.

FieldName: Service
Data Source/Type: Varchar(255)
Explanations: Name of the service. This can be WWW, FTP, or some other name.

FieldName: Machine
Data Source/Type: Varchar(255)
Explanations: Server name.

FieldName: ServerIP
Data Source/Type: Varchar(255)
Explanations: Server IP address.

FieldName: ProcessingTime
Data Source/Type: Int
Explanations: Time spent on request processing (in milliseconds).

FieldName: BytesRecvd
Data Source/Type: Int
Explanations: Number of bytes received.

FieldName: BytesSent
Data Source/Type: Int
Explanations: Number of bytes sent.

FieldName: ServiceStatus
Data Source/Type: Int
Explanations: Service status, such as 200.

FieldName: Win32Status
Data Source/Type: Long Integer
Explanations: Windows NT status code. 0 typically indicates success.

FieldName: Operation
Data Source/Type: Varchar(255)
Explanations: Type of the operation or command. For example, this may be USER for FTP or GET for WWW.

FieldName: Target
Data Source/Type: Varchar(255)
Explanations: Target of the operation. For example, this may be Default.htm.

FieldName: Parameters
Data Source/Type: Varchar(255)
Explanations: Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER.


System DSN Kaydı Yaratılması

  1. IIS’in bulunduğu bilgisayarda, Control Panel –> Administrative Tools –> ODBC Data Source –> System DSN tabı,
  2. Add butonuna tıklayın,
  3. SQL Server‘ı seçin,
  4. Name kutusuna HTTPLog yazın, description belirtin, bağlanmak istediğiniz SQL Serverı seçin,
  5. SQL Server ayarlarınızı düzgün bir şekilde doldurun (gerekli connection stringler, database ismi, vs..),
  6. İşlemlerin sonunda Test Data Source butonuna tıklayın ve başarılı şekilde ayarlarınızı yaptığınızı teyit ettirin,

LOG için IIS Ayarları

  1. IIS ekranında, Loglamak istediğiniz Web sitenizin üzerine sağ tıklayıp, Properties‘ ine gelin,
  2. Web Site tabında, Active Log Format listesinden, ODBC Logging i seçin. ODBC ayarlarını yaparken Windows NT Integrated authentication seçtiyseniz, buradaki username ve password kısımlarını boş geçebilirsiniz. Ama tahminimce tüm ayarlar çok güzel bir şekilde hazır gelmiş olması gerekmekte. Buradaki bilgilerden, System DSN ayarlarıyla uyuşmayan kısımları değiştirin,

LOG için FTP Ayarları

  1. IIS ayarlarıyla aynı işlemleri yapmanız gerekmekte, aynı System DSN i referans olarak gösterebilirsiniz. Sadece IIS –> FTP Server kısmından özelliklere girip ODBC Loggingi seçmeniz ve ayarları yapmanız gerekmekte,

Resimli bir şekilde anlatmaya gerek görmedim, istenirse düşünebilirim :)

Tags: , , ,
Posted in Sistem, SQL Server | 2 Comments »