SQl Server 2005'te bir veritabanını tüm tabloları bırakarak ve saklı yordamları, tetikleyicileri, kısıtlamaları ve tüm bağımlılıkları tek bir SQL deyiminde silerek temizlemenin herhangi bir yolu var mı?
TALEP NEDENİ:
Yeni bir DB oluşturmak yerine kullanılmayan mevcut bir DB'yi temizlemek için bir DB betiğine sahip olmak istiyorum, özellikle de DB yöneticinize bir istekte bulunmanız ve bunun yapılması için bir süre beklemeniz gerektiğinde!
Tüm tabloları bırakmak için:
exec sp_MSforeachtable 'DROP TABLE ?'
Bu elbette tüm kısıtlamaları, tetikleyicileri vb. saklı yordamlar dışındaki her şeyi düşürecektir.
Saklı yordamlar için korkarım master
içinde saklanan başka bir saklı yordama ihtiyacınız olacak.
Ben olsam bunu iki cümleyle yapardım: VERITABANINI BIRAK ???
ve ardından CREATE DATABASE ???
Bu amaca ulaşmak için kullanılabilecek tek bir ifade yoktur.
Elbette kendinize bu çeşitli idari görevleri gerçekleştirmek için kullanabileceğiniz bir depolanmış yordam
oluşturabilirsiniz.
Daha sonra bu tek deyimi kullanarak prosedürü çalıştırabilirsiniz.
Exec sp_CleanDatabases @DatabaseName='DBname'