Executando varios scripts (.sql) com Powershell


 

Pois é…2 e meia da manhã, eu sem sono após ler um artigo SHOW de bola sobre particionamento de tabelas, indices, cubos(quer quiser ver é http://www.microsoft.com/brasil/technet/Colunas/prodtechnol/sql/2005/realpart.mspx  meu proóximo desafio..1 TB pra organizar…bem legal o projeto) e resolvi compartilhar um script que enviei prum forum (www.sqlservercentral.com) .

Um cara precisava executar varios .sql , que estavam em diretorio, num determinado banco  w servidor.

Existem algumas maneiras de isto ser feito, estarei mostrando em powershell

Este script usa o cmdlet invoke-sqlcmd e está nos snapins do sql server, ou seja, se vc for usar o mini shell do SQL 2008 não há a necessidade de carregá-los. Se for usar o shell normal precisa carregar.

Usando o shell normal, carregamos os snapins

add-pssnapin SqlServerProviderSnapin100
add-pssnapin SqlServerCmdletSnapin100

Segue o script

$ServerName = "Server1"
$DatabaseName = "Testes"
foreach ($path in Get-item "c:\projetos\teste\*.sql")
{
Invoke-Sqlcmd -ServerInstance $ServerName -Database $DatabaseName -InputFile $path
}

Este script anda no diretorio "c:\projetos\teste\, procura por tudo que é .sql e executa no servidor server1, database testes.

Ta aí…Podemos transformar numa função e passar o(s) database(s) que queremos, etc..etc…muita coisa da pra ser feita.

 

I´ll be back !!!!

About Laerte Junior

Laerte Junior Laerte Junior is a SQL Server specialist and an active member of WW SQL Server and the Windows PowerShell community. He also is a huge Star Wars fan (yes, he has the Darth Vader´s Helmet with the voice changer). He has a passion for DC comics and living the simple life. "May The Force be with all of us"
This entry was posted in Powershell. Bookmark the permalink.

5 Responses to Executando varios scripts (.sql) com Powershell

  1. claudio alberto moreira de oliveira says:

    Eu consigo nesse script fazer com que o power shell, execute um script por vez ? e em seguencia ?

  2. Beretta, Ricardo says:

    Este arquivo foi de grande utilidade

  3. Sidney Kohl says:

    Very nice post. I just stumbled upon your weblog and wished to say that I’ve truly enjoyed surfing around your blog posts. After all I’ll be subscribing to your rss
    feed and I hope you write again soon!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s