SQL Server 2017에 추가된 Graph 관련 내용을 보고 있는데


어떻게 DB에 반영해야 될지 감이 안와서 찾아보니 아주 좋은 글이 있네요.


https://www.red-gate.com/simple-talk/sql/t-sql-programming/sql-graph-objects-sql-server-2017-good-bad/





SQL Server 2017 설치시에 JAVA를 사용하는 Polybas 설정시 JDK 9.x 버젼에서는 설치가 안됩니다.


역시나 외국 애들이 건의해 놓고 있네요.

https://feedback.azure.com/forums/908035-sql-server/suggestions/32899312-sql-server-2017-installer-should-recognize-java-jd


polybase를 미설치로 가던지 JDK 8.x 버젼으로 내려가면 설치에는 문제가 없습니다.




Msg 20515, Level 16, State 1, Procedure sp_MSreplraiserror, Line 9
Updateable Subscriptions: Rows do not match between Publisher and Subscriber. Run the Distribution Agent to refresh rows at the Subscriber.
Msg 20512, Level 16, State 1, Procedure sp_MSreplraiserror, Line 8
Updateable Subscriptions: Rolling back transaction.
Msg 3609, Level 16, State 1, Procedure spAutoPrintList, Line 18
The transaction ended in the trigger. The batch has been aborted.

 

Updatable Transaction replication을 운영하다보면 위와 같은 에러로 replciation Article(table) 이 Insert, udpate, delete 가 안되는 경우가 발생을 한다.

 

Updatable Transaction replication은 msrepl_tran_version 이라는 컬럼을 생성하여 ROW의 버젼을 관리하는데

pub, sub에 동일한 Primary Key의 값을 가진 데이터가 있지만 msrepl_tran_version의 값이 다른 경우 위와 같은 문제가 발생한다.

 

이런 문제가 발생하는 이유는 SQL Server의 replication이 비동기이기 때문이다.

pub와 sub에 동시에 데이터를 입력 할 경우(동일한 PK를 가진) 문제 없이 Insert가 되며 msrepl_tran_version는 다른 값을 가져 충돌이 발생된다. Merge의 경우 conflict의 결과를 조회 가능하지만 Updatable은 나오지 않는다.

(보통 대략 1분 정도 안에 동기화하 진행된다.)

 

해결 방법은 subscription의 msrepl_tran_version으로 publication의 데이터를 update하면 된다.

 

 

 

 

간혹 SQL Server Service가 Strating 상태로 들어가서 중지도, 시작도 안되는 경우가 발생한다.

 

그럴때는

 

sc queryex 로 서비스의 PID를 찾은 후에 Taskkill 로 service를 Kill 할 수 있다.

 

 * 서비스가 Starting 되어서 진행이 안되는 상태

 

* 서비스의 이름 확인(Default Instance가 아닌 경우 서버명$인스턴스명)

 

* sc 로 PID 확인, Taskkill 로  PID Kill

 

MS SQL Server 에 문제가 생겨서 cmd에서 실행을 해야 하는 경우가 있다.

 

하지만 여러개의 Instance가 설치 된 경우 sqlservr 는 기본 Instance인 MSSQLSERVER를 실행하게 된다.

 

> sqlservr -s <Instance Name>

 

으로 실행 할 수 있다.

 

default instance로 인해서 실행이 안됨.

 

instance 지정

+ Recent posts