Sql Server Log Dosyası Küçültme

DBCC SHRINKFILE(TK_Log2, 2)

BACKUP LOG TK2009 WITH TRUNCATE_ONLY

SET NOCOUNT ON
DECLARE @Index INT
SELECT @Index = 0
WHILE (@Index < 20000)
BEGIN
UPDATE MyTable SET MyField = MyField WHERE PK = 1
SELECT @Index = @Index + 1
END
SET NOCOUNT OFF


BACKUP LOG TK2009 TO DISK='c:\TK_Log2backup'
DBCC SHRINKFILE(TK_Log2,2)

WD Media Player Türkçe Karakter Sorunu



Dün ürünü alıp kurduğumda Türkçe altyazı problemi kafamda bir an soru işareti oluşturdu. Ancak daha sonra firmware update tamamladıktan sonra herhangi bir sorun kalmadı. Üründen çok memnunum almayı düşünenler varsa fazla düşünmeleri gereksiz. Türkçe karakter sorunu yaşayanlar ve merak edenler için güncellemenin nasıl yapıldığını kısaca anlatacağım. Forum sitelerinden öğrenmek için saçma hesaplar açmak zorunda kalmayın.

Güncelleme Adımları


Önce http://support.wdc.com adresine gidip "Downloads" linkine tıklıyoruz. Buradan "home entertainment" linkine geliyoruz. Şu anda pek çok elektronik markette satılan ve benim kullandığım ürün WD TV HD Media Player (Gen 2) ürününe geliyoruz. (yukarıdaki görselde yer alan) Ürün resmine tıklayıp açılan sayfadan "Current Firmware" linkine tıklıyoruz. Firmware sayfasında sağ tarafta "download now" butonuna basıyoruz. Rar dosyası halinde 3 dosya ve bir pdf dokümanını indiriyoruz. Pdf dosyasından firmware hakkında bilgi edinebilirsiniz. Bunu isterseniz silebilirsiniz. Kalan diğer 3 dosyayı USB diskinizin kök (ana) dizinine kopyalayın.
Diskinizi Media Player'a bağlayın.Media Player açtıktan sonra Home ==>Settings ayarlar kısmına gelin.Sizi yeni bir firmware olduğunu ve güncellemek isteyip istemediğiniz konusunda uyarı ekranı gelecek. Evet dediğinizde reboot işlemi sonrsında güncelleme başlayacak ve bittikten sonra kendi kendine tekrar reboot edip artık kullanıma hazır hale gelecektir. Artık settings kısmında altyazı dil seçeneklerinde Türkçe de yer alıyor. Türkçe seçerek sinema keyfine başlayabilirsiniz. Özellikle altın kaplama HDMI kablo kullanmanızı öneririm. Elde ettiğiniz görüntü kalitesi verdiğiniz paraya değer. Yarım metrelik bir kablo benim işimi kablo gördü. Diğerlerine göre fiyatı daha uygun.

Sql server Log dosyasını küçültme

Aşırı boyuttaki log dosyasını küçültmek için önce detach edip sonra log dosyasını bulunduğu dizinden silip tekrar attach ettiğinizde yeni bir log dosyası oluşuyor. Ama online olan bir site içinde böyle birşey yapmak pek hoş olmaz.Bu nedenle

backup log database_name with truncate_only

dbcc shrinkfile (database_Log,0)

komutlarını kullanmak sitenin çalışmasını engellemeden log dosyasını küçültür.

Command prompt FTP

Sık yapılan ftp işlemlerini hızlandırmak için bir bat dosyasına aşağıdaki satırları ekleyebiliriz.Ftp işlemleri için script.txt dosyası içindeki komutlar tek tek okunur. Tüm işlemler bittiğinde bir süre beklemek için PING komutunu kullanıyoruz.

@echo off
cd c:\program Files\winrar
rar a -ep1 c:\tk\www\bin.rar c:\tk\www\bin\*
ftp -s:C:\SCRIPT.TXT
echo.
echo ftp tamamlandi
PING 1.1.1.1 -n 1 -w 2000 >NUL

