새로 추가되었거나 최근에 업데이트됨: 관계형 데이터베이스 문서New and Recently Updated: Relational Databases docs

Microsoft에서는 거의 매일 Docs.Microsoft.com 설명서 웹 사이트에서 기존 문서 일부를 업데이트합니다.Nearly every day Microsoft updates some of its existing articles on its Docs.Microsoft.com documentation website. 이 문서에는 최근 업데이트된 문서에서 발췌한 내용이 표시됩니다.This article displays excerpts from recently updated articles. 새 문서로 연결되는 링크도 나열될 수 있습니다.Links to new articles might also be listed.

이 문서는 주기적으로 다시 실행되는 프로그램에 의해 생성됩니다.This article is generated by a program that is rerun periodically. 경우에 따라 발췌한 내용의 형식이 완전하지 않거나 원본 문서의 표식(markdown)으로 표시될 수 있습니다.Occasionally an excerpt can appear with imperfect formatting, or as markdown from the source article. 이미지는 여기에 표시되지 않습니다.Images are never displayed here.

다음 날짜 범위 및 주제에 대한 최근 업데이트가 보고됩니다.Recent updates are reported for the following date range and subject:

  • 업데이트 날짜 범위:   2018-02-03  -  2018-04-28Date range of updates:   2018-02-03   -to-   2018-04-28
  • 주제 영역:   관계형 데이터베이스Subject area:   Relational Databases.

 

최근에 만든 새로운 문서New Articles Created Recently

다음 링크는 최근에 추가된 새로운 문서로 이동합니다.The following links jump to new articles that have been added recently.

  1. 조인(SQL Server)Joins (SQL Server)
  2. 하위 쿼리(SQL Server)Subqueries (SQL Server)
  3. Always On 가용성 그룹에서 복제 배포 데이터베이스 설정Set up replication distribution database in Always On availability group
  4. SQL 데이터 검색 및 분류SQL Data Discovery and Classification
  5. 트랜잭션 잠금 및 행 버전 관리 지침Transaction Locking and Row Versioning Guide
  6. sys.dm_os_job_object(Azure SQL Database)sys.dm_os_job_object (Azure SQL Database)
  7. Filestream 및 FileTable 시스템 저장 프로시저(Transact-SQL)Filestream and FileTable system stored procedures (Transact-SQL)

 

업데이트된 문서의 발췌 내용Updated Articles with Excerpts

이 섹션에는 최근에 많이 업데이트된 문서에서 발췌한 업데이트 내용이 표시됩니다.This section displays the excerpts of updates gathered from articles that have recently experienced a large update.

여기에 표시된 발췌 내용은 적절한 의미 체계 맥락과 분리되어 표시됩니다.The excerpts displayed here appear separated from their proper semantic context. 또한 발췌 내용은 때때로 실제 문서에서 이 내용의 주변에 있는 중요한 markdown 구문과도 분리되어 표시됩니다.Also, sometimes an excerpt is separated from important markdown syntax that surrounds it in the actual article. 따라서 이러한 발췌 내용은 일반적인 지침을 제공하기 위한 것입니다.Therefore these excerpts are for general guidance only. 이 발췌 내용에서는 관심 내용을 클릭하여 실제 문서를 참조할 가치가 있을지 여부만 파악할 수 있습니다.The excerpts only enable you to know whether your interests warrant taking the time to click and visit the actual article.

따라서 이러한 발췌 내용에서 코드를 복사하거나 발췌 내용을 정확한 사실로 간주하지 마세요.For these and other reasons, do not copy code from these excerpts, and do not take as exact truth any text excerpt. 대신 실제 문서를 참조하세요.Instead, visit the actual article.

 

최근 업데이트된 문서의 간결한 목록Compact List of Articles Updated Recently

