MSSQL_機器名稱變更後更改SQL Server資料庫中的hostname

  • 1739
  • 0

摘要:MSSQL_機器名稱變更後更改SQL Server資料庫中的hostname

SELECT @@SERVERNAME AS  [@@SERVERNAME],
 CAST(SERVERPROPERTY('MACHINENAME') AS VARCHAR(128)) + COALESCE('\' + CAST(SERVERPROPERTY('INSTANCENAME') AS VARCHAR(128)), '') AS RealInstanceName;


-- ## SCRIPT TO CORRECT THE @@SERVERNAME
DECLARE @InternalInstanceName sysname;
DECLARE @MachineInstanceName sysname;

SELECT @InternalInstanceName = @@SERVERNAME,
  @MachineInstanceName = CAST(SERVERPROPERTY('MACHINENAME') AS VARCHAR(128))
       + COALESCE('\' + CAST(SERVERPROPERTY('INSTANCENAME') AS VARCHAR(128)), '');
IF @InternalInstanceName <> @MachineInstanceName
BEGIN

 -- ## RENAME THE INSTANSE
 EXEC sp_dropserver @InternalInstanceName;
 EXEC sp_addserver @MachineInstanceName, 'LOCAL';
END