*********************
script.txt dosyasında ise aşağıdaki ifadeler yer alıyor.

open www.abc.com
username
password
binary
put c:\tk\www\bin.rar
bye

Bat dosyasına bir de kısayol verdik mi bir tuşla bizi sıkan bir çok işlemi tek seferde halledebiliyoruz. Benim işlerimi çok hızlandırdı açıkçası.

Yeni Ufuklar


Aylar süren 'Öğrenen Organizasyonlar' şirket içi ekip çalışması bitti ve hepimiz çalışmalarımızı diğer ekip üyeleri ve grup başkanı Sn. Cahit Paksoy ile paylaştık. Her üye ve Medyasoft için yararlı olduğunu düşünüyorum. Başından sonuna kadar bizlere destek olan mentorumuz Gürhan Özden ve yöneticilerimize teşekkür ederiz.

ntext alanlarda replace

Tabloda ntext alanda var olan bir veriyi değiştirmek istediğimizde SQL Update komutu ve REPLACE fonksiyonunu kullanmak mümkün değildir. Örneğin bir tabloda yer alan tüm içeriklerde telefon numarasının değiştiğini varsayalım:


DECLARE
@TextPointer BINARY(16),
@TextIndex INT,
@oldString NVARCHAR(32), -- text alan için VARCHAR olmalı
@newString NVARCHAR(32), -- text alan için VARCHAR olmalı
@lenOldString INT,
@currentDataID INT;

SET @oldString = N'444 0 849'; -- text alan için N kalkmalı
SET @newString = N'444 2 538'; -- text alan için N kalkmalı

IF CHARINDEX(@oldString, @newString) > 0
BEGIN
PRINT 'Sonsuz döngüyü önlemek için çıkış';
END
ELSE
BEGIN
SELECT 'Değiştirmeden Önce:';

SELECT ID, ICERIK FROM ICERIK_AJEN where ICERIK like '%444 0 849%';

SET @lenOldString = DATALENGTH(@oldString)/2; -- text alan için /2 kalkmalı

DECLARE irows CURSOR
LOCAL FORWARD_ONLY STATIC READ_ONLY FOR
SELECT
ID
FROM
ICERIK_AJEN
WHERE
PATINDEX('%'+@oldString+'%', ICERIK) > 0;

OPEN irows;

FETCH NEXT FROM irows INTO @currentDataID;

WHILE (@@FETCH_STATUS = 0)
BEGIN

SELECT
@TextPointer = TEXTPTR(ICERIK),
@TextIndex = PATINDEX('%'+@oldString+'%', ICERIK)
FROM
ICERIK_AJEN
WHERE
ID = @currentDataID;

WHILE
(
SELECT
PATINDEX('%'+@oldString+'%', ICERIK)
FROM
ICERIK_AJEN
WHERE
ID = @currentDataID
) > 0
BEGIN
SELECT
@TextIndex = PATINDEX('%'+@oldString+'%', ICERIK)-1
FROM
ICERIK_AJEN
WHERE
ID = @currentDataID;

UPDATETEXT ICERIK_AJEN.ICERIK @TextPointer @TextIndex @lenOldString @newString;
END

FETCH NEXT FROM irows INTO @currentDataID;
END

CLOSE irows;

DEALLOCATE irows;

SELECT 'Değişimden sonra:';

SELECT ID, ICERIK FROM ICERIK_AJEN where ICERIK like '%444 0 849%' ;
SELECT ID, ICERIK FROM ICERIK_AJEN where ICERIK like '%444 2 538%' ;
END

Jquery ile Drag and Drop Sorting

