środa, 16 listopada 2016

[PL] PowerShell - skrypt do testowania łączności z SQL Server 2014 SP2 / [EN] PowerShell - script for test connection with SQL Server 2014 SP2

Wersja polska (Polish version, English version is below)

Poniżej zamieszczam skrypt w PowerShellu, który  - wywołany wielokrotnie z poziomu innego skryptu (patrz zdjęcie poniżej) - pozwala na przetestowanie wysokiej dostępności bazy danych na serwerze SQL Server 2014 SP2, np. po zastosowaniu AlwaysOn z opcją automatycznego trybu failover.

Skrypt wykonuje zapytanie SELECT * FROM [dbo].[TEST] na bazie danych M03 na serwerze o nazwie LAB01 na instancji nazwanej TEST01 używając uwierzytelniania na poziomie SQL Server a nie Windows authentication jako użytkownik user01 z hasłem NaszeHaslo11!.Na potrzeby działania skryptu należy utworzyć wcześniej tabelę testową, z której będziemy odczytywać dane.

$data = Get-Date

Write-Host "Run date of script: $data"

$dataSource = "LAB01\TEST01"
$user = "user01"
$pwd = "NaszeHaslo11!"
$database = "M03"

$Query = "select * from [dbo].[TEST]"

$QueryTimeout = 120
$ConnectionTimeout = 30

$conn=New-Object System.Data.SqlClient.SQLConnection

$connectionString = "Server=$dataSource;uid=$user;
pwd=$pwd;Database=$database;Integrated Security=False;"


$conn.ConnectionString=$ConnectionString
$conn.Open()
$cmd=New-Object system.Data.SqlClient.SqlCommand($Query,$conn)
$cmd.CommandTimeout=$QueryTimeout
$ds=New-Object system.Data.DataSet
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
[void]$da.fill($ds)
$conn.Close()
$ds.Tables

Przykład:


Skrypt utworzyłem na podstawie skryptu Iris Classon i skryptu znalezionego na StackOverflow.

English version


I place below script in PowerShell.

Presented script executes the query SELECT * FROM [dbo].[TEST] to  to SQL Server 2014 database named M03 on server: named LAB01 and instance named TEST01 using SQL Server authentication as user01 with password YourPassword!1. Before running the script, you should create a test table in the database from which will read the data.


$data = Get-Date

Write-Host "Run date of script: $data"

$dataSource = "LAB01\TEST01"
$user = "user01"
$pwd = "YourPassword!1"
$database = "M03"

$Query = "select * from [dbo].[TEST]"

$QueryTimeout = 120
$ConnectionTimeout = 30

$conn=New-Object System.Data.SqlClient.SQLConnection

$connectionString = "Server=$dataSource;uid=$user;
pwd=$pwd;Database=$database;Integrated Security=False;"


$conn.ConnectionString=$ConnectionString
$conn.Open()
$cmd=New-Object system.Data.SqlClient.SqlCommand($Query,$conn)
$cmd.CommandTimeout=$QueryTimeout
$ds=New-Object system.Data.DataSet
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
[void]$da.fill($ds)
$conn.Close()
$ds.Tables

If you run multiple times this script from another script (see below on the screen), you can test high availbility of your SQL Server 2014 SP2 databases (for example if you use AlwaysOn solution with automatic failover option).

Example:



The script is based on a script Iris Classon and script which I found on StackOverflow.

Brak komentarzy:

Prześlij komentarz