이 간결한 목록에는 발췌 섹션에 나열된 모든 업데이트된 문서로 연결되는 링크가 있습니다.This compact list provides links to all the updated articles that are listed in the Excerpts section.

  1. 서식 파일을 사용하여 테이블 열 건너뛰기(SQL Server)Use a Format File to Skip a Table Column (SQL Server)
  2. SQL Server의 JSON 데이터JSON data in SQL Server
  3. 쿼리 처리 아키텍처 가이드Query Processing Architecture Guide
  4. 자습서: 복제를 위한 SQL Server 준비 - 게시자, 배포자, 구독자Tutorial: Prepare SQL Server For Replication - Publisher, Distributor, Subscriber
  5. 자습서: 두 개의 완전히 연결된 서버 간 복제 구성(트랜잭션)Tutorial: Configure Replication between Two Fully Connected Servers (Transactional)
  6. 자습서: 서버와 모바일 클라이언트 간 복제 구성(병합)Tutorial: Configure Replication between a Server and Mobile Clients (Merge)
  7. 전체 텍스트 검색을 사용한 쿼리Query with Full-Text Search
  8. Azure SQL Database 및 데이터 웨어하우스에 대한 Bring Your Own Key 지원으로 투명한 데이터 암호화Transparent Data Encryption with Bring Your Own Key support for Azure SQL Database and Data Warehouse
  9. PowerShell 및 CLI: Azure Key Vault에서 사용자 고유 키를 사용하여 투명한 데이터 암호화 사용PowerShell and CLI: Enable Transparent Data Encryption using your own key from Azure Key Vault
  10. 변경 데이터 캡처 정보(SQL Server)About Change Data Capture (SQL Server)

 

 

1.   서식 파일을 사용하여 테이블 열 건너뛰기(SQL Server)1.   Use a Format File to Skip a Table Column (SQL Server)

업데이트됨: 2018-04-13          (다음)Updated: 2018-04-13           (Next)

 

OPENROWSET(BULK...) 사용Using OPENROWSET(BULK...)

OPENROWSET(BULK...)를 사용하여 XML 서식 파일로 테이블 열을 건너뛰려면 다음과 같이 선택 목록과 대상 테이블에 명시적인 열 목록을 제공해야 합니다.To use an XML format file to skip a table column by using OPENROWSET(BULK...), you have to provide an explicit list of columns in the select list and also in the target table, as follows:

    INSERT ...<column_list> SELECT <column_list> FROM OPENROWSET(BULK...)

다음 예에서는 OPENROWSET 대량 행 집합 공급자와 myTestSkipCol2.xml 서식 파일을 사용합니다.The following example uses the OPENROWSET bulk rowset provider and the myTestSkipCol2.xml format file. 또한 myTestSkipCol2.dat 데이터 파일을 myTestSkipCol 테이블로 대량 가져옵니다.The example bulk imports the myTestSkipCol2.dat data file into the myTestSkipCol table. 이 문에는 필요에 따라 SELECT 목록과 대상 테이블의 명시적인 열 목록이 있습니다.The statement contains an explicit list of columns in the select list and also in the target table, as required.

SSMS에서 다음 코드를 실행합니다.In SSMS, run the following code. 컴퓨터에서 샘플 파일 위치에 대한 파일 시스템 경로를 업데이트합니다.Update the file system paths for the location of the sample files on your computer.

USE WideWorldImporters;
GO
INSERT INTO myTestSkipCol
  (Col1,Col3)
    SELECT Col1,Col3
      FROM  OPENROWSET(BULK  'C:\myTestSkipCol2.Dat',
      FORMATFILE='C:\myTestSkipCol2.Xml'
       ) as t1 ;
GO

 

 


2.   SQL Server의 JSON 데이터2.   JSON data in SQL Server

업데이트됨: 2018-04-13          (이전 | 다음)Updated: 2018-04-13           (Previous | Next)

 

JSON 문서에는 표준 관계형 열에 직접 매핑할 수 없는 하위 요소 및 계층적 데이터가 있을 수 있습니다.JSON documents may have sub-elements and hierarchical data that cannot be directly mapped into the standard relational columns. 이 경우 하위 배열과 부모 엔터티를 조인하여 JSON 계층 구조를 평면화할 수 있습니다.In this case, you can flatten JSON hierarchy by joining parent entity with sub-arrays.

