Forum

SQL Server son yapt...
 
Bildirimler
Hepsini Temizle

SQL Server son yaptığım işlemi iptal etme

28 Yazılar
3 Üyeler
0 Reactions
2,084 Görüntüleme
(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

 Arkadaşlar yanlışlıkla koca bir tablonun içini boşalttım son yaptığım işlemi iptal edebilirmiyim yoksa mevcut yedekten dönmekmi zorundayım yardımcı olurmusunuz?

 
Gönderildi : 04/10/2010 14:17

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

transaction kullandın mı? (begin tran)

eğer begin tranla transaction başlattıysan comit edene kadar disk'e yazılmaz, rollback edebilirsin.

 

recovery model'in full mü?

eğer recovery model'in full ise transaction log backup ile point-in-time restore yapabilirsin. Yani istediğin bir ana dönebilirsin. 

 

 

 
Gönderildi : 04/10/2010 14:34

(@GokhanTASCI)
Gönderiler: 38
Trusted Member

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

recovery modelim full,  transaction kullanmadım ve ben bittim 🙂

 
Gönderildi : 04/10/2010 14:53

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

Turgay bey kurtulma şansı varmıdır ?

 
Gönderildi : 04/10/2010 15:23

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

recovery model full olduğu için ve elde bir full backup olduğu için evet kurtulabilir.

yapılması gereken işlem şu, db nin tlog backup ı alınır, daha önce alınmış full backup başka bir isimle tercihen başka bir makinaya restore edilir, bu restore un  üstünede alınan tlog backup ı point in time şeklinde restore edilir.

kısacası yapman gereken bu. 

 
Gönderildi : 04/10/2010 16:43

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

ama aldığım full backup bundan 3-4 ay öncesine ait aradaki farkları da getirebilir miki ?

 
Gönderildi : 04/10/2010 16:53

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

3-4 aydır full ve tlog backup almıyorsun ve recovery model'in full

bu durumda transaction log file'ının boyutunun çok artmış olması lazım. Recovery model'in full olduğuna emin misin?

 
Gönderildi : 04/10/2010 18:37

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

transac. log file boyutu 3 gb boyutu databaseden 6 kat büyük

 
Gönderildi : 04/10/2010 18:41

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

recovery model kesinlikle full

 
Gönderildi : 04/10/2010 18:42

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

okey güzel,

tlog backup ı almadığın için commited transactionlar silinmemiş ve boyut 3gb a çıkmış bu yüzden.

dolayısıyla konumuza dönersek 4 ay önceki full backup ı dönüp üstüne tlog backup ı istediğin tarihe dönebilirsin.

mantık şu,4 ay dan beri yapılmış bütün transactionlar şu anda tlog da var. dolayısıyla istediğin bir transaction a dönebilirsin. 

 
Gönderildi : 04/10/2010 18:50

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

önce 4 ay önceki yedeğe döneceğim fakat transaction log file ile nasıl geri döneceğim? onu bilmiyorum emin olmadığımdan başlayamadım bile

 
Gönderildi : 04/10/2010 18:51

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

yukarıda gökhan arkadaşımızın verdiği linki kullanabilirsin.

http://www.builderau.com.au/program/sqlserver/soa/Restore-your-SQL-Server-database-using-transaction-logs/0,339028455,339282046,00.htm

belirli bir tarihe dönmek için; 

RESTORE LOG NewDatabase
FROM DISK = ''D: \BackupFiles\ TestDatabase_TransactionLogBackup4.trn'
WITH STOPAT = N'6/28/2007 4:01:45 PM', RECOVERY 

 
Gönderildi : 04/10/2010 19:01

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

deneyip hemen bilgi veriyorum.

 
Gönderildi : 04/10/2010 19:24

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 

hocam böle bir hata verdi ne yapmalıyım

 
Gönderildi : 04/10/2010 19:33

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 
RESTORE LOG SUV
FROM DISK = 'C:\HEDE.BAK'
WITH STOPAT = N'10/4/2010 9:00:00 AM', RECOVERY
 
komutunu verdiğimde ise
 
Msg 3102, Level 16, State 1, Line 1
RESTORE cannot process database 'SUV' because it is in use by this session. It is recommended that the master database be used when performing this operation.
Msg 3013, Level 16, State 1, Line 1
RESTORE LOG is terminating abnormally.
 
uyarısını veriyor 
 
Gönderildi : 04/10/2010 19:45

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

aslında hata mesajı çok açık

RESTORE cannot process database 'SUV' because it is in use by this session. It is recommended that the master database be used when performing this operation.

yukarıdaki comboboxtan master ı seçer misin. yada script in başına use master komutunu koyabilirsin. 

 
Gönderildi : 04/10/2010 19:59

(@aytacarslan)
Gönderiler: 799
Noble Member
Konu başlatıcı
 
Msg 3102, Level 16, State 1, Line 1
RESTORE cannot process database 'SUV' because it is in use by this session. It is recommended that the master database be used when performing this operation.
Msg 3013, Level 16, State 1, Line 1
RESTORE LOG is terminating abnormally.
 
almam gereken suv db si ama yerine sizin dediğiniz gibi master yazarsamda bu hatayı alıyorum 
 
Gönderildi : 04/10/2010 20:12

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

Şunu dener misin 
 
Use Master
GO 
RESTORE LOG SUV
FROM DISK = 'C:\HEDE.BAK'
WITH STOPAT = N'10/4/2010 9:00:00 AM', RECOVERY
GO 

 
Gönderildi : 04/10/2010 20:16

Sayfa 1 / 2
Paylaş: