<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TDE &#8211; Furushima</title>
	<atom:link href="https://furushima.com.br/blog/tag/tde/feed/" rel="self" type="application/rss+xml" />
	<link>https://furushima.com.br</link>
	<description>- Consultoria de Banco de Dados &#124; Furushima</description>
	<lastBuildDate>Tue, 18 Feb 2025 11:36:48 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://furushima.com.br/wp-content/uploads/2024/02/cropped-favicon-32x32.png</url>
	<title>TDE &#8211; Furushima</title>
	<link>https://furushima.com.br</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Habilitando criptografia para um database MSSQL (TDE)</title>
		<link>https://furushima.com.br/blog/habilitando-criptografia-para-um-database-mssql-tde/</link>
		
		<dc:creator><![CDATA[Matsuo]]></dc:creator>
		<pubDate>Tue, 02 Apr 2024 18:31:36 +0000</pubDate>
				<category><![CDATA[Banco De Dados]]></category>
		<category><![CDATA[lgpd]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[TDE]]></category>
		<guid isPermaLink="false">https://dev.furushima.com.br/?p=2162</guid>

					<description><![CDATA[Recentemente tivemos uma demanda por conta de LGPD, onde tivemos que habilitar criptografia na camada do Database em uma instancia MSSQL, utilizaremos de início TDE (Transparent database Encryption) como o nome já diz, será transparente para a nossa aplicação. È possível ver que a base está com Encryption Enabled = False. Primeiro iremos criar a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Recentemente tivemos uma demanda por conta de LGPD, onde tivemos que habilitar criptografia na camada do Database em uma instancia MSSQL, utilizaremos de início TDE (Transparent database Encryption) como o nome já diz, será transparente para a nossa aplicação.</p>



<p>È possível ver que a base está com Encryption Enabled = False.</p>



<figure class="wp-block-image size-full"><img alt="" fetchpriority="high" decoding="async" width="592" height="156" src="https://dev.furushima.com.br/wp-content/uploads/2024/04/image.png" alt="" class="wp-image-2163" srcset="https://furushima.com.br/wp-content/uploads/2024/04/image.png 592w, https://furushima.com.br/wp-content/uploads/2024/04/image-300x79.png 300w" sizes="(max-width: 592px) 100vw, 592px" /></figure>



<p>Primeiro iremos criar a Master Key, esta chave terá um password, é muito importante salvá-lo.</p>



<figure class="wp-block-image size-full"><img alt="" decoding="async" width="588" height="227" src="https://dev.furushima.com.br/wp-content/uploads/2024/04/image-1.png" alt="" class="wp-image-2164" srcset="https://furushima.com.br/wp-content/uploads/2024/04/image-1.png 588w, https://furushima.com.br/wp-content/uploads/2024/04/image-1-300x116.png 300w" sizes="(max-width: 588px) 100vw, 588px" /></figure>



<p>E então criaremos o certificado que a Master Key irá utilizar.</p>



<figure class="wp-block-image size-full"><img alt="" decoding="async" width="609" height="178" src="https://dev.furushima.com.br/wp-content/uploads/2024/04/image-2.png" alt="" class="wp-image-2165" srcset="https://furushima.com.br/wp-content/uploads/2024/04/image-2.png 609w, https://furushima.com.br/wp-content/uploads/2024/04/image-2-300x88.png 300w" sizes="(max-width: 609px) 100vw, 609px" /></figure>



<p></p>



<p>Validando a criação do certificado através da query.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="SELECT name, pvt_key_encryption_type_desc, thumbprint FROM sys.certificates;" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #79B8FF">SELECT</span><span style="color: #E1E4E8"> name, pvt_key_encryption_type_desc, thumbprint </span><span style="color: #79B8FF">FROM</span><span style="color: #E1E4E8"> sys.certificates;</span></span></code></pre></div>



<figure class="wp-block-image size-full"><img alt="" loading="lazy" decoding="async" width="709" height="223" src="https://dev.furushima.com.br/wp-content/uploads/2024/04/image-3.png" alt="" class="wp-image-2166" srcset="https://furushima.com.br/wp-content/uploads/2024/04/image-3.png 709w, https://furushima.com.br/wp-content/uploads/2024/04/image-3-300x94.png 300w" sizes="(max-width: 709px) 100vw, 709px" /></figure>



<p>Agora deveremos conectar no database que iremos criptografar e criar a encryption key dentro deste database utilizando o certificado que criamos em nossa master.</p>



<p>Estamos utilizando o Algoritmo AES_256</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="USE <DATABASE&gt;;

CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256

ENCRYPTION BY SERVER CERTIFICATE TDE_CERT_GM;" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #79B8FF">USE</span><span style="color: #E1E4E8"> </span><span style="color: #F97583">&lt;</span><span style="color: #79B8FF">DATABASE</span><span style="color: #F97583">&gt;</span><span style="color: #E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #79B8FF">CREATE</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">DATABASE</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">ENCRYPTION</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">KEY</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">WITH</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">ALGORITHM</span><span style="color: #E1E4E8"> </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">AES_256</span></span>
<span class="line"></span>
<span class="line"><span style="color: #79B8FF">ENCRYPTION</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">BY</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">SERVER</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">CERTIFICATE</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">TDE_CERT_GM</span><span style="color: #E1E4E8">;</span></span></code></pre></div>



<p></p>



<figure class="wp-block-image size-full"><img alt="" loading="lazy" decoding="async" width="716" height="308" src="https://dev.furushima.com.br/wp-content/uploads/2024/04/image-5.png" alt="" class="wp-image-2168" srcset="https://furushima.com.br/wp-content/uploads/2024/04/image-5.png 716w, https://furushima.com.br/wp-content/uploads/2024/04/image-5-300x129.png 300w" sizes="(max-width: 716px) 100vw, 716px" /></figure>



<p>Podemos ver que recebemos um Aviso ao executar o comando, e está dizendo que devemos fazer um backup imediatamente deste certificado e sua chave privada, senão em caso de algum restore, não poderemos abrir mais este database sem estes itens!</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="Warning: The certificate used for encrypting the database encryption key has not been backed up. You should immediately back up the certificate and the private key associated with the certificate. If the certificate ever becomes unavailable or if you must restore or attach the database on another server, you must have backups of both the certificate and the private key or you will not be able to open the database." style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #B392F0">Warning</span><span style="color: #E1E4E8">: The certificate used for encrypting the database encryption key has not been backed up. You should immediately back up the certificate and the private key associated </span><span style="color: #F97583">with</span><span style="color: #E1E4E8"> the certificate. If the certificate ever becomes unavailable or </span><span style="color: #F97583">if</span><span style="color: #E1E4E8"> you must restore or attach the database on another server, you must have backups </span><span style="color: #F97583">of</span><span style="color: #E1E4E8"> both the certificate and the private key or you will not be able to open the database.</span></span></code></pre></div>



<p>Vamos agora vamos habilitar a criptografia em nosso database.</p>



<figure class="wp-block-image size-full"><img alt="" loading="lazy" decoding="async" width="709" height="182" src="https://dev.furushima.com.br/wp-content/uploads/2024/04/image-6.png" alt="" class="wp-image-2169" srcset="https://furushima.com.br/wp-content/uploads/2024/04/image-6.png 709w, https://furushima.com.br/wp-content/uploads/2024/04/image-6-300x77.png 300w" sizes="(max-width: 709px) 100vw, 709px" /></figure>



<p></p>



<p>Esta etapa pode demorar um pouco, dependendo do tamanho do seu database, e pode ser avaliado o progresso através da query abaixo.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="DECLARE @state tinyint;<br&gt;DECLARE @encyrption_progress<br&gt;TABLE(sample_time DATETIME, percent_complete DECIMAL(5,2))" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #79B8FF">DECLARE</span><span style="color: #E1E4E8"> @state tinyint;</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">DECLARE</span><span style="color: #E1E4E8"> @encyrption_progress</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #B392F0">TABLE</span><span style="color: #E1E4E8">(sample_time </span><span style="color: #79B8FF">DATETIME</span><span style="color: #E1E4E8">, percent_complete </span><span style="color: #B392F0">DECIMAL</span><span style="color: #E1E4E8">(</span><span style="color: #79B8FF">5</span><span style="color: #E1E4E8">,</span><span style="color: #79B8FF">2</span><span style="color: #E1E4E8">))</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="SELECT @state = k.encryption_state<br&gt;FROM sys.dm_database_encryption_keys k<br&gt;INNER JOIN sys.databases d<br&gt;ON k.database_id = d.database_id<br&gt;WHERE d.name = ‘TestTDE’;" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #79B8FF">SELECT</span><span style="color: #E1E4E8"> @state </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> k.encryption_state</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">FROM</span><span style="color: #E1E4E8"> sys.dm_database_encryption_keys k</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">INNER</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">JOIN</span><span style="color: #E1E4E8"> sys.databases d</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">ON</span><span style="color: #E1E4E8"> k.database_id </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> d.database_id</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">WHERE</span><span style="color: #E1E4E8"> d.name </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> ‘TestTDE’;</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="WHILE @state != 3<br&gt;BEGIN<br&gt;INSERT INTO @encyrption_progress(sample_time, percent_complete)<br&gt;SELECT GETDATE(), percent_complete<br&gt;FROM sys.dm_database_encryption_keys k<br&gt;INNER JOIN sys.databases d<br&gt;ON k.database_id = d.database_id<br&gt;WHERE d.name = ‘TestTDE’;" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #79B8FF">WHILE</span><span style="color: #E1E4E8"> @state </span><span style="color: #F97583">!=</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">3</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">BEGIN</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">INSERT</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">INTO</span><span style="color: #E1E4E8"> @</span><span style="color: #B392F0">encyrption_progress</span><span style="color: #E1E4E8">(sample_time, percent_complete)</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">SELECT</span><span style="color: #E1E4E8"> </span><span style="color: #B392F0">GETDATE</span><span style="color: #E1E4E8">(), percent_complete</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">FROM</span><span style="color: #E1E4E8"> sys.dm_database_encryption_keys k</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">INNER</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">JOIN</span><span style="color: #E1E4E8"> sys.databases d</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">ON</span><span style="color: #E1E4E8"> k.database_id </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> d.database_id</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">WHERE</span><span style="color: #E1E4E8"> d.name </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> ‘TestTDE’;</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="WAITFOR delay ’00:00:01′;SELECT @state = k.encryption_state&lt;br&gt;FROM sys.dm_database_encryption_keys k&lt;br&gt;INNER JOIN sys.databases d&lt;br&gt;ON k.database_id = d.database_id&lt;br&gt;WHERE d.name = ‘TestTDE’;&lt;br&gt;END" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #79B8FF">WAITFOR</span><span style="color: #E1E4E8"> delay ’</span><span style="color: #79B8FF">00</span><span style="color: #E1E4E8">:</span><span style="color: #79B8FF">00</span><span style="color: #E1E4E8">:</span><span style="color: #79B8FF">01</span><span style="color: #E1E4E8">′;</span><span style="color: #79B8FF">SELECT</span><span style="color: #E1E4E8"> @state </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> k.encryption_state</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">FROM</span><span style="color: #E1E4E8"> sys.dm_database_encryption_keys k</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">INNER</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">JOIN</span><span style="color: #E1E4E8"> sys.databases d</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">ON</span><span style="color: #E1E4E8"> k.database_id </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> d.database_id</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">WHERE</span><span style="color: #E1E4E8"> d.name </span><span style="color: #F97583">=</span><span style="color: #E1E4E8"> ‘TestTDE’;</span><span style="color: #F97583">&lt;</span><span style="color: #E1E4E8">br</span><span style="color: #F97583">&gt;</span><span style="color: #79B8FF">END</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="SELECT * FROM @encyrption_progress;" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #79B8FF">SELECT</span><span style="color: #E1E4E8"> </span><span style="color: #F97583">*</span><span style="color: #E1E4E8"> </span><span style="color: #79B8FF">FROM</span><span style="color: #E1E4E8"> @encyrption_progress;</span></span></code></pre></div>



<p></p>



<p>E então nosso database está criptografado!</p>



<figure class="wp-block-image size-full"><img alt="" loading="lazy" decoding="async" width="915" height="181" src="https://dev.furushima.com.br/wp-content/uploads/2024/04/image-7.png" alt="" class="wp-image-2170" srcset="https://furushima.com.br/wp-content/uploads/2024/04/image-7.png 915w, https://furushima.com.br/wp-content/uploads/2024/04/image-7-300x59.png 300w, https://furushima.com.br/wp-content/uploads/2024/04/image-7-768x152.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></figure>



<p>Mas antes de finalizarmos, lembra do nosso Warning?</p>



<p>Precisamos Fazer um backup de nosso certificado e master Key! Não deixe isso para depois, pode ser um problemão!</p>



<p>Todos estes itens estão vinculados ao database Master, então devemos dar um use neste database, você deverá utilizar a mesma senha que fez para criação da Master Key.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>use master;</p>



<p>— Servico MK<br>BACKUP SERVICE MASTER KEY<br>TO FILE = ‘G:\TDE\svcMASTERKEY.bak’<br>ENCRYPTION BY PASSWORD = ‘XPTO’;</p>



<p>— MK<br>BACKUP MASTER KEY<br>TO FILE = ‘G:\TDE\MASTERKEY.key’<br>ENCRYPTION BY PASSWORD = ‘XPTO’;</p>



<p>— CERTIFICATE<br>BACKUP CERTIFICATE TDE_CERT_GM<br>TO FILE = ‘G:\TDE\TDE_CERT_GM.cert’<br>WITH PRIVATE KEY(<br>FILE = ‘G:\ TDE\TDE_CERT_GM.prvk’,<br>ENCRYPTION BY PASSWORD = ‘XPTO’<br>);</p>
</blockquote>



<figure class="wp-block-image size-full"><img alt="" loading="lazy" decoding="async" width="801" height="378" src="https://dev.furushima.com.br/wp-content/uploads/2024/04/image-8.png" alt="" class="wp-image-2171" srcset="https://furushima.com.br/wp-content/uploads/2024/04/image-8.png 801w, https://furushima.com.br/wp-content/uploads/2024/04/image-8-300x142.png 300w, https://furushima.com.br/wp-content/uploads/2024/04/image-8-768x362.png 768w" sizes="(max-width: 801px) 100vw, 801px" /></figure>



<p>E então finalizamos nossa implementação de TDE , para outros databases , você deverá apenas repetir o procedimento depois da criação do certificado.</p>



<p>Lembre-se de armazenar esses backups sempre em lugares seguro e suas respectivas senhas.</p>



<p>Até a Próxima!</p>



<p></p>



<p><strong><em>Criado por: Matsuo Furushima</em></strong></p>



<p></p>



<p></p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