다음 예제에서 배열의 두 번째 개체에는 사람 기술을 나타내는 하위 배열이 있습니다.In the following example, the second object in the array has sub-array representing person skills. 모든 하위 개체는 추가 OPENJSON 함수 호출을 사용하여 구문 분석할 수 있습니다.Every sub-object can be parsed using additional OPENJSON function call:

DECLARE @json NVARCHAR(MAX)
SET @json =
N'[
       { "id" : 2,"info": { "name": "John", "surname": "Smith" }, "age": 25 },
       { "id" : 5,"info": { "name": "Jane", "surname": "Smith", "skills": ["SQL", "C#", "Azure"] }, "dob": "2005-11-04T12:00:00" }
 ]'

SELECT *
FROM OPENJSON(@json)
  WITH (id int 'strict $.id',
        firstName nvarchar(50) '$.info.name', lastName nvarchar(50) '$.info.surname',
        age int, dateOfBirth datetime2 '$.dob',
    skills nvarchar(max) '$.skills' as json)
    outer apply openjson( a.skills )
                     with ( skill nvarchar(8) '$' ) as b

기술 배열은 첫 번째 OPENJSON에서 원래 JSON 텍스트 조각으로 반환되고 APPLY 연산자를 사용하여 다른 OPENJSON 함수로 전달됩니다.skills array is returned in the first OPENJSON as original JSON text fragment and passed to another OPENJSON function using APPLY operator. 두 번째 OPENJSON 함수는 JSON 배열을 구분 분석하고 문자열 값을 첫 번째 OPENJSON의 결과와 조인될 단일 열 행 집합으로 반환합니다.The second OPENJSON function will parse JSON array and return string values as single column rowset that will be joined with the result of the first OPENJSON. 이 쿼리의 결과는 다음 표에 표시됩니다.The result of this query is shown in the following table:

결과Results

idid firstNamefirstName lastNamelastName ageage dateOfBirthdateOfBirth skillskill
22 JohnJohn SmithSmith 2525
55 JaneJane SmithSmith 2005-11-04T12:00:002005-11-04T12:00:00 SQLSQL
55 JaneJane SmithSmith 2005-11-04T12:00:002005-11-04T12:00:00 C#C#
55 JaneJane SmithSmith 2005-11-04T12:00:002005-11-04T12:00:00 AzureAzure

OUTER APPLY OPENJSON은 하위 배열과 첫 번째 수준 엔터티를 조인하고, 결과 집합을 평면화합니다.OUTER APPLY OPENJSON will join first level entity with sub-array and return flatten resultset. JOIN으로 인해 모든 기술에 대해 두 번째 행이 반복됩니다.Due to JOIN, the second row will be repeated for every skill.

 

 


3.   쿼리 처리 아키텍처 가이드3.   Query Processing Architecture Guide

업데이트됨: 2018-04-13          (이전 | 다음)Updated: 2018-04-13           (Previous | Next)

 

논리 연산자 선행 규칙Logical Operator Precedence

문에 논리 연산자가 두 개 이상 사용되면 NOT이 가장 먼저 평가되고 다음으로 AND, OR의 순서로 평가됩니다.When more than one logical operator is used in a statement, NOT is evaluated first, then AND, and finally OR. 산술 및 비트 연산자는 논리 연산자보다 먼저 처리됩니다.Arithmetic, and bitwise, operators are handled before logical operators. 자세한 내용은 [연산자 우선 순위]를 참조하세요.For more information, see [Operator Precedence].

다음 예제에서 ANDOR보다 우선하므로 제품 모델 21에는 색상 조건이 적용되지만 제품 모델 20에는 적용되지 않습니다.In the following example, the color condition pertains to product model 21, and not to product model 20, because AND has precedence over OR.

SELECT ProductID, ProductModelID
FROM Production.Product
WHERE ProductModelID = 20 OR ProductModelID = 21
  AND Color = 'Red';
GO

