SQL Management Studio (2016 이전 버전)
불행히도 SQL Management Studio에서 응용 프로그램 의도를 사용하는 데 다소 어려움이 있습니다.
ReadOnly 의도로 수동으로 연결하려면 개체 탐색기에서 서버에 연결 대화 상자를 표시 한 후 다음 사항을 기억해야합니다.
- 옵션 >>을 클릭하십시오 .
- 추가 연결 매개 변수 탭으로 이동 하십시오.
- 추가 매개 변수를 ApplicationIntent = ReadOnly로 입력하십시오.
- (참고 : 사용자는 추가 연결 매개 변수를 입력 한 후 옵션 << 단추를 클릭하지 않아야합니다. 그렇지 않으면 매개 변수가 손실됩니다.)
- 연결을 클릭 하십시오 .
- Object Explorer 보기 에서 원하는 데이터베이스를 마우스 오른쪽 버튼으로 클릭 하고 New Query 를 선택하여 아래 3 번 경고에 빠지지 않도록 항상 쿼리 창을 시작 하십시오.
적용되는주의 사항은 다음과 같습니다.
- SQL Management Studio가 읽기 전용 의도로 연결되도록 할 수 있지만 등록 된 서버에 연결이 추가 될 때 추가 연결 매개 변수를 저장하지 않습니다.
- 응용 프로그램 의도를 추가하기 위해 RegSrvr.xml 파일에서 로컬로 등록 된 서버를 수동으로 편집 할 때의 동작은 매우 일치하지 않으며 GUI를 통해 변경이 이루어질 때마다 덮어 쓰기되어이 해결 방법을 신뢰할 수 없습니다.
- 쿼리 창을 열기 전에 Always On 데이터베이스를 선택해야합니다. 그렇지 않으면 연결이 기본 서버로 라우팅됩니다. 쿼리 창을 Always On이 아닌 데이터베이스로 이미 연 후 쿼리 창의 드롭 다운을 사용하여 데이터베이스를 선택하려고하면 오류 대화 상자가 나타납니다. 쿼리 창을 Always On 이외의 데이터베이스로 이미 연 후 USE 문을 사용하여 데이터베이스를 Always On 데이터베이스로 변경하려고하면 SQL 쿼리를 실행하려고 할 때 결과는 다음과 같습니다.
Msg 979, Level 14, State 1, Line 1
The target database ('AlwaysOnDatabase') is in an availability group
and currently does not allow read only connections. For more
information about application intent, see SQL Server Books Online.
SQL Management Studio (2016 버전 이상)
SQL Server Management Studio 2016 이상은 이전 버전과 동일한 6 단계를 사용하여 읽기 전용 응용 프로그램 의도로 연결할 수 있으며 추가 연결 매개 변수를 저장합니다. 여전히 몇 가지주의 사항이 있습니다.
- 개체 탐색기보기는 AlwaysOn 데이터베이스의 테이블이나 다른 개체를 열거하지 않습니다. 확장하려고하면 액세스 거부 메시지가 나타납니다.
- 동일한 리스너에 대한 읽기 전용 및 비 읽기 전용 연결을 동시에 열 수 없습니다.
- 데이터베이스의 객체 이름에 대한 Intellisense가 작동하지 않습니다. (이상하게도 , 마우스 오른쪽 클릭 메뉴 에서 편집기의 디자인 쿼리를 사용하여 시작할 수있는 쿼리 디자이너에서 개체가 잘 열거 됩니다.)
- 이전 버전의 경고에 대한 경고 3이 여전히 적용됩니다.
타사 제품
LinqPad 는 연결을 저장할 때 응용 프로그램 의도 및 데이터베이스를 포함한 전체 연결 문자열을 저장하므로 Always On 데이터베이스에 대해 읽기 전용 쿼리를 수행하는 데 유용한 옵션이 될 수 있습니다.