Kami sedang dalam proses mengganti SQL Server kami dan telah memutuskan bahwa mengubah nama server itu sendiri akan jauh lebih mudah daripada mengubah segala sesuatu yang lain untuk menunjuk ke nama baru. Kami menemukan petunjuk tentang mengubah nama contoh SQL Server agar sesuai dengan nama komputer yang terlihat seperti ini:
sp_dropserver 'OLDSERVER'
sp_addserver 'NEWSERVER', local
Meskipun SQL Enterprise Manager sepertinya tidak suka yang sama. Saya harus mengubahnya ke yang berikut untuk membuatnya bekerja bersama:
sp_dropserver 'OLDSERVER'; GO
sp_addserver 'NEWSERVER', 'local'; GO
Yang tidak buruk, tetapi saya lebih suka hal-hal menjadi lebih otomatis. Karena @@ ServerName mengembalikan nama instance, saya menemukan cara mengotomatiskan baris pertama:
sp_dropserver @@ServerName; GO
Saya juga mengetahui bahwa SERVERPROPERTY ('ServerName') seharusnya mengembalikan nama komputer, jadi saya pikir saya mungkin dapat menggunakannya untuk mengotomatisasi bagian kedua, tetapi ini tidak berhasil:
sp_addserver SERVERPROPERTY('ServerName'), 'local'; GO
Saya mencoba menetapkan variabel, yang perlu saya lakukan untuk memperbarui pekerjaan SQL Agent, tetapi itu tidak berhasil:
DECLARE @srv sysname;
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname);
sp_addserver @srv, 'local'; GO
Sintaksis salah dekat 'sp_addserver'.
Saya ingin sekali tidak perlu mengubah kode nama server baru ke skrip, untuk membuatnya lebih mudah digunakan kembali. Adakah yang punya ide?