OR를 먼저 평가하도록 괄호를 추가하면 쿼리의 의미를 변경할 수 있습니다.You can change the meaning of the query by adding parentheses to force evaluation of the OR first. 다음 쿼리에서는 제품 모델 20 및 21에서 색상이 빨강인 제품만 찾습니다.The following query finds only products under models 20 and 21 that are red.

SELECT ProductID, ProductModelID
FROM Production.Product
WHERE (ProductModelID = 20 OR ProductModelID = 21)
  AND Color = 'Red';
GO

꼭 필요한 경우가 아니라도 괄호를 사용하면 쿼리의 가독성을 높이고 연산자 우선 순위로 인한 사소한 실수를 줄일 수 있습니다.Using parentheses, even when they are not required, can improve the readability of queries, and reduce the chance of making a subtle mistake because of operator precedence. 괄호를 사용하더라도 성능에는 거의 영향을 미치지 않습니다.There is no significant performance penalty in using parentheses. 다음 예제는 첫 번째 예제와 구문적으로는 동일하지만 파악하기가 더 쉽습니다.The following example is more readable than the original example, although they are syntactically the same.

SELECT ProductID, ProductModelID
FROM Production.Product
WHERE ProductModelID = 20 OR (ProductModelID = 21
  AND Color = 'Red');
GO

 

 


4.   자습서: 복제를 위한 SQL Server 준비 - 게시자, 배포자, 구독자4.   Tutorial: Prepare SQL Server For Replication - Publisher, Distributor, Subscriber

업데이트됨: 2018-04-13          (이전 | 다음)Updated: 2018-04-13           (Previous | Next)

 

참고

  • 두 버전이 넘게 차이 나는 SQL Server 간에는 복제가 지원되지 않습니다.Replication is not supported on SQL Servers that are more than two versions apart. 자세한 내용은 복제 토폴로지에서 지원되는 SQL 버전을 참조하세요.For more information, please see Supported SQL Versions in Repl Topology.
  • {Included-Content-Goes-Here} 에서는 sysadmin 고정 서버 역할의 멤버인 로그인을 사용하여 게시자 및 구독자에 연결해야 합니다.In {Included-Content-Goes-Here} , you must connect to the Publisher and Subscriber using a login that is a member of the sysadmin fixed server role. sysadmin 역할에 대한 자세한 내용은 서버 수준 역할을 참조하세요.For more information on the sysadmin role, please see Server Level Roles.

이 자습서를 완료하는 데 소요되는 예상 시간: 30분Estimated time to complete this tutorial: 30 minutes

복제용 Windows 계정 만들기Create Windows Accounts for Replication

이 섹션에서는 복제 에이전트를 실행할 Windows 계정을 만듭니다.In this section, you will create Windows accounts to run replication agents. 다음 에이전트에 대해 로컬 서버에 별도의 Windows 계정을 만듭니다.You will create a separate Windows account on the local server for the following agents:

에이전트Agent 위치Location 계정 이름Account name
스냅숏 에이전트Snapshot Agent 게시자Publisher <machine_name>\repl_snapshot<machine_name>\repl_snapshot

 

 


5.   자습서: 두 개의 완전히 연결된 서버 간 복제 구성(트랜잭션)5.   Tutorial: Configure Replication between Two Fully Connected Servers (Transactional)

업데이트됨: 2018-04-13          (이전 | 다음)Updated: 2018-04-13           (Previous | Next)

 

트랜잭션 게시에 구독 만들기Create a subscription to the Transactional publication

이 섹션에서는 이전에 만든 게시에 구독자를 추가합니다.In this section, you will add a subscriber to the Publication that was previously created. 이 자습서에서는 원격 구독자(NODE2\SQL2016)를 사용하지만 구독을 게시자에게 로컬로 추가할 수도 있습니다.This tutorial uses a remote subscriber (NODE2\SQL2016) but a subscription can also be added locally to the publisher.

