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?
sumber
Jawaban:
Berikut ini skrip untuk melakukan apa yang Anda inginkan:
Penghargaan: http://www.myitforum.com/articles/5/view.asp?id=4983
sumber
Dengan bantuan dari magma dan Sankar Reddy, berikut ini skrip yang sudah selesai:
Artikel yang ditemukan magma memiliki satu kesalahan kecil di dalamnya, yaitu mencoba menjatuhkan nama baru dan menambahkan nama lama alih-alih menjatuhkan nama lama dan menambahkan nama baru. Saya juga menambahkan permintaan pembaruan untuk memperbaiki pekerjaan agen SQL. Perhatikan bahwa ini hanya berfungsi dengan benar terhadap server master di lingkungan multi-server. Lingkungan saya adalah lingkungan server tunggal, jadi itu berfungsi untuk situasi saya.
sumber
sumber