Saya pikir pendekatannya tergantung pada apakah aplikasi itu aktif atau jika Anda masih menguji.
Untuk tabel, pendekatan teraman adalah membuat sinonim menggunakan nama baru. Dengan cara ini Anda dapat mengubah aplikasi satu per satu (atau bahkan satu referensi pada satu waktu), tanpa harus mengubah semuanya sekaligus. Anda tidak harus meninggalkan sinonim dan mengganti nama tabel sampai Anda yakin Anda memiliki semua perubahan di tempatnya.
CREATE SYNONYM dbo.NewName FOR dbo.OldName;
-- change app to point to dbo.NewName;
-- once all of your changes have been tested:
BEGIN TRANSACTION;
DROP SYNONYM dbo.NewName;
EXEC sp_rename N'dbo.OldName', N'NewName', N'OBJECT';
COMMIT TRANSACTION;
Untuk kolom, ini sedikit rumit. Anda dapat membuat sinonim yang mengarah ke tampilan, tetapi tidak semua tampilan harus dapat diupdate tergantung pada tabel dasar. Sebagai contoh sederhana:
CREATE VIEW dbo.vNewName
AS
SELECT Column1, NewColumnName = OldColumnName
FROM dbo.OldName;
CREATE SYNONYM dbo.NewName FOR dbo.vNewName;
Kemudian seperti di atas, ketika Anda telah mengubah semua referensi ke kolom dan nama tabel baru, cukup:
BEGIN TRANSACTION;
DROP SYNONYM dbo.NewName;
DROP VIEW dbo.vNewName;
EXEC sp_rename N'dbo.OldName', N'NewName', N'OBJECT';
EXEC sp_rename N'dbo.NewName.OldColumnName', N'NewColumnName', N'COLUMN';
COMMIT TRANSACTION;
Jika aplikasi tidak aktif dan masih melalui pengujian, cukup ganti nama kolom dan perbaiki kerusakan apa yang terjadi setelah pencarian global dan ganti (atau refactor pintar menggunakan SSDT, RedGate, dll.) Melalui kode / prosedur aplikasi dll.
Jika aplikasi ini aktif, Anda perlu melangkah sedikit lebih hati-hati.