구독을 만들려면To create the subscription

  1. {Included-Content-Goes-Here} 에서 게시자에 연결하고 해당 서버 노드를 확장한 다음 복제 폴더를 확장합니다.Connect to the Publisher in {Included-Content-Goes-Here} , expand the server node, and then expand the Replication folder.

  2. 로컬 게시 폴더에서 AdvWorksProductTrans 게시를 마우스 오른쪽 단추로 클릭한 다음, 새 구독을 선택합니다.In the Local Publications folder, right-click the AdvWorksProductTrans publication, and then select New Subscriptions. 새 구독 마법사가 시작됩니다.The New Subscription Wizard launches:

    새 구독New Subscription

  3. 게시 페이지에서 AdvWorksProductTrans를 선택한 후, 다음을 선택합니다.On the Publication page, select AdvWorksProductTrans, and then select Next:

    Tran 게시자 선택Select Tran Publisher

  4. 배포 에이전트 위치 페이지에서 배포자에서 모든 에이전트 실행을 선택한 후, 다음을 선택합니다.On the Distribution Agent Location page, select Run all agents at the Distributor, and then select Next. 끌어오기 및 밀어넣기 구독에 대한 자세한 내용은 게시 구독을 참조하세요.For more information on pull and push subscriptions, please see Subscribe to Publications:

    배포자에서 에이전트 실행Run Agents at Dist

  5. 구독자 페이지에서 구독자 인스턴스 이름이 표시되지 않는 경우 구독자 추가를 선택한 다음, 드롭다운 목록에서 SQL Server 구독자 추가를 선택합니다.On the Subscribers page, if the name of the Subscriber instance is not displayed, select Add Subscriber and then select Add SQL Server Subscriber from the drop-down. 그러면 서버에 연결 대화 상자가 시작됩니다.This will launch the Connect to Server dialog box. 구독자 인스턴스 이름을 입력한 다음, 연결을 선택합니다.Enter the Subscriber instance name and then select Connect.

 

 


6.   자습서: 서버와 모바일 클라이언트 간의 복제 구성(병합)6.   Tutorial: Configure Replication between a Server and Mobile Clients (Merge)

업데이트됨: 2018-04-13          (이전 | 다음)Updated: 2018-04-13           (Previous | Next)

 

Employee 테이블에는 hierarchyid 데이터 형식을 가진 열(OrganizationNode)이 포함되어 있습니다. 이는 SQL 2017의 복제에만 지원됩니다.The Employee table contains a column (OrganizationNode) that has the hierarchyid data type, which is only supported for replication in SQL 2017. SQL 2017보다 낮은 빌드를 사용하는 경우, 양방향 복제에서 이 열을 사용할 때 잠재적인 데이터 손실을 알리는 메시지가 화면 맨 아래에 표시됩니다.If you're using a build lower than SQL 2017, you'll see a message at the bottom of the screen notifying you of potential data loss for using this column in bi-directional replication. 이 자습서의 목적상 이 메시지는 무시할 수 있습니다.For the purpose of this tutorial, this message can be ignored. 그러나 지원되는 빌드를 사용하지 않는 경우 프로덕션 환경에서 이 데이터 형식을 복제해서는 안 됩니다.However, this datatype should not be replicated in a production environment unless you're using the supported build. hierarchyid 데이터 형식을 복제하는 방법에 대한 자세한 내용은 복제에서 hierarchyid 열 사용을 참조하세요.For more inforamtion about replicating the hierarchyid datatype, please see Using Hierarchyid Columns in Replication

  • 테이블 행 필터링 페이지에서 추가를 선택한 다음, 필터 추가를 선택합니다.On the Filter Table Rows page, select Add and then select Add Filter.

  • 필터 추가 대화 상자의 필터링할 테이블 선택에서 Employee(HumanResources) 를 선택합니다.In the Add Filter dialog box, select Employee (HumanResources) in Select the table to filter. LoginID 열을 선택하고, 오른쪽 화살표를 선택하여 필터 쿼리의 WHERE 절에 해당 열을 추가한 후, WHERE 절을 다음과 같이 수정합니다.Select the LoginID column, select the right arrow to add the column to the WHERE clause of the filter query, and modify the WHERE clause as follows:

    WHERE [LoginID] = HOST_NAME()
    

    1.a. 이 테이블의 행을 단일 구독으로 이동을 선택하고 확인을 선택합니다.Select A row from this table will go to only one subscription, and select OK:

    필터 추가Add Filter

  • 테이블 행 필터링 페이지에서 Employee(Human Resources) 를 선택하고 추가를 선택한 다음, 선택한 필터 확장을 위해 조인 추가를 선택합니다.On the Filter Table Rows page, select Employee (Human Resources), select Add, and then select Add Join to Extend the Selected Filter.

    1.a. 조인 추가 대화 상자의 조인된 테이블에서 Sales.SalesOrderHeader를 선택합니다.In the Add Join dialog box, select Sales.SalesOrderHeader under Joined table. 수동으로 조인 문 작성을 선택하고, 다음과 같이 조인 문을 완성합니다.Select Write the join statement manually, and complete the join statement as follows:

 

 


