SQL Server'ımızı değiştirme sürecindeyiz ve sunucunun kendisini yeniden adlandırmanın, her şeyi yeni bir isme işaret edecek şekilde değiştirmekten çok daha kolay olacağına karar verdik. SQL Server yönetim ortamı adını aşağıdaki gibi görünen bilgisayar adıyla eşleştirmek için yönergeler bulduk:
sp_dropserver 'OLDSERVER'
sp_addserver 'NEWSERVER', local
SQL Enterprise Manager bunları birlikte sevmiyor gibi görünüyor. Birlikte çalışması için bunu aşağıdaki şekilde değiştirmek zorunda kaldım:
sp_dropserver 'OLDSERVER'; GO
sp_addserver 'NEWSERVER', 'local'; GO
Bu kötü değil, ama işlerin daha otomatik olmasını tercih ederim. @@ ServerName örneğin adını döndürdüğünden, ilk satırı nasıl otomatikleştireceğimizi anladım:
sp_dropserver @@ServerName; GO
Ayrıca SERVERPROPERTY ('SunucuAdı') bilgisayar adını döndürmek gerekiyordu, bu yüzden belki ikinci bölümü otomatikleştirmek için kullanabilirsiniz düşündüm, ama bu işe yaramadı düşündüm:
sp_addserver SERVERPROPERTY('ServerName'), 'local'; GO
SQL Agent işlerini güncellemek için yine de yapmam gereken bir değişken ayarlamayı denedim, ancak bu da işe yaramadı:
DECLARE @srv sysname;
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname);
sp_addserver @srv, 'local'; GO
'Sp_addserver' yakınında yanlış sözdizimi.
Ben çok daha kolay yeniden kullanılabilir hale getirmek için, komut dosyasına yeni sunucu adını sabit kodlamak zorunda değilsiniz. Herhangi bir fikri olan var mı?