unable to rename database in sql server
“unable to rename database in sql server”
Bazı durumlarda veritabanlarının ismini değiştirmemiz gerekebilir fakat açık kalan sessionlar buna izin vermeyebilir. Rename yapabilmemiz için iki yöntem bulunmaktadır. Bunlardan birisi aşağıdaki gibi veritabanında açık kalan sessionları kapatıp rename yapmaktır.
Aşağıda yapılacak işlemler stand-alone veritabanları için geçerlidir eğer Availability group mimarisini kullanıyorsanız Availability groupdan çıkarıp aşağıdaki işlemleri yapabilirsiniz.
sp_who komutunu çalıştırdığınızda aşağıda ki gibi veritabanı ismi ve ona ait spid değerleri gözükmektedir.
Slepping modda kalan sessionları kill komutu ile aşağıdaki gibi sonlandırarak veritabanın ismini değiştirebilirsiniz.
kill spid_değeri
İkinci yöntem olarak veritabanını single_user moda çekerek ismini değiştirebiliriz fakat single_user moda çekildiğinde veritabanı farklı kullanıcılar tarafından erişilemez durumda olacaktır.
ALTER DATABASE EskiVeritabanıİsmi SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO sp_renamedb 'EskiVeritabanıİsmi','YeniVeritabanıİsmi' GO ALTER DATABASE YeniVeritabanıİsmi SET MULTI_USER WITH ROLLBACK IMMEDIATE GO
NOT: Yukarıdaki yöntem de veritabanı single user moda çekilmektedir. Bundan dolayı veritabanı ismini değiştirdikten sonra multi user moda geçmek gerekiyor . Multi user moda çekilmediği durumda veritabanı tek kullanıcı modunda kalır ve diğer kullanıcıların bağlantısını engelleyebiliriz. “unable to rename database in sql server” hatasını bu şekilde çözmüş oluruz.