7.   전체 텍스트 검색을 사용한 쿼리7.   Query with Full-Text Search

업데이트됨: 2018-04-13          (이전 | 다음)Updated: 2018-04-13           (Previous | Next)

 

생성 단어 검색에 대한 자세한 정보More info about generation term searches

굴절형은 동사의 여러 시제 및 변화와 명사의 단수형 및 복수형을 의미합니다.The inflectional forms are the different tenses and conjugations of a verb or the singular and plural forms of a noun.

예를 들어 "drive"라는 단어의 굴절형을 검색한다고 가정합니다.For example, search for the inflectional form of the word "drive." 테이블의 여러 행에 "drive", "drives", "drove", "driving", "driven" 등의 단어가 포함되어 있는 경우 이러한 각 단어는 drive라는 단어를 활용하여 생성된 것이므로 모두 결과 집합에 포함됩니다.If various rows in the table include the words "drive," "drives," "drove," "driving," and "driven," all would be in the result set because each of these can be inflectionally generated from the word drive.

[FREETEXT] 및 [FREETEXTTABLE] 은 기본적으로 지정된 모든 단어의 굴절형을 검색합니다.[FREETEXT] and [FREETEXTTABLE] look for inflectional terms of all specified words by default. [CONTAINS] 및 [CONTAINSTABLE]은 선택적 INFLECTIONAL 인수를 지원합니다.[CONTAINS] and [CONTAINSTABLE] support an optional INFLECTIONAL argument.

특정 단어의 동의어 검색Search for synonyms of a specific word

동의어 사전은 단어에 대한 사용자 지정 동의어를 정의합니다.A thesaurus defines user-specified synonyms for terms. 동의어 사전 파일에 대한 자세한 내용은 [전체 텍스트 검색에 사용할 동의어 사전 파일 구성 및 관리]를 참조하세요.For more info about thesaurus files, see [Configure and Manage Thesaurus Files for Full-Text Search].

예를 들어 동의어 사전에 "{car, automobile, truck, van}" 항목을 추가하면 "car"라는 단어의 동의어 형태를 검색할 수 있습니다.For example, if an entry, "{car, automobile, truck, van}," is added to a thesaurus, you can search for the thesaurus form of the word "car." "automobile", "truck", "van" 또는 "car"라는 단어는 각각 "car"라는 단어를 포함하는 동의어 확장 집합에 속하므로 이러한 단어를 포함하는 쿼리된 테이블의 모든 행이 결과 집합에 나타납니다.All rows in the table queried that include the words "automobile," "truck," "van," or "car," appear in the result set because each of these words belongs to the synonym expansion set containing the word "car."

[FREETEXT] 및 [FREETEXTTABLE] 에는 기본적으로 동의어 사전이 사용됩니다.[FREETEXT] and [FREETEXTTABLE] use the thesaurus by default. [CONTAINS] 및 [CONTAINSTABLE]은 선택적 THESAURUS 인수를 지원합니다.[CONTAINS] and [CONTAINSTABLE] support an optional THESAURUS argument.

 

 


