상세 컨텐츠

본문 제목

SQL Server #Collation #변경 방법 #데이터 정렬 설정 #MSSQL

카테고리 없음

by A+티스토리 2023. 11. 2. 09:45

본문

반응형

주의 : 모든 데이터베이스의 Collation을 변경합니다.

1. SQL Server 서비스 중지

2. 커멘드(도스) 실행

      cd C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn

 

sqlservr -m -T4022 -T3659 -s "MSSQLSERVER" -q "SQL_Latin1_General_CP1_CI_AS"
또는
sqlservr -m -T4022 -T3659 -s "MSSQLSERVER" -q "Korean_Wansung_CI_AS"

 

 

참조

https://jotelulu.com/en-gb/support/tutorials/how-to-change-your-sql-collation-settings/

 

How to Change Your SQL Collation Settings

In this tutorial, you will learn how to change your SQL collation settings.

jotelulu.com

 

 

 

SQL 데이터 정렬 설정을 변경하는 방법

 

 

이 자습서에서는 SQL 데이터 정렬 설정을 변경하는 방법을 알아봅니다  .

대부분의 시스템 관리자는 문제가 발생하기 전까지 데이터 정렬이 무엇인지 모릅니다. 실제로 SQL Server나 Microsoft System Center와 같은 응용 프로그램을 설정한 적이 있는 거의 모든 사람이 이러한 설정을 구성해야 했지만 대부분의 경우 사람들은 기본 설치 설정이 무엇인지, 어떻게 설정하는지 알지 못한 채 단순히 기본 설치 설정을 따릅니다. 그것을 바꾸려면.

불행하게도 이 기능이 어떻게 사용되는지 이해하지 못한다면 정말 골치 아픈 일이 될 가능성이 있습니다. 데이터베이스에 대해 SQL 데이터 정렬을 적절하게 구성 하지 않은 경우  데이터베이스  와  데이터베이스 에 연결하는 애플리케이션  모두에  많은 문제가 발생할  수 있습니다  .

그런데 왜 이런 문제가 발생하는 걸까요? 이 기능이 왜 그렇게 중요한가요? 그것은 무엇을 합니까?

SQL 데이터 정렬은  기본적으로  악센트, 대문자, 소문자 및 기타 지원되는 문자와 같은  문자가 데이터베이스에서 인코딩되고 정렬되는  방식에 대한 규칙 집합입니다.

보다 구체적으로 SQL 데이터 정렬은  지역 문자 집합의  각 문자를 나타내는 비트 패턴  과 데이터 비교 및 ​​구성 규칙을  지정합니다.

이것이 얼마나 중요한지 이해하려면 스페인어의 'ñ' 또는 아랍어나 일본어에서 사용되는 문자와 같이 다른 언어에서 사용되는 문자를 생각해 보십시오.

이러한 경우 올바른 데이터 정렬 설정을 갖는 것이  매우 중요합니다 . 그렇지 않으면 애플리케이션이 데이터베이스가 처리할 수 없는 문자를 생성하고 결과적으로 오류가 발생하는 것을 발견할 수 있습니다.

보시다시피 SQL 데이터 정렬 설정은  데이터베이스가 사용되는 지역이나 언어에 따라 달라  집니다 . 이 튜토리얼에서는 현재 데이터 정렬 설정을 확인하고 필요한 경우 이를 변경하는 방법을 살펴보겠습니다.

 

SQL Server 데이터 정렬을 구성하는 방법

 

시작하기 전에

이 자습서를 성공적으로 완료하고 SQL Server 데이터 정렬을 구성하려면 다음이 필요합니다.

  • Windows  서버 .
  • 서버에 SQL Server가 설치되어 있습니다 .

1부 – 현재 SQL 데이터 정렬 설정을 확인하는 방법

먼저 데이터베이스의 현재 SQL 데이터 정렬을 확인하는 방법을  살펴보겠습니다  . 그런 다음 그래픽 인터페이스와 명령 프롬프트를 모두 사용하여 변경하는 방법을 살펴보겠습니다.

