본문 바로가기

데이터베이스17

서버 이름과 인스턴스 이름이 다른 문제 간혹 실제 서버 네임과 인스턴스 네임이 다른 경우가 있습니다. 이럴 경우 replication 을 위해 해당 서버가 subscriber로 접속해야 할 경우 replication 은 실제 서버 네임을 이용하여 접속 하도록 되어있기 때문에 연결에 문제가 발생합니다. 첨에 서버를 세팅하고 sql 을 올린 후 이 sql 서버의 이름을 바꿔서 쓸 경우 이런 문제가 발생할 수 있으며 이유는 master.sysservers 시스템 테이블에 잘못된 인스턴스 네임이 들어가 있어서 그렇습니다. 이 네임을 실제 서버 네임과 동일하게 수정해줘야 합니다. sql 서버는 server id 가 0인 자기 자신의 인스턴스를 가지고 있습니다. 그러므로 아래와 같은 sp를 사용하여 서버를 재등록시켜주면 됩니다. sp_dropserver.. 2009. 1. 16.
replication 때문에 로그가 지워지지 않는 경우 간혹.. Replication 을 돌릴 때 log 가 지워지지 않아서 서버의 용량이 꽉 차는 문제가 생깁니다. 큰일이죠. 해당 서버에서 다른 작업들을 수행할 수 없게 되니 말입니다. 이 문제는 만들어진 snapshot 데이터들이 모든 subscriber 에게 읽혀지지 않아서 발생하는 문제입니다. 최소 하나의 subscriber라도 동기화 되기 전까지는 log 를 지우지 않고 계속 기다리는 것이죠. 그렇지 않으면 데이터의 일관성이 깨져 버리니까요. backup log 를 with no_log 나 truncate 같은 것을 사용하여 줄이려해도 줄여지지 않는 경우 아래와 같은 쿼리를 돌려 해당 서버의 데이터베이스들을 확인해보세요. select name, is_published, is_subscribed, is.. 2009. 1. 16.