8.   Azure SQL Database 및 데이터 웨어하우스에 대한 Bring Your Own Key 지원으로 투명한 데이터 암호화8.   Transparent Data Encryption with Bring Your Own Key support for Azure SQL Database and Data Warehouse

업데이트됨: 2018-04-24          (이전 | 다음)Updated: 2018-04-24           (Previous | Next)

 

Azure Key Vault로 Geo-DR을 구성하는 방법How to configure Geo-DR with Azure Key Vault

암호화된 데이터베이스에서 TDE 보호기의 고가용성을 유지하려면 기존 또는 원하는 SQL Database 장애 조치(failover) 그룹이나 활성 지역 복제 인스턴스를 기반으로 중복 Azure Key Vault를 구성해야 합니다.To maintain high availability of TDE Protectors for encrypted databases, it is required to configure redundant Azure Key Vaults based on the existing or desired SQL Database failover groups or active geo-replication instances. 지리적으로 복제된 각 서버에는 별도의 키 자격 증명 모음이 필요하며 동일한 Azure 지역의 서버와 함께 배치해야 합니다.Each geo-replicated server requires a separate key vault, that must be co-located with the server in the same Azure region. 한 지역의 정전으로 인해 기본 데이터베이스에 액세스할 수 없게 되어 장애 조치(failover)가 트리거되면, 보조 데이터베이스가 보조 키 자격 증명 모음을 사용하여 인수할 수 있습니다.Should a primary database become inaccessible due to an outage in one region and a failover is triggered, the secondary database is able to take over using the secondary key vault.

지리적으로 복제된 Azure SQL Databases의 경우 다음 Azure Key Vault 구성이 필요합니다.For Geo-Replicated Azure SQL databases, the following Azure Key Vault configuration is required:

  • 지역에서 키 자격 증명 모음을 사용하는 하나의 기본 데이터베이스, 지역에서 키 자격 증명 모음을 사용하는 하나의 보조 데이터베이스.One primary database with a key vault in region and one secondary database with a key vault in region.
  • 보조 데이터베이스가 하나 이상 필요하며 최대 4개의 보조 데이터베이스가 지원됩니다.At least one secondary is required, up to four secondaries are supported.
  • 보조의 보조(체인)는 지원되지 않습니다.Secondaries of secondaries (chaining) are not supported.

다음 섹션에서는 설치 및 구성 단계를 자세히 살펴봅니다.The following section will go over the setup and configuration steps in more detail.

Azure Key Vault 구성 단계Azure Key Vault Configuration Steps

  • PowerShell 설치Install PowerShell
  • “soft-delete” 속성을 활성화하는 PowerShell을 사용하여 다른 두 지역에 두 개의 Azure Key Vault를 만듭니다(이 옵션은 아직 AKV 포털에서 사용할 수 없으나 SQL에서 필요함).Create two Azure Key Vaults in two different regions using PowerShell to enable the "soft-delete" property on the key vaults (this option is not available from the AKV Portal yet – but required by SQL).
  • 키 백업과 복원이 작동하려면 두 Azure Key Vault 모두 동일한 Azure Geo에서 제공되는 두 지역에 있어야 합니다.Both Azure Key Vaults must be located in the two regions available in the same Azure Geo in order for backup and restore of keys to work. SQL Geo-DR 요구 사항에 부합하기 위해 두 자격 증명 모음이 서로 다른 지역에 있어야 하는 경우 키를 온-프레미스 HSM에서 가져올 수 있는 BYOK 프로세스가를 따릅니다.If you need the two key vaults to be located in different geos to meet SQL Geo-DR requirements, follow the BYOK Process that allows keys to be imported from an on-prem HSM.

 

 


9.   PowerShell 및 CLI: Azure Key Vault에서 사용자 고유 키를 사용하여 투명한 데이터 암호화 사용9.   PowerShell and CLI: Enable Transparent Data Encryption using your own key from Azure Key Vault

업데이트됨: 2018-04-24          (이전 | 다음)Updated: 2018-04-24           (Previous | Next)

 