SQL 데이터 정렬 값을 쿼리하는 방법에는 두 가지가 있습니다.

  1. SSMS(SQL Server Management Studio) 사용.
  2. SQL을 실행합니다.

SSMS를 사용하는 가장 간단한 방법부터 시작해 보겠습니다.

S SMS 의 경우  왼쪽  개체 탐색기로 이동하여  서버  이름(1)을 마우스 오른쪽 버튼으로 클릭합니다  . 그런 다음  "속성"(2)을 클릭  합니다 .

데이터베이스 속성 표시

그러면 현재  "서버 데이터 정렬"  값(3)을 포함하여 SQL 서버 속성을 보여주는 창이 나타납니다.

서버 대조 값 확인

현재 데이터 정렬 값을 확인하는 또 다른 방법은 SQL 쿼리를 사용하는 것입니다. 이렇게 하려면  "새 쿼리"  (4)를 클릭합니다.

그런 다음 쿼리 탭에  다음 텍스트  (5)를 입력합니다.

SELECT SERVERPROPERTY('collation') AS ServerCollation;

"실행"  (6)을 클릭합니다.

쿼리를 올바르게 입력했다면   화면 하단에  " 쿼리가 성공적으로 실행되었습니다" (7)라는 메시지가 표시되고 "결과" 창  (8) 에 쿼리 결과가 표시됩니다.

SQL 쿼리를 사용하여 SQL 데이터 정렬 값 확인

모든 데이터베이스에 대한 SQL 데이터 정렬 값을 쿼리하는 것도 가능합니다.

이전과 마찬가지로  "새 쿼리 "  (9)를 클릭합니다.

쿼리 필드에  다음 텍스트  (10)를 입력합니다.

SELECT 이름, collation_name DbCollation
FROM sys.database

그런 다음  "실행" (11) 을 클릭하십시오   .

이전과 마찬가지로   "쿼리가 성공적으로 실행되었습니다"라는 메시지  (12)와  아래쪽 창(13)에 쿼리 결과가 표시됩니다  .

모든 데이터베이스의 SQL 데이터 정렬 값을 확인하세요.

이제 현재 SQL 데이터 정렬 값을 확인했으므로 이를 변경하는 방법을 살펴보겠습니다.

 

2부 - 명령 프롬프트를 사용하여 SQL 데이터 정렬 값 변경

SQL 데이터 정렬 값을 변경하는 방법에는 여러 가지가 있지만 여기서는 작업을 간단하게 유지하기 위해 가장 간단한 방법을 고수하겠습니다. 결국, 우리는 항상 일을 더 효율적으로 만들기 위해 노력하고 있습니다!

참고:  사고가 발생할 경우 잠재적인 데이터 손실을 방지하기 위해 항상 서버의 모든 데이터베이스를 백업하는 것이 좋습니다.

먼저, 사용자가 데이터베이스에 연결하지 않고도 변경할 수 있도록 SQL Server 서비스를 중지  해야 합니다  .

이렇게 하려면  검색창  (14)에 “서비스”를 입력하고  서비스 앱  (15)을 실행하세요.

검색창에서 서비스 관리자를 실행하세요

그런 다음   서비스 목록에서 " SQL Server(MSSQLSERVER)"를 검색하세요 . 이는 Microsoft SQL Server 데이터베이스를 실행하는 서비스입니다.

 "SQL Server(MSSQLSERVER)"를 찾으면 서비스(16)를 마우스 오른쪽 버튼으로 클릭  하고  "  중지"  (17) 를 클릭합니다 . 서비스를 중지하는 데 몇 초밖에 걸리지 않지만 이는 당시 서버 로드에 따라 달라집니다.

데이터 정렬 값을 변경하려면 SQL Server 서비스를 중지하세요.