Bugün jquery kütüphanesini kullanarak sürükle ve bırak mantığıyla çalışan bir formu inceleyelim.Form aşağıda görüldüğü gibi bir şirketin farklı lokasyonlardaki ofislerini sıralamaya yarıyor.Formda bir şehirdeki tüm ofisleri ya da bir ülkedeki tüm ofisleri sıralayabiliyoruz.Liste kutusundan "şehire göre" seçildiğinde yalnızca o şehire ait ofisler listeleniyor, "ülkeye göre" seçildiğinde ise ülkeye ait tüm şehirlerdeki ofisler listeleniyor.İki durumda veritabanında farklı alanlar güncelleniyor.


Tablo yapısı ise












Biz sürükle bırak yaptığımızda SIRA veya SIRA2 alanları güncellenecek.
Öncelikle sayfanın HTML koduna gerekli js ve css include larını ekleyelim.

<script type="text/javascript" src="/lib/jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/lib/jquery/jquery-ui-1.7.1.custom.min.js"></script>
<link rel='stylesheet' href='/css/styles.css' type='text/css' media='all'>


Şimdi de sürükle bırak esnasında çalışacak js kodunu ekleyelim.Kod gayet kısa sürükle bırak yapıldığında geçerli sırayı işlenmesi için nereye gönderdiğimizi belirtiyoruz.Burada sort.aspx sayfası bu amaç için kullanılıyor.


Sıralama yapılacak ofisler bir tabloda yer alıyor.Bu tablonun ilgili hücresi "test-list" id li bir ul listesine sahip olmalı ,li değerleri ise vb kodu ile oluşuyor:


Code Behind vb sayfasında Global iki değişken var bunlardan biri listitems değişkeni diğeri de hangi seçimin (ülke ya da şehir) yapıldığını gösteren secim değişkeni.

ofis_guncelle.aspx.vb

Liste kutusundan ülke veya şehir seçimi yaptıktan sonra listele butonu aşağıdaki kodu çalıştırıyor:
ve listitems ile secim değişkenlerine atama yapılıyor.HTML içinde oluşturulan kod aşağıdaki gibi.


<ul class="ui-sortable" id="test-list">
<li class="" style="" id="listItem_281"><span class="handle">MEYDAN İÇ HAT SATIŞ / İstanbul</span></li>
<li id="listItem_278"><span class="handle">KADIKÖY SATIŞ / İstanbul</span></li>
<li id="listItem_279"><span class="handle">TAKSİM SATIŞ / İstanbul</span></li>
<li id="listItem_280"><span class="handle">GENEL YÖNETİM SATIŞ ŞF. / İstanbul</span></li>
</ul>

Bu değer listitems değişkeni ile HTML içinde ul içine yerleşiyor.

Burada önemli nokta veritabanında güncelleme yapılacak satırda gerekli id değerinin li tagları içinde id verilirken listItem_[Veritabanı Tablo Id] şeklinde oluşması. Sürükle bırak tamamlandığında bu değerleri jquery kütüphanesi sort.aspx sayfasına get yöntemiyle gönderiyor. Bir satırın sürüklenebilmesi için de class değerine "handle" değerinin atanması gerekiyor.Bu da diğer bir önemli nokta.

sort.aspx.vb sayfasında ise querystring ile gönderilen değerleri alıp döngü içinde tüm id içeren satırları güncelliyoruz.


Kodu inceleyecek olursak id değerleri querystring ile virgülle ayrılmış olarak geliyor.Biz de bunu diziye dönüştürüp bu dizi üzerinde döngüyle eğer ülke seçilmişse SIRA alanı ,sadece şehir seçilmişse de SIRA2 alanı güncelleniyor.Kolay ve kullanışlı bir yöntem ama get metodunu kullandığımız için veri gönderirken belirli sınırlara sahip olduğumuzu unutmayalım.

gerekli include dosyaları (js ve css) buradan indirilebilir.



Sular yükselince, balıklar karıncaları yer...
Sular çekilince de karıncalar balıkları yer...
Kimse bugünkü üstünlüğüne ve gücüne güvenmemelidir. ..
Çünkü kimin kimi yiyeceğine...
zaman karar verir