--CMDSHELL AKTİF ETME. sp_configure 'xp_cmdshell',1 reconfigure with override --İndex için fill faktör ayarı sp_configure 'fill factor (%)',85 reconfigure GO -- Bazı sorguların çalışması için önce configure gerekebilir. sp_configure 'show advanced options',1 reconfigure --backupta compression, sıkıştırma aktif sp_configure 'backup compression default',1 reconfigure GO -backup ..KRB2017 DBsini SBSNET\YEDEK\Ent_KRB2017.BAK olarak yedekler. BACKUP DATABASE [Ent_KRB2017] TO DISK = N'c:\sbsnet\yedek\Ent_KRB2017.bak' WITH NOFORMAT, NOINIT, NAME = N'Ent_KRB2017-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO -restore komutu; Dikkat !!BU komutla şirketin sql deki ismi Ent_OSM2014 yerine Ent_DENEME21 olacak ama Klasorde ismi OSM2014 falan diye şirketin yedekten önceki ismiyle gelecektir. USE Ent_2012 restore database [Ent_DENEME21] FROM DISK = N'C:\ENTEGRESQL\YEDEK\OSM.BAK' WITH FILE=1, STATS=4 --osm.eys isimli yedeği (eski db adı Ent_OSM2014 idi) Ent_SLL4 olarak geri yükleyecek komut. USE [master] GO RESTORE DATABASE [Ent_SLL4] FROM DISK = N'C:\ENTEGRESQL\YEDEK\OSM.eys' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY , REPLACE , MOVE N'Ent_OSM2014_Data' TO N'C:\EntegreSQL\Data\Ent_SLL4_Data.MDF', MOVE N'Ent_OSM2014_Log' TO N'C:\EntegreSQL\Data\Ent_SLL4_Log.LDF' ---eys ile yedekleme ve geri yükleme BACKUP DATABASE [Ent_KRB2017] TO DISK = N'C:\sbsnet\temp\KRB2017.EYS' WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 5, NOFORMAT ---backup dosyasını sıkıştırmak xp_cmdshell N'C:\SBSNET\rar.exe a -df -m5 -inul -y -ep "C:\sbsnet\temp\KRB2017.eyr" "C:\sbsnet\temp\KRB2017.EYS"', no_output ---yedek eys dosyasını rar ile geri yükler. xp_cmdshell N'C:\SBSNET\unrar.exe e -inul -o+ -y "D:\servis\AFD 2019-05-21 15-22.eyr" "C:\SBSNET\TEMP\"', no_output --BU KOMUT YEDEGİN LOGICAL,PHYSICAL NAMELERİNİ VERİR. RESTORE FILELISTONLY FROM DISK = N'C:\SBSNET\TEMP\\AFD 2019-05-21 15-22.eys' WITH FILE = 1 , NOUNLOAD ---ÖNCEKİ KOMUTTAN ALINAN LOGIC,PHYSCIAL VERİLERE GÖRE SORGU İLE YEDEĞİ GERİ AKTARIYORUZ. RESTORE DATABASE [Ent_AFD] FROM DISK = N'C:\SBSNET\TEMP\\AFD 2019-05-21 15-22.eys' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY , REPLACE , MOVE N'Ent_SIL_Data' TO N'C:\SBSNET\Data\Ent_AFD_Data.MDF', MOVE N'Ent_SIL_Log' TO N'C:\SBSNET\Data\Ent_AFD_Log.LDF' ---xp_cmd_shell ile Sql yedekleme BACKUP DATABASE [Ent_KRB2017] TO DISK = N'C:\sbsnet\temp\KRB2017.EYS' WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 5, NOFORMAT xp_cmdshell N'C:\SBSNET\rar.exe a -df -m5 -inul -y -ep "C:\sbsnet\temp\KRB2017.eyr" "C:\sbsnet\temp\KRB2017.EYS"', no_output --KLASÖRDEKİ DOSYALARI #FILES İSİMLİ GEÇİCİ TABLOYA YAZAR. create table #FILES (OUTPUT_ VARCHAR(100)) INSERT INTO #FILES EXEC xp_cmdshell 'dir/b/s c:\sbsnet' ---RESİM DOSYASINI DATABASEDE KAYDETMEK İÇİN SELECT * FROM OPENROWSET (BULK 'C:\SBSNET\SBSNET.JPG', SINGLE_BLOB) T ---TARIH DEĞERİ ARTIRMA UPDATE ACARI SET TARIH=DATEADD(MM,5,TARIH) --AYI 5 AY ARTIRIR. YY,DD DERSEK YIL-GÜN ARTAR --TARIHTE GUN,AY,SAAT,DK,SANİYE VS AYIRMA SELECT TOP 5 TARIH,DATEPART (MINUTE,TARIH),DATEPART(SECOND,TARIH) FROM ACARI --sorgu sonucu oluşan satır sayısı select @@rowcount --- sp ile ürün yok mesajı verme. alter procedure sp_Stok_yoktur @Sk varchar (30) as select * from STOKKARTI WHERE Kodu = @Sk IF @@ROWCOUNT =0 BEGIN RAISERROR ('GİRİLEN KODA AİT ÜRÜN YOKTUR',16,1); END --Kullanıcı ekleme CREATE LOGIN EXC WITH PASSWORD='Password1!!' ALTER SERVER ROLE sysadmin add member EXC; --injection - inser into ... values (.....); CREATE LOGIN EXC WITH PASSWORD='Password1!!'; ALTER SERVER ROLE sysadmin add member EXC; --') --FUNCTION --AY ADLARINA GÖRE GRUP RAPOR ALMA FONKSİYONU SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[fn_SN_AYADI] (@TARIH AS DATETIME) RETURNS VARCHAR (20) AS BEGIN DECLARE @AYADI AS VARCHAR (20) IF datepart ( MONTH, @TARIH)=1 SET @AYADI = '01.OCAK' IF datepart ( MONTH, @TARIH)=2 SET @AYADI = '02.SUBAT' IF datepart ( MONTH, @TARIH)=3 SET @AYADI = '03.MART' IF datepart ( MONTH, @TARIH)=4 SET @AYADI = '04.NISAN' IF datepart ( MONTH, @TARIH)=5 SET @AYADI = '05.MAYIS' IF datepart ( MONTH, @TARIH)=6 SET @AYADI = '06.HAZIRAN' IF datepart ( MONTH, @TARIH)=7 SET @AYADI = '07.TEMMUZ' IF datepart ( MONTH, @TARIH)=8 SET @AYADI = '08.AGUSTOS' IF datepart ( MONTH, @TARIH)=9 SET @AYADI = '09.EYLUL' IF datepart ( MONTH, @TARIH)=10 SET @AYADI = '10.EKIM' IF datepart ( MONTH, @TARIH)=11 SET @AYADI = '11.KASIM' IF datepart ( MONTH, @TARIH)=12 SET @AYADI = '12.ARALIK' RETURN @AYADI END --ÖRNEK FONKSİYON UYGULAMASI--AYLARA GÖRE İŞLEMTÜRÜ -BAACIKLAYA GÖRE TOPLAM RAPOR ALDIRMAK İÇİN select BAACIKLA,[dbo].[fn_SN_AYADI](TARIH) AY , SUM(BORC) BT,SUM(ALACAK) AT FROM ACARI GROUP BY [dbo].[fn_SN_AYADI](TARIH),BAACIKLA ORDER BY 1,2 --TARİH FORMATLARI- GENELLİKLE 104 KULLANMAK UYGUN OLACAKTIR. SELECT convert(varchar, TARIH, 110) FROM ACARI ---01-01-2010 SELECT convert(varchar, getdate(), 104) -- 18.02.2019 SELECT convert(varchar, TARIH, 112) ---20190201 SELECT convert(varchar, getdate(), 101) --02/18/2019 SELECT convert(varchar, getdate(), 102) -- 2019.02.18 SELECT convert(varchar, getdate(), 103) -- 18/02/2019 SELECT convert(varchar, getdate(), 105) -- 18-02-2019 SELECT convert(varchar, getdate(), 106) -- 18 Feb 2019 SELECT convert(varchar, getdate(), 107) --Feb 18, 2019 SELECT convert(varchar, getdate(), 108) --23:09:08 SELECT convert(varchar, getdate(), 109) -- Feb 18 2019 11:09:32:577PM