서비스가 중지되면  관리자 권한으로 명령 프롬프트를 실행하십시오  . 실제로는 어쨌든 이미 관리자로 로그인되어 있을 것입니다.

명령 프롬프트 창에서  다음 명령  (18)을 실행합니다.

sqlservr -m -T4022 -T3659 -s”MSSQLSERVER” -q”SQL_Latin1_General_CP1_CI_AS”

다음 매개변수가 있는 경우:

  • -m: 단일 사용자 모드에서 실행 파일을 실행합니다.
  • -T: 실행 및 시작 중에 추적 플래그를 활성화합니다.
  • -s: 서버 인스턴스의 이름을 보냅니다. 이를 모르는 경우 기본 인스턴스 “MSSQLSERVER”를 사용할 수 있습니다.
  • -q: 적용할 새 데이터 정렬 값을 보냅니다. 이 예에서는 "SQL_Latin1_General_CP1_CI_AS"입니다.

또한 이 실행을 위해 두 개의 추적 플래그를 사용합니다.

  • T4022: 데이터베이스 시작 프로세스를 우회합니다.
  • T3569: 시작하는 동안 모든 오류를 "errorlog"에 기록합니다.

또 다른 예를 들자면 데이터 정렬을 프랑스어로 변경하는 명령은 다음과 같습니다.

sqlservr -m -T4022 -T3659 -s”MSSQLSERVER” -q”French_CI_AS”

명령 프롬프트를 사용하여 SQL 데이터 정렬 값 변경

실행이 실행되는 동안  화면에서 볼 수 있는 변경 사항(19)의 결과로 많은 수의 메시지가 생성됩니다  .

실행이 완료되면 명령 프롬프트는 대기 모드에서 대기합니다. 실행을 종료하려면 Ctrl + C를 입력하기  만  하면 됩니다(20).

실행을 종료하려면 Ctrl + C를 누르세요.

이제 서비스 관리자로 돌아가야 합니다. "SQL Server(MSSQLSERVER)"를 검색  하고  서비스(21)를 마우스 오른쪽 버튼으로 클릭 한 다음 "시작"  (22)  을 클릭합니다  . 서비스는 몇 초 내에 시작되어야 하지만, 이는 당시의 서버 로드에 따라 달라집니다.

SQL Server 프로세스를 다시 시작하십시오.

이제 남은 것은 변경 사항이 적용되었는지 확인하는 것입니다.

SSMS 로 돌아가서   개체 탐색기에서  서버 이름(23)을  마우스 오른쪽 버튼으로 클릭  하고 "속성"  (24)을 클릭합니다  .

서버 속성

완료되면 "서버 데이터 정렬" 값(25)을 확인할 수 있는 SQL Server 속성이 표시되며   이제 올바른 데이터 정렬이 표시됩니다.

SQL 데이터 정렬 값이 성공적으로 변경되었는지 확인하세요.

이제 서버에서 SQL Server 데이터 정렬을 성공적으로 변경했습니다.

 

결론

SQL 데이터 정렬은 각 문자 및 문자 집합을  나타내는 비트 패턴  과 이를 비교하고 정렬하는 방법을 지정합니다. 이는  데이터베이스 및 관련 애플리케이션이 올바르게 작동하는 데 중요한 값  입니다.

올바르게 구성되지 않으면  이상한 동작이나 오류가 발생할 수 있습니다 . 이 튜토리얼에서는 작업 중인 언어에 적합한 것을 사용하고 있는지 확인하기 위해 SQL 데이터 정렬을 직접 쉽게 변경할 수 있는 방법을 배웠습니다.

Jotelulu를 선택해 주셔서 감사합니다!

 

 

참조

https://jotelulu.com/en-gb/support/tutorials/how-to-change-your-sql-collation-settings/

 

How to Change Your SQL Collation Settings

In this tutorial, you will learn how to change your SQL collation settings.

jotelulu.com

 

반응형

댓글 영역