<?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>Thiago Zavaschi R2 &#187; Office 2007</title>
	<atom:link href="http://zavaschi.com/index.php/tag/office-2007/feed/" rel="self" type="application/rss+xml" />
	<link>http://zavaschi.com</link>
	<description>www.zavaschi.com</description>
	<lastBuildDate>Sun, 11 Jul 2010 00:06:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Prevendo o crescimento da suas databases com o SQL Server Data Mining Add-ins for Microsoft Office 2007 &#8211; Parte I</title>
		<link>http://zavaschi.com/index.php/2010/01/prevendo-o-crescimento-da-suas-databases-com-o-sql-server-data-mining-add-ins-for-microsoft-office-2007-parte-i/</link>
		<comments>http://zavaschi.com/index.php/2010/01/prevendo-o-crescimento-da-suas-databases-com-o-sql-server-data-mining-add-ins-for-microsoft-office-2007-parte-i/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 14:19:17 +0000</pubDate>
		<dc:creator>Thiago Zavaschi</dc:creator>
				<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Office 2007]]></category>

		<guid isPermaLink="false">http://zavaschi.com/index.php/2010/01/prevendo-o-crescimento-da-suas-databases-com-o-sql-server-data-mining-add-ins-for-microsoft-office-2007-parte-i/</guid>
		<description><![CDATA[Olá pessoal,
O artigo de hoje é a base de um dos itens/indicadores utilizados nas suas análises de health check dos servidores SQL Server: Verificar o crescimento dos seus arquivos de base de dados e log.
Antes de mais nada vamos revisar um ponto importante quanto ao crescimento das databases:
É muito comum encontrar em servidores configurações como: [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Olá pessoal,</p>
<p align="justify">O artigo de hoje é a base de um dos itens/indicadores utilizados nas suas análises de health check dos servidores SQL Server: Verificar o crescimento dos seus arquivos de base de dados e log.</p>
<p align="justify">Antes de mais nada vamos revisar um ponto importante quanto ao crescimento das databases:</p>
<p align="justify">É muito comum encontrar em servidores configurações como: crescimento proporcional 10% para a base e para o arquivo de log e com irrestrito por exemplo. A imagem a seguir mostra onde visualizar estas informações.</p>
<p><a href="http://zavaschi.com/wp-content/uploads/2010/01/img1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="img1" border="0" alt="img1" src="http://zavaschi.com/wp-content/uploads/2010/01/img1_thumb.png" width="477" height="144" /></a> </p>
<p align="justify"><em>Em que isso impacta?</em> Valores pequenos de taxas de crescimento para bases que crescem muito é extremamente prejudicial, pois teremos <em>altas taxas (overhead) de I/O</em> para o crescimento dos arquivos. Por outro lado, valores muito grandes podem gerar um uso descontrolado dos seus discos.</p>
<p align="justify">Em um mundo/cenário ideal os crescimentos das databases são monitorados e o aumento físico dos mesmos são planejados e executados de maneira manual. Claro que pela comodidade, é difícil DBAs optarem por esta abordagem.</p>
<p align="justify">Mas e como monitorar, ou melhor, prever o crescimento, já que muitos DBAs deixam essas configurações automáticas? Uma das maneiras que eu acho muito elegante é através da utilização do Add-in para o Office 2007, mais especificamente a opção <em>Forecast</em>.</p>
<p align="justify">O conteúdo deste post pode ser adaptado para fazer outras previsões através do Office!</p>
<p><strong>O que preciso para começar?</strong>&#160;</p>
<p><em>“Então Thiago, o que eu preciso para iniciar?”</em></p>
<p>Será necessário basicamente:</p>
<p><strong>Microsoft Office Excel 2007; </strong><em>(a princípio não funciona no Office 2010 beta, mas estou verificando se há algum meio).</em></p>
<p>E um dos pares abaixo:</p>
<p><strong>SQL Server Analysis Service 2008;      <br />Data Mining Add-Ins for Office 2007 (SQL 2008);       <br /></strong><a title="http://www.microsoft.com/downloads/details.aspx?familyid=AF070F2C-46F4-47B6-B7BF-48979B999AEB&amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=AF070F2C-46F4-47B6-B7BF-48979B999AEB&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?familyid=AF070F2C-46F4-47B6-B7BF-48979B999AEB&amp;displaylang=en</a></p>
<p>OU</p>
<p><strong>SQL Server Analysis Service 2005;      <br />Data Mining Add-Ins for Office 2007 (SQL 2005);       <br /></strong><a title="http://www.microsoft.com/downloads/details.aspx?familyid=7C76E8DF-8674-4C3B-A99B-55B17F3C4C51&amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=7C76E8DF-8674-4C3B-A99B-55B17F3C4C51&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?familyid=7C76E8DF-8674-4C3B-A99B-55B17F3C4C51&amp;displaylang=en</a></p>
<p><em>Mãos a obra!</em></p>
<p><strong>Coletando os dados de tamanho das databases</strong></p>
<p align="justify">O primeiro passo é definir um mecanismo para a coleta dos dados.</p>
<p align="justify">Para isso vamos criar uma tabela que armazenará os dados relativos ao tamanho dos arquivos. Essa tabela poderá ter variações para outros fins, mas manterei ela com um certo grau de simplicidade.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:a858288f-d639-40f8-8344-359173516c0b" class="wlWriterSmartContent">
<pre style="background-color: whitesmoke; overflow: auto"><span style="color: #0000ff">CREATE</span><span style="color: #000000"> </span><span style="color: #0000ff">TABLE</span><span style="color: #000000"> TamanhoBaseHistorico
(
    id </span><span style="color: #0000ff">INT</span><span style="color: #000000"> </span><span style="color: #0000ff">PRIMARY</span><span style="color: #000000"> </span><span style="color: #0000ff">KEY</span><span style="color: #000000"> </span><span style="color: #ff00ff">IDENTITY</span><span style="color: #000000">,
    nome </span><span style="color: #0000ff">varchar</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">128</span><span style="color: #000000">) </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000">, </span><span style="color: #008080">--</span><span style="color: #008080"> nome da base</span><span style="color: #008080">
</span><span style="color: #000000">    nome_fisico </span><span style="color: #0000ff">VARCHAR</span><span style="color: #000000">(</span><span style="color: #800000; font-weight: bold">2000</span><span style="color: #000000">) </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000">, </span><span style="color: #008080">--</span><span style="color: #008080"> nome físico do arquivo, com diretório</span><span style="color: #008080">
</span><span style="color: #000000">    tamanho </span><span style="color: #0000ff">INT</span><span style="color: #000000"> </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000">, </span><span style="color: #008080">--</span><span style="color: #008080"> tamanho do arquivo em Kb</span><span style="color: #008080">
</span><span style="color: #000000">    dblog </span><span style="color: #0000ff">BIT</span><span style="color: #000000"> </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000">, </span><span style="color: #008080">--</span><span style="color: #008080"> se o arquivo é de log</span><span style="color: #008080">
</span><span style="color: #000000">    data </span><span style="color: #0000ff">DATETIME</span><span style="color: #000000"> </span><span style="color: #808080">NOT</span><span style="color: #000000"> </span><span style="color: #0000ff">NULL</span><span style="color: #000000"> </span><span style="color: #008080">--</span><span style="color: #008080"> data da medição</span><span style="color: #008080">
</span><span style="color: #000000">)
</span><span style="color: #0000ff">GO</span></pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
<p align="justify">De tempos em tempos algum mecanismo deverá coletar os dados necessários e inserí-los nesta tabela.</p>
<p align="justify">Entre outras formas (como por exemplo o powershell), podemos fazer uso da system stored procedure chamada <em>sp_msforeachdb </em>e associar a execução da mesma a um job do banco de dados.</p>
<p align="justify">Essa stored procedure executa um comando para cada database, substituindo a “tag” <em>[?]</em> pelo nome da base. As informações virão da system view chamada <em>sys.database_files</em>.</p>
<p align="justify">O comando que será agendado como um job no SQL Server Agent será, para o nosso caso, o seguinte:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:422841b8-10e4-4a45-b1bd-5e59affab4cb" class="wlWriterSmartContent">
<pre style="background-color: whitesmoke; overflow: auto"><span style="color: #0000ff">EXECUTE</span><span style="color: #000000"> sp_msforeachdb
        </span><span style="color: #ff0000">'</span><span style="color: #ff0000">INSERT INTO TamanhoBaseHistorico
        SELECT name, physical_name, size, type, GETDATE()
        FROM [?].sys.database_files</span><span style="color: #ff0000">'</span></pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
<p>&#160;</p>
<p>Não vou entrar nos méritos da criação de jobs no Agent, mas vamos assumir que estes dados sejam carregados todos os meses, uma vez por mês.</p>
<p><em>Na próxima parte veremos o processo de instalação do add-in e a utilização do mesmo!</em></p>
<p>Abraços,<br />
  <br />Thiago Zavaschi</p>
]]></content:encoded>
			<wfw:commentRss>http://zavaschi.com/index.php/2010/01/prevendo-o-crescimento-da-suas-databases-com-o-sql-server-data-mining-add-ins-for-microsoft-office-2007-parte-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
