14 Nisan 2014 Pazartesi

SQL İçerisinde Trigger search etme

databsedeki tüm triggerları görmek için;
önce ilgili database giriyoruz
use BURAK2013

sonrasında

select * from sys.triggers komutunu kullanmanız yeterli

eğer database üzerinde belirli trigerları arıyorsanız  aşşağıdaki komutu uygulamanız lazım
Örneğin ben  içerisinde burak geçen tüm triggerları bulmak istiyorum bunun için;

select so.name, text
from sysobjects so, syscomments sc
where type = 'TR'
and so.id = sc.id
and text like '%burak%'

19 Ocak 2014 Pazar

Replace Kullanarak Update Yapmak

4 5 aydır bloğuma yazı yazamıyordum ama bu gün yazmak istedim

Replace kullanarak Column içerisindeki verilerde içinde geçen değerleri değiştirebilirsiniz
Örnek Vermek Gerekirse
TBLSTSABIT Adlı Table'ımızda STOK_ADI Column daki içerisinde (RAM)  geçen tüm STOKLARIMIZI (OEM RAM) olarak değiştirmek istiyoruz bunun için size örnek bir komut vericem

UPDATE TBLSTSABIT set STOK_ADI = replace(STOK_ADI,'RAM','OEM RAM')
where STOK_ADI like '%RAM%'

29 Eylül 2013 Pazar

SQL UPDATE YAPMA


 
UPDATE [tablo adı] SET [yeniveri] 
Örnek:

UPDATE TBLSTSABIT  SET BARKOD1 ='NULL'

Açıklama:
Ben yukardaki update kodu ile netsisde tblstsabit(stok kartları) tablosundakı tum stokların barkod değerlerini null olarak
değiştirdim

Where İle kısıt Verme:

örnek:

UPDATE tblstsabit SET SATIS_FIAT1='30' WHERE SATIS_FIAT1='15'

Açıklama:
Yukardaki sql cümlesinde dedimki tblstsabit(stok kartları) tablosunda satış fiyatı 15 olan tüm stok kartlarının fiyatını 30 lira yap.

bu cümle çalışması sonucu fiyatı 15 lıra olan bütün ürünler güncellenmiş olur.


And İle Çoklu Güncelleme:


UPDATE TBLSTSABIT SET SATIS_FIAT1=25 AND SATIS_FIAT2='20' WHERE KDV_ORANI=18

Açıklama:
Bu Komut İle tblstsabit(stok kartları) tablosunda k.d.v si 18 olan tüm stok kartlarının hem 1. satış fıyatı hemde
2. satış fiyatı tablolarını güncellemiş olduk.


Matematikse Verilerle Update:

UPDATE TBLSTSABIT SET SATIS_FIAT1=SATIS_FIAT1+10 WHERE KDV_ORANI=18


Açıklama:

Yukardaki Cümlede tblstsabit(stok kartları) tablosunda kdv oranı 18 olan tüm stok kartlarının hepsıne satış fiyatını + 10 lıra daha eklemiş olduk
burda dilerseniz çarpma çıkarma bölme gibi işlemlerlede yapabilirsiniz.

24 Eylül 2013 Salı

Instant File Initialization (HIZLI RESTORE)

Eğer Database Boyutu Yüksek ise ve siz çok üzün süre bekliyorsannız Instant File Initialization özelliğini kullanmıyorsunuzdur. Instant File Initialization = Anında Dosya Oluşturma Özelliği Denilir.
Instant File Initialization özelliğinin kullanılabilmesi için SQL Server service hesabının Local Group Policy’de Perform Volume Maintenance Tasks’a eklenmesi gerekmektedir. Bu ekrana Start>>All Programs>>Administrative Tools yolundan ulaşabilirsiniz. Servis hesabı eklendikten sonra servisin kapatılıp açılması gerekir.

Bu uygulama ne kadar hızlı diye şuan içinden kendi kendine soran arkadaşları duyar gibiyim.
ben size söyleyim en az 100 kat daha hızlı
bir müşterimizin 160 gb lık datasını Instant File Initialization olmadan 1 saat gibi bir sürede işlem yaparken
Instant File Initialization açık olduğunda 25 dk civarında surdu : )

