우리는 클라이언트의 .NET 웹 응용 프로그램에 대해 SQL Server 2012 데이터베이스 트랜잭션 복제를 구성하여 SQL 트랜잭션 및보고를 다른 SQL Server에 배포했습니다.SQL Server 2012 데이터베이스 트랜잭션 복제 성능 문제
SQL-Node1에 대한 트랜잭션 복제를 마스터 DB 서버로 구현했습니다. SQL-Node2에서 마스터 DB 복제를 구성하여 트랜잭션 및 데이터 업로드가 많은 웹 응용 프로그램으로 보고서를 가져 왔습니다 에서 매일 약 1,000 만 건의 출품작을 처리합니다.
두 SQL Server 2012 인스턴스에서 복제를 구성한 후 몇 주 후에 몇 가지 성능 문제가 발생하여 응용 프로그램에서 해당 테이블과 데이터에 액세스 할 수없는 이유로 데이터베이스에 파일을 업로드하는 동안 일부 리소스가 잠겼습니다. 또한 사용자가 웹 응용 프로그램에 액세스 할 때 서버가 너무 느리게 수행되는 것으로 나타났습니다.
이제 우리는 SQL Server 2012의 다른 3 노드에로드를 분산하려고합니다. 웹 응용 프로그램이 SQL-Node1에서 데이터를 액세스하고 처리 할 때보고 쿼리는 SQL-Node2에서 끌어 오기 데이터를 가져오고 SQL-Node3이 사용됩니다 다른 모든 SQL 노드에서 복제 될 데이터베이스에 시트 데이터를 업로드하십시오.
현재 설치, 모든 서버에는 Windows Server 2008 Standard 및 SQL Server 2012 Enterprise Edition이 있습니다.
데이터베이스 크기의 약 15 GB/복제 사용 : SQL 노드 1/가입자 역할을 구성 거래/대리점 역할은 우리는 (다른 부하를 분산 할 수있는 문제보다 해결하는 솔루션을 찾고 2.
SQL 노드에 구성 보고, 데이터 업로드, 트랜잭션)을 수행하고 모든 SQL 노드간에 데이터를 복제합니다.
위의 시나리오에서 SQL Server 2012 HA, SQL Server Replication 또는 SQL Server Mirroring 중에서 어떤 기능을 수행 할 수 있습니까? 변경 사항이 하나 개 이상의 노드에서 발생해야하기 때문에
빠른 응답이 매우