Respond needs javascript to run. To find out more click here
Sql Server » Sayfa 3 » Serdar Demir
RSS
 

Archive for the ‘Sql Server’ Category

Sql server ajanı kullanmadan veritabanı yedeği alma

07 Ara
sql server ajanı kullanmadan veritabanı yedeği alma
sql server 2000 in ajanını kullanarak veritabanını yedeğini otomatik olarak aldırabiliyorduk fakat Vista Windows 7 gibi işletim sistemlerinde bazen uyum sorunu çıkartabiliyor bizde kendi programımızla basit bir şekilde istediğimiz veri birimine yedeğimizi kaydedebiliriz.
öncelikle t-sql cümlesini yazalım;
BACKUP DATABASE Northwind
TO DISK=’c:\yedek.bak’,
DISK=’d:\yedek.bak’,
DISK=’f:\yedek.bak’
WITH FORMAT,
MEDIANAME = ‘AdventureWorksStripedSet0′,
MEDIADESCRIPTION = ‘Striped media set for Northwind database’;
GO
bu kodu query analayser a yazdığımızda c,d ve f diskimize veritabanının yedeğini aldı ayrıca
yedeğin boyutu gibi ayrıntıları da gösterir şimdi bunu store procedure yapacağız ve c# da bir program yapacağız.
Şimdi kodumuzu yazıyoruz
CREATE PROCEDURE yedek AS
BACKUP DATABASE Northwind
TO DISK=’c:\AdventureWorks1.bak’,
DISK=’d:\AdventureWorks2.bak’,
DISK=’f:\AdventureWorks3.bak’
WITH FORMAT,
MEDIANAME = ‘AdventureWorksStripedSet0′,
MEDIADESCRIPTION = ‘Striped media set for Northwind database’;
GO

Sql server ajanı kullanmadan veritabanı yedeği alma

sql server 2000 in ajanını kullanarak veritabanını yedeğini otomatik olarak aldırabiliyorduk fakat Vista Windows 7 gibi işletim sistemlerinde bazen uyum sorunu çıkartabiliyor bizde kendi programımızla basit bir şekilde istediğimiz veri birimine yedeğimizi kaydedebiliriz.

öncelikle t-sql cümlesini yazalım;

BACKUP DATABASE Northwind

TO DISK=’c:\yedek.bak’,

DISK=’d:\yedek.bak’,

DISK=’f:\yedek.bak’

WITH FORMAT,

MEDIANAME = ‘AdventureWorksStripedSet0′,

MEDIADESCRIPTION = ‘Striped media set for Northwind database’;

GO

bu kodu query analayser a yazdığımızda c,d ve f diskimize veritabanının yedeğini aldı ayrıca

yedeğin boyutu gibi ayrıntıları da gösterir şimdi bunu store procedure yapacağız ve c# da bir program yapacağız.

Şimdi kodumuzu yazıyoruz

CREATE PROCEDURE yedek AS

BACKUP DATABASE Northwind

TO DISK=’c:\AdventureWorks1.bak’,

DISK=’d:\AdventureWorks2.bak’,

DISK=’f:\AdventureWorks3.bak’

WITH FORMAT,

MEDIANAME = ‘AdventureWorksStripedSet0′,

MEDIADESCRIPTION = ‘Striped media set for Northwind database’;

GO

C# ta yaptıgım SQL yedek alma programı:

Kodu incelemek isteyen arkadaşlar için kodunu gösterelim;

Store Procedure üst kısımda oluşturmuştuk

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
  {
    SqlConnection bağlantı = new SqlConnection("Data Source=SERDAR-PC\\SQLEXPRESS;Initial Catalog=yeni;Integrated Security=True;Pooling=False");
    SqlCommand komut = new SqlCommand("yedek", bağlantı);
    komut.CommandType = CommandType.StoredProcedure;
    komut.Connection.Open();
    komut.ExecuteNonQuery();
    komut.Connection.Close();
    MessageBox.Show("Veritabanın Yedeği Diske Yazıldı...");
   }

UYGULAMAYI İNDİR

 

Cursor Nedir? Sql Cursor-T-sql

23 Eki

Cursor Nedir?

Veritabanı nesneleri içerisinde; kayıtlar arasında, satır bazlı hareket etmemizi sağlayan yapıdır.

1-) Cursor sayesinde istediğimiz satıra hareket ederek sonucunu alabiliriz.