21 Eylül 2013 Cumartesi

MSSQL DATABASE SUSPECT KURTARMA İŞLEMİ

Database Suspect genelde sunucularınızda olağan dışı durumlarda meydana gelen durumlarda kaynaklanır.
sunucunuzun arka arkaya yeniden başlamalar yada databasede olan tutarsız bir davranış gibi.

Not: Database suspect'e girmişse kesinlikle ama kesinlikle detach etmeyin yoksa bir daha o database'i kullanamazsınız.

Çoğu Blog ve forumdaki arkadaşlar uzattıkça uzatmışlar ama hepsini tek bir harekette yapabiliriz.

Kodumuz:

EXEC SP_RESETSTATUS 'BC2013'
GO
ALTER DATABASE BC2013 SET SINGLE_USER
GO
ALTER DATABASE BC2013 SET EMERGENCY
GO
DBCC CheckDB ('BC2013',REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE BC2013 SET MULTI_USER

İşlem Bu kadar.



Netsis Log Silme

Bazen Log dosyası şişer ve ihtiyac duymazsınız log dosyasına o zmn sqlden silmek için yeni bir sorgu açın ve
delete from tblnetsislog komutunu çalıştırın tüm logları siler.


Netsis Dovizli bakiye wiev

Netsisde Dovizli çalışan firmalar için özel hazırlanmış bir wiewdır.
doviz bakiyeleri görmek için kullanılır.

CREATE VIEW DOVIZBAK
(
CARI_KOD,   --1
CARI_TIP,   --2
CARI_ISIM,  --3
GRUP_KODU,  --4
GRUP_ISIM,  --5
RAPOR_KODU1,--6
RAPOR_KODU2,--7
CARI_ADRES, --8
CARI_IL,    --9
CARI_ILCE,  --10
M_KOD,      --12
TARIH,      --13
BELGE_NO,   --14
HAREKET_TURU, --15
HKA,          --16
ACIKLAMA,     --17
VADE_TARIHI,  --18
BORC,         --19
ALACAK,       --20
BAKIYE,       --21
DOVIZ_TURU,   --22
DOVIZBORC,    --23
DOVIZALACAK,  --24
MIKTAR,       --25
OZELBFARK,    --26
OZELAFARK,    --27
KULL1N,       --28
KULL2N,       --29
KULL3N,       --30
KULL4N,       --31
KULL5N,       --32
KULL6N,       --33
KULL7N,       --34
KULL8N,       --35
KULL1S,       --36
KULL2S,       --37
KULL3S,       --38
KULL4S,       --39
KULL5S,       --40
KULL6S,       --41
KULL7S,       --42
KULL8S,       --43
KAPATILMIS_TUTAR,  --36
ODEME_GUNU,        --37
FIRMA_DOVIZ_TIPI,  --38
FIRMA_DOVIZ_TUTARI,--39
PLASIYER_KODU,     --40
RAPOR_KODU,        --41
DUZELTMETARIHI,    --42 MASTER ISTEK 25/05/1999
SABIT_DOVIZ_TIPI,   --43 ERICSSON ISTEK 02/07/1999
KOD1_ACIKLAMA,      --44 VARTA ISTEK
KOD2_ACIKLAMA,      --45 VARTA ISTEK
PROJE_KODU,
PROJE_ACIKLAMA,
PUAN,
SUBE_KODU
)
AS
SELECT
TBLCAHAR.CARI_KOD,
TBLCASABIT.CARI_TIP,
TBLCASABIT.CARI_ISIM,
TBLCASABIT.GRUP_KODU,
CAGRUP.GRUP_ISIM,
TBLCASABIT.RAPOR_KODU1,
TBLCASABIT.RAPOR_KODU2,
TBLCASABIT.CARI_ADRES,
TBLCASABIT.CARI_IL,
TBLCASABIT.CARI_ILCE,
TBLCASABIT.M_KOD,
TBLCAHAR.TARIH,
TBLCAHAR.BELGE_NO,
TBLCAHAR.HAREKET_TURU,
TBLCAHAR.HKA,
TBLCAHAR.ACIKLAMA,
TBLCAHAR.VADE_TARIHI,
TBLCAHAR.BORC,
TBLCAHAR.ALACAK,
(TBLCAHAR.BORC - TBLCAHAR.ALACAK),
TBLCAHAR.DOVIZ_TURU,
(CASE WHEN TBLCAHAR.BORC>0 THEN TBLCAHAR.DOVIZ_TUTAR ELSE 0 END),
(CASE WHEN TBLCAHAR.ALACAK>0 THEN TBLCAHAR.DOVIZ_TUTAR ELSE 0 END),
TBLCAHAR.MIKTAR,
(CASE WHEN TBLCAHAR.BORC>0 THEN
    (CASE WHEN TBLCASABIT.DOVIZLIMI<>'E' THEN (TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR)
    ELSE (CASE WHEN TBLCAHAR.DOVIZ_TUTAR>0 THEN (TBLCAHAR.DOVIZ_TUTAR-TBLCAHAR.KAPATILMIS_TUTAR )
          ELSE (TBLCAHAR.BORC - TBLCAHAR.KAPATILMIS_TUTAR)END)END)
  ELSE 0 END),
(CASE WHEN TBLCAHAR.ALACAK>0 THEN
  (CASE WHEN TBLCASABIT.DOVIZLIMI<>'E' THEN (TBLCAHAR.ALACAK - TBLCAHAR.KAPATILMIS_TUTAR)
  ELSE (CASE WHEN TBLCAHAR.DOVIZ_TUTAR>0 THEN (TBLCAHAR.DOVIZ_TUTAR-TBLCAHAR.KAPATILMIS_TUTAR )
        ELSE (TBLCAHAR.ALACAK - TBLCAHAR.KAPATILMIS_TUTAR)END)END)
  ELSE 0 END),
TBLCASABITEK.KULL1N,
TBLCASABITEK.KULL2N,
TBLCASABITEK.KULL3N,
TBLCASABITEK.KULL4N,
TBLCASABITEK.KULL5N,
TBLCASABITEK.KULL6N,
TBLCASABITEK.KULL7N,
TBLCASABITEK.KULL8N,
TBLCASABITEK.KULL1S,
TBLCASABITEK.KULL2S,
TBLCASABITEK.KULL3S,
TBLCASABITEK.KULL4S,
TBLCASABITEK.KULL5S,
TBLCASABITEK.KULL6S,
TBLCASABITEK.KULL7S,
TBLCASABITEK.KULL8S,
TBLCAHAR.KAPATILMIS_TUTAR,
TBLCAHAR.ODEME_GUNU,
TBLCAHAR.FIRMA_DOVIZ_TIPI,
TBLCAHAR.FIRMA_DOVIZ_TUTARI,
TBLCAHAR.PLASIYER_KODU,
TBLCAHAR.RAPOR_KODU,
TBLCAHAR.DUZELTMETARIHI,
TBLCASABIT.DOVIZ_TIPI,
TBLCARIKOD1.GRUP_ISIM,
TBLCARIKOD2.GRUP_ISIM,
TBLCAHAR.PROJE_KODU,
PROJE.PROJE_ACIKLAMA,
TBLCAHAR.F_YEDEK1,
TBLCAHAR.SUBE_KODU
FROM
TBLCAHAR INNER JOIN TBLCASABIT TBLCASABIT ON (TBLCAHAR.CARI_KOD = TBLCASABIT.CARI_KOD)
LEFT OUTER JOIN CAGRUP CAGRUP ON (TBLCASABIT.GRUP_KODU=CAGRUP.GRUP_KOD)
LEFT OUTER JOIN TBLCARIKOD1 ON (TBLCASABIT.RAPOR_KODU1 = TBLCARIKOD1.GRUP_KOD)
LEFT OUTER JOIN TBLCARIKOD2 ON (TBLCASABIT.RAPOR_KODU2 = TBLCARIKOD2.GRUP_KOD)
INNER JOIN TBLCASABITEK ON (TBLCAHAR.CARI_KOD = TBLCASABITEK.CARI_KOD)
LEFT OUTER JOIN PROJE PROJE ON (TBLCAHAR.PROJE_KODU = PROJE.PROJE_KODU)