Merhaba arkadaşlar, geçen hafta sizlere Windows PowerShell ile uzaktan kontrol konusunu anlatmıştım. Bu hafta sizlere Windows PowerShell ile SQL Server 2012'yi anlatacağım. Aşağıdaki adresten SQL Server 2012 hakkında bilgi edinebilirsiniz.
http://www.microsoft.com/turkiye/basinodasi/2012/pr03023012.aspx
Daha önceki yazılarımı ve örneklerimi Windows PowerShell 2.0 hakkında yapmıştım. Bundan sonra anlatacağım konular ve örnekler PowerShell 3.0 üzerinde olacaktır. Bunun nedeni ise Windows PowerShell 3.0 ile gelen yenilikler ve SQL Server 2012'nin Windows PowerShell 3.0 ile daha kolay kontrol edilmesidir. Windows 8'de PowerShell 3.0, işletim sistemiyle birlikte sunulmaktadır. Windows 7 veya daha eski bir işletim sistemi kullanıyorsanız bilgisayarınıza Windows PowerShell 3.0'ı kurmanız gerekmektedir. Bunun için bilgisayarınızda Microsoft .NET Framework 4.0'ın yüklü olması gerekmektedir. Windows PowerShell 3.0'ı yüklemek için Windows Management Framework 3.0'ı (WMF) bilgisayarınıza kurmanız yeterli olacaktır.
Microsoft .NET Framework 4.0'ı indirmek için aşağıdaki adresi kullanabilirsiniz.
http://www.microsoft.com/en-in/download/details.aspx?id=17851
Windows Management Framework 3.0'ı indirmek için aşağıdaki adresi kullanabilirsiniz.
http://www.microsoft.com/en-in/download/details.aspx?id=34595
SQL Server 2012'yi aşağıdaki adresten indirebilirsiniz.
http://www.microsoft.com/betaexperience/pd/SQL2012EvalCTA/enus/default.aspx
SQL Server 2012 kurulumu detaylı anlatımı için aşağıdaki adresi kullanabilirsiniz.
http://www.teknolojioku.com/forum/Konu-SQL-Server-2012-Kurulumu-4719.html
PowerShell üzerinden yazacağımız komutlarla SQL Server'a bağlanabilir ve SQL Server üzerinde yaptığımız çoğu işlemleri PowerShell ekranından gerçekleştirebiliriz. SQL Server komutlarını yüklemek ve SQL Server'a bağlanmak için aşağıdaki komutu kullanıyoruz.
Import-Module SQLPS
Resimde de görüldüğü gibi Windows PowerShell ISE daha gelişmiş bir arayüze sahiptir. Yükleyeceğimiz modülleri sağ taraftaki arama çubuğundan arayarak bulabiliriz. Aynı zamanda komutların, parametrelerin ve diğer yazıların renkleri farklı olduğundan bunları birbirinden ayırt etmek çok daha kolay hale gelmiştir.
SQL Server'ı yönetirken kullanacağınız komutları listelemek için aşağıdaki komutu kullanabilirsiniz.
Get-Command -Module "*SQL*" | Select CommandType, Name, ModuleName | Format-Table -AutoSize
Output:
PS SQLSERVER:\> Get-Command -Module "*SQL*" | Select CommandType, Name, ModuleName | Format-Table -AutoSize
CommandType Name ModuleName
----------- ---- ----------
Function SQLSERVER: SQLPS
Cmdlet Add-RoleMember SQLASCMDLETS
Cmdlet Add-SqlAvailabilityDatabase SQLPS
Cmdlet Add-SqlAvailabilityGroupListenerStaticIp SQLPS
Cmdlet Backup-ASDatabase SQLASCMDLETS
Cmdlet Backup-SqlDatabase SQLPS
Cmdlet Convert-UrnToPath SQLPS
Cmdlet Decode-SqlName SQLPS
Cmdlet Disable-SqlAlwaysOn SQLPS
Cmdlet Enable-SqlAlwaysOn SQLPS
Cmdlet Encode-SqlName SQLPS
Cmdlet Invoke-ASCmd SQLASCMDLETS
Cmdlet Invoke-PolicyEvaluation SQLPS
Cmdlet Invoke-ProcessCube SQLASCMDLETS
Cmdlet Invoke-ProcessDimension SQLASCMDLETS
Cmdlet Invoke-ProcessPartition SQLASCMDLETS
Cmdlet Invoke-Sqlcmd SQLPS
Cmdlet Join-SqlAvailabilityGroup SQLPS
Cmdlet Merge-Partition SQLASCMDLETS
Cmdlet New-RestoreFolder SQLASCMDLETS
Cmdlet New-RestoreLocation SQLASCMDLETS
Cmdlet New-SqlAvailabilityGroup SQLPS
Cmdlet New-SqlAvailabilityGroupListener SQLPS
Cmdlet New-SqlAvailabilityReplica SQLPS
Cmdlet New-SqlHADREndpoint SQLPS
Cmdlet Remove-RoleMember SQLASCMDLETS
Cmdlet Remove-SqlAvailabilityDatabase SQLPS
Cmdlet Remove-SqlAvailabilityGroup SQLPS
Cmdlet Remove-SqlAvailabilityReplica SQLPS
Cmdlet Restore-ASDatabase SQLASCMDLETS
Cmdlet Restore-SqlDatabase SQLPS
Cmdlet Resume-SqlAvailabilityDatabase SQLPS
Cmdlet Set-SqlAvailabilityGroup SQLPS
Cmdlet Set-SqlAvailabilityGroupListener SQLPS
Cmdlet Set-SqlAvailabilityReplica SQLPS
Cmdlet Set-SqlHADREndpoint SQLPS
Cmdlet Suspend-SqlAvailabilityDatabase SQLPS
Cmdlet Switch-SqlAvailabilityGroup SQLPS
Cmdlet Test-SqlAvailabilityGroup SQLPS
Cmdlet Test-SqlAvailabilityReplica SQLPS
Cmdlet Test-SqlDatabaseReplicaState SQLPS
Windows PowerShell ile SQL Server'da "Instance" Oluşturmak
"Windows authentication" kullanarak bir "instance" oluşturmayı adım adım göstermek istiyorum.
- İlk olarak SQL komutlarını "import" ediyoruz.
- Daha sonra "instance" ismini bir değişkene atıyoruz.
- SQL Server "instance"'ı aşağıdaki komutla kuruyoruz.
- "Login" esnasındaki isim ve şifre sorunlarından kurtulmak için bazı ayarlar yapıyoruz. Bilgisayar adı ve alan adı (domain) arasındaki "\\" (backslash") işaretinden kurtuluyoruz.
- Yapacağımız bağlantıda şifre olmasını istemiyorsak bunun da ayarını yapıyoruz.
- Son olarak "connection string"'i kontrol ediyoruz.
Import-Module SQLPS -DisableNameChecking
$instanceName = "Vahit"
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $instanceName
$server.ConnectionContext.set_LoginSecure($false)
$credentials = Get-Credential
$login = $credentials.UserName -replace("\\","")
$server.ConnectionContext.set_Login($login)
$server.ConnectionContext.set_SecurePassword($credentials.Password)
$server.ConnectionContext.ConnectionString
Output:
server='Vahit';uid='Vahit';password='';Application Name='SQL Management';
multipleactiveresultsets=false
Write-Verbose "Connected to $($server.Name)"
Write-Verbose "Logged in as $($server.ConnectionContext.TrueLogin)"
Bu haftalık kurulumlar ve bir kaç örnek üzerinde durdum. Haftaya ayrıntılı olarak Windows PowerShell ile SQL Server kullanımını anlatacağım.
Haftaya görüşmek üzere, hoşçakalın.
Referanslar:
Kitap: "SQL Server 2012 with PowerShell V3 Cookbook"
http://www.microsoft.com/turkiye/basinodasi/2012/pr03023012.aspx
http://www.microsoft.com/betaexperience/pd/SQL2012EvalCTA/enus/default.aspx
http://www.microsoft.com/en-in/download/details.aspx?id=17851
http://www.microsoft.com/en-in/download/details.aspx?id=34595
http://www.teknolojioku.com/forum/Konu-SQL-Server-2012-Kurulumu-4719.html
Hiç yorum yok:
Yorum Gönder