Database/MS-SQL

[MSSQL]_컴퓨터 이름 변경으로 인한 인스턴스 이름 변경

KanoKim 2020. 5. 9. 21:29

MSSQL 인스턴스 네임 변경




1. MSSQL 인스턴스 이름 변경 하기

sp_dropserver <old_name>;  
go  

sp_addserver <new_name>, local;  
go  

-. 확인
select @@SERVERNAME AS 'Server Name';

SQL Server 서비스 다시 시작



2. Windows 로그인 계정 생성

=> 사용자 매핑 부분도 확인


[ dbo 스키마 넣는 방법 ]
USE [DB_NAME]
GO

EXEC  sp_changedbowner  '[계정 이름]';





3. msdb 복원후 작업 관리자에서 소유자 변경






아래 내용은 에서 퍼옮. 

참고 URL : https://sungwookkang.com/386


4. 원격 로그인 삭제
-. 확인
SELECT A.REMOTE_NAME, B.SRVNAME
FROM SYS.REMOTE_LOGINS AS A INNER JOIN SYS.SYSSERVERS AS B ON A.SERVER_ID = B.SRVID
GO

-. 삭제
sp_dropremotelogin old_name;
GO

-. 원격 계정 설정
sp_addremotelogin 'RemoteServer', 'LoginName', 'Remote_Name'

GO



5. 미러링
-. 확인
SELECT DATABASE_ID, DB_NAME(DATABASE_ID)
FROM SYS.DATABASE_MIRRORING
WHERE MIRRORING_GUID IS NOT NULL
GO

-. 미러링 끊기
ALTER DATABASE SET PARTNER OFF
GO




6. 복제 환경 확인하기
=> 복제 환경에서는 이름 바꾸기가 허용되지 않는다. / 복제를 먼저 제거해야함.

-. 확인
SELECT NAME, IS_PUBLISHED, IS_SUBSCRIBED, IS_DISTRIBUTOR
FROM SYS.DATABASES
WHERE IS_PUBLISHED = 1 OR IS_SUBSCRIBED = 1 OR IS_DISTRIBUTOR = 1
GO




7. LinkDB - 안해봄.


-. 확인
sp_LINKEDSERBERS



연결된 서버 구성 - 연결된 서버 구성은 컴퓨터 이름 바꾸기 작업의 영향을 받습니다. sp_addlinkedserver 또는 sp_setnetname을 사용하여 컴퓨터 이름 참조를 업데이트합니다. 자세한 내용은 sp_addlinkedserver(Transact-SQL) 또는 sp_setnetname(Transact-SQL)을 참조하세요.


sp_setnetname
컴퓨터 이름에 잘못된 식별자가 있는 경우 Windows 컴퓨터에 일부 원격 저장 프로시저를 호출하면 문제가 발생할 수 있습니다.
연결된 서버와 원격 서버는 같은 네임스페이스에 있으므로 이름이 같으면 안 됩니다. 
그러나 지정 된 서버에 대 한 연결 된 서버와 원격 서버는 서로 다른 이름을 할당 하 고 
sp_setnetname 를 사용 하여 이 중 하나의 네트워크 이름을 기본 서버의 네트워크 이름으로 설정 하 여 정의할 수 있습니다.

--Assume sqlserv2 is actual name of SQL Server   => sqlserv2가 실제 SQL Server 이름이라고 가정
--database server  
EXEC sp_addlinkedserver 'sqlserv2';  
GO  
EXEC sp_addserver 'rpcserv2';  -> 인스턴스 네임 변경
GO  
EXEC sp_setnetname 'rpcserv2', 'sqlserv2';