CLI에 대한 필수 구성 요소Prerequisites for CLI

단계: 서버 만들기 및 서버에 Azure AD ID 할당Step: Create a server and assign an Azure AD identity to your server

  cli
  # create server (with identity) and database

 

 


10.   변경 데이터 캡처 정보(SQL Server)10.   About Change Data Capture (SQL Server)

업데이트됨: 2018-04-17          (이전)Updated: 2018-04-17           (Previous)

 

데이터베이스 및 테이블 데이터 정렬 차이 처리Working with database and table collation differences

데이터베이스와, 변경 데이터 캡처에 대해 구성된 테이블 열 간의 데이터 정렬이 다른 상황을 인지하는 것이 중요합니다.It is important to be aware of a situation where you have different collations between the database and the columns of a table configured for change data capture. CDC에서는 중간 저장소를 사용하여 측면 테이블을 채웁니다.CDC uses interim storage to populate side tables. 테이블에 데이터베이스 데이터 정렬과는 다른 데이터 정렬이 있는 CHAR 또는 VARCHAR가 있고 이러한 열이 비 ASCII 문자(예: 더블바이트 DBCS 문자)를 저장할 경우, CDC는 변경된 데이터를 기본 테이블의 데이터에 일관되게 유지하지 못할 수 있습니다.If a table has CHAR or VARCHAR columns with collations that are different from the database collation and if those columns store non-ASCII characters (such as double byte DBCS characters), CDC might not be able to persist the changed data consistent with the data in the base tables. 이것은 중간 저장소 변수가 연결된 데이터 정렬을 가질 수 없기 때문에 발생합니다.This is due to the fact that the interim storage variables cannot have collations associated with them.

기본 테이블과 변경 캡처 데이터 간의 일관성을 유지하기 위해 다음 방법 중 하나를 고려합니다.Please consider one of the following approaches to ensure change captured data is consistent with base tables:

  • 비 ASCII 데이터를 포함하는 열에 NCHAR 또는 NVARCHAR 데이터 형식을 사용합니다.Use NCHAR or NVARCHAR data type for columns containing non-ASCII data.

  • 또는 열 및 데이터베이스에 동일한 데이터 정렬을 사용합니다.Or, Use the same collation for columns and for the database.

예를 들어 SQL_Latin1_General_CP1_CI_AS 데이터 정렬을 사용하는 하나의 데이터베이스가 있다면 다음 테이블을 고려합니다.For example, if you have one database that uses a collation of SQL_Latin1_General_CP1_CI_AS, consider the following table:

CREATE TABLE T1(
     C1 INT PRIMARY KEY,
     C2 VARCHAR(10) collate Chinese_PRC_CI_AI)

데이터 정렬이 다르기 때문에(Chinese_PRC_CI_AI) CDC는 열 C2에 대한 이진 데이터를 캡처하지 못할 수 있습니다.CDC might fail to capture the binary data for column C2, because its collation is different (Chinese_PRC_CI_AI). 이 문제를 방지하기 위해 NVARCHAR를 사용합니다.Use NVARCHAR to avoid this problem:

CREATE TABLE T1(
     C1 INT PRIMARY KEY,
     C2 NVARCHAR(10) collate Chinese_PRC_CI_AI --Unicode data type, CDC works well with this data type)

신규 문서 또는 업데이트된 문서에 대한 유사 문서Similar articles about new or updated articles

이 섹션에는 공용 GitHub.com 리포지토리 내의 다른 주제 영역에서 최근에 업데이트된 문서와 유사한 문서가 나와 있습니다. MicrosoftDocs/sql-docsThis section lists very similar articles for recently updated articles in other subject areas, within our public GitHub.com repository: MicrosoftDocs/sql-docs.

새로 추가되었거나 최근에 업데이트된 문서가 있는 주제 영역Subject areas that do have new or recently updated articles

새로 추가되었거나 최근에 업데이트된 문서가 없는 주제 영역Subject areas that do not have any new or recently updated articles