SharePoint, PowerShell e um pouco de SQL

SharePoint, PowerShell e um pouco de SQL

2014-02-24 Off Por gambin

Olá Pessoal!!

Este post é baseado em um cenário muito interessante que aconteceu recentemente em um cliente, do qual o PowerShell caiu como uma luva ao precisar trabalhar com o SQL Server 😀

Neste cenário eu tinha acesso remoto apenas aos servidores de Application e Front-end do SharePoint, porém nenhum acesso servidor do SQL (embora os logins disponíveis tivessem todas as permissões necessárias na instância do SQL).

Para ajudar a situação a única máquina que estava utilizando não tinha o SQL Management Studio (nem permissões para instalação do mesmo localmente). Downloads, nem pensar. E os servidores remotos que tinha acesso também deveriam permanecer intactos, sem nenhum software adicional…

E agora, quem poderá nos ajudar??

#PowerShell

Ahhh meus amigos, o PowerShell anda salvando vidas ultimamente!!

Existe um jeito muito fácil de rodar sua query remotamente, usando o PowerShell com uma conta que possua as permissões necessárias na instância.

Se estamos falando de SharePoint, basta acessar seu SharePoint Management Shell com a conta de Administração do SharePoint – ela certamente deverá ter as roles DBCreator e SecurityAdmin + permissões necessárias nos bancos do SharePoint 🙂

E sem mais delongas, segue o script PowerShell abaixo:

$SQLServer = "SQLServer\Instancia"         ### SQL Server ou SQL Server \ Instancia
$SQLDBName = "MeuDB"                       ### Database
$SqlQuery = "Select * From MinhaTabela"    ### Query

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True"

$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection

$SqlConnection.Open()
$SqlCmd.ExecuteNonQuery()
$SqlConnection.Close()

Muito útil né não?

Este código foi baseado no seguinte modelo:

[Source] http://www.systemcentercentral.com/powershell-how-to-connect-to-a-remote-sql-database-and-retrieve-a-data-set/

Espero que tenham gostado e até o próximo post!

[]s