2-) Aktif kayıt tespit edilir.

3-)Bu yapıda trigger,store procedure ve script kullanılabilir

** cursoru t-sql kodlarıyla oluşturabiliriz yada database apilerini kullanaral oluşturabiliriz.Database api fonksiyonları ADO,OLEDB ve ODBC yapılarıdır.

FETCH VE Diğer Özellikler;

Fetch cursor hareketlerini yönetir

Fetch First: ilk satıra gider.

Fetch next: Sonraki satır.

Fetch last: bir sonraki kayıta gider.

Fetch absolute n  olarak ifade ettiğimizde ise kaç kayıt gidileceğini belirtir.

Fetch Relative n olarak ifade ettiğimizde ise kayıt ilerleme miktarını o an bulunan kayıta göre yapar.

Bir cursor ifadesi open ile açılır close ifadesi ile kapanır.

Şimdi bir uygulama ile görelim;

declare film cursor for
select isim from bilgi
open film
fetch next from film
while @@fetch_status=0
begin
fetch next from film
end
close film
deallocate film

sorgu1

declare film cursor for

select isim from bilgi

open film

fetch next from film while @@fetch_status=0

begin

fetch next from film

end

close film

deallocate film bı kodu yazıp çalıştırdığımızda soldaki gibi sonuç çıkartacaktır.

Store Procedure İçerisinde Cursor Tanımlaması-Kullanımı;

Cursor tanımlamasını store procedure oluşturuken de yapabilirdik.Örneğin veritabanınızda işçilerin maaşlarını tutyorsunuz işçilere verdiğiniz maaşları ve toplam işçi sayısını store procedure içerisinde cursor tanımı yaparak kullanabilirsiniz. Store procedure içerisinde döngüler sorgular yazabiliyorduk cursor yardımı ile örneğin bir stok veritabanınız var ve ürün satılıyor elinizde ürün bittiginde o ürünü -tabloyu silmek ihtiyacı duyulabilir bu durmda

while(@@fetch_status<>-1) döngüsünü store procedure içerisinde diyerek kontrolü sağlamış oluruz.

(yorumlarda istek olursa örnek ekleyebilirim)

Trigger – Cursor Uygulamaları:Triggler ile konumuzda değinmiştik triggerlar teitkleyicidiler ve yazılımı karmaşıklıktan kurtarırlar. Bir store procedure ile satırlarca yazacağımız kodu trigger ile kolayca halledebiliriz.

Cursor uygulama: Şimdi müzik anketi yaptıgımız bir veritabanımız olsun ve her 3 kayıttan birini getirelim basit bir uygulama fakat önemli olan hız meselesi bu işlemi mümkün olduğu kadar hızlı yapmak için Fetch Relative  3 dememiz gerekir;

declare muzik scroll cursor for

select * from anket

open muzik

declare @say=1

while(@say<=3)

begin

fetch relative  3

set @say=@say+1

close muzik

deallocate muzik

 
 

SQL 2008 Veritabanı scripti alma-yükleme

21 Eki

SQL 2008 Veritabanı scripti alma-yükleme

Veritabanın scriptini alma işlemi veritabanının yedeklenmesi ve diğer bilgisayarlarda kullanılması için çok önemlidir. Örneğin biz arkadaşla bir proje yapıyoruz ve veritabanını tek bilgisayarad oluşturduk ve scriptini alarak çoğalttık.

Gelelim nasıl yapıldığına;

1 Server explorer dan scriptini alacağımız veritabanını seçiyoruz.

“Publish to provider” diyoruz.

2

Ben konfeksiyon isimli veritabanın scriptini alıyorum.

3

Bu kısımda veritabanını kaydetmek istediğimiz yeri ve önceden alınmış bir script varsa ve üzerine yazmak isterseniz buradan ayarlayabilirsiniz.

4

Veritabanız üzerinde nelerin                                                                   yedeğini alacaksanız, hangi sql                                                               sürümünde olcak sql olarak mı                                                                                                                           excel olarak vb… mı                                                                                                                                               kaydedeceğini buradan                                                                                                                                         ayarlıyoruz.

5

Ve Veritabanımızın scriptini almaya başladık.

Şimdi yapmamız gereken visual studioyu açık boş bir veritabanına “Add Query” diyoruz ve kaydettigimiz scripi sql sorgu alanına yapıştırıp derliyoruz

Veritabanımızın kopyasını almış oluyoruz. :)

6