SWAP memory on WIN servers

Obično je kod WIN servera u pitanju fajl : C:\pagefile.sys
Najbolja praksa što se SWAP-a kod WIN servera tiče (link) :
a) Make your page file a fixed size and make your page file size roughly between 1,5 and 2,5 times larger than the amount of physical RAM.
b) Place your page file on a separate partition (or volume) to prevent page file defragmentation.
Posle promene SWAP-a (veličina i/ili lokacija) mora se uraditi reset.

Može se videti na više načina :

1. RD na server (link)



2. RD na server, i u “Run” opciju ukucati msinfo32.
Interesuje nas podatak pod “Page File Space”.
3. RD na server, pa iz komandne linije (interesuje nas prva stavka, i ona je data u (MB)) :
C:\PSTools>wmic.exe pagefile list /format:list
AllocatedBaseSize=8142
CurrentUsage=3472
Description=C:\pagefile.sys
InstallDate=20160210201940.176811+060
Name=C:\pagefile.sys
PeakUsage=4479
Status=
TempPageFile=FALSE

Posted in Windows | Tagged , | Leave a comment

Data Collector Set (WIN 2008 R2 EE)

Nije problem napraviti DCS, ili kasnije očitati grafik (link).
ALI ja bih da vidim podatke i u tabelarnom obliku!

1. Podaci se ne mogu se videti u tabelarnom obliku dok je DCS aktivan (čak ni nad delom podataka koji mogu videti kao grafik, tj za taj vremenski period se podaci više ne skupljaju)

2. Nema alata koji to radi, nego se koristi komanda iz CLI (link) :
a) Otići u folder gde se izveštaj nalazi
C:\Users\veldaebel>cd C:\PerfLogs\Admin\Samo CPU\TSSDEV1_20180813-000001
b) Prebaciti fajl u CSV (comma separated values) format :
C:\PerfLogs\Admin\Samo CPU\TSSDEV1_20180813-000001>relog DataCollector01.blg -f csv -o test.csv
Input
—————-
File(s):
DataCollector01.blg (Binary)
Begin: 8/13/2018 9:30:36
End: 8/15/2018 9:08:06
Samples: 11616
100.00%
Output
—————-
File: test.csv
Begin: 8/13/2018 9:30:36
End: 8/15/2018 9:08:06
Samples: 11616
The command completed successfully.
c) Ovaj fajl se onda lako uvlači u Excel.

Posted in Windows | Tagged , | Leave a comment

SQL DB (2014) Backup

Vrste backup-a SQL baze (I) :
* Običan backup (link)
* Copy-only backup – backup that is independent of the sequence of conventional SQL Server backups. Usually, taking a backup changes the database and affects how later backups are restored. However, occasionally, it is useful to take a backup for a special purpose without affecting the overall backup and restore procedures for the database. Copy-only backups serve this purpose (link).

Vrste backup-a SQL baze (II) :
* Full backup – FULL backup UVEK ima ekstenziju .bak
* Differential backup

Šta sve može da se backup-uje :
* DataBase
* (Transakcioni) Log – UVEK ima ekstenziju .trn

Kako može da se uradi backup SQL DB :
* PowerShell
* MS SQL SMS (najjednostavnije) : jednokratno ili kao job (scheduled backup)
Jednokratni backup odabrane baze :

Tu se onda definiše kakav backup hoćemo (full ili differential/DB ili log), gde backup treba da se smesti (lokacija, tj lokalna mašina (onda obavezno kreirati potrebne foldere), URL u mreži, itd), da li će se backup kompresovati ili ne (trebalo bi da se kompresuje). Takođe bi bilo dobro da se jednom urađeni backup verifikuje :

Ako se pravi backup koji treba redovno da se obavlja, on se definiše kao job :

Ili se definiše kroz “Maintenance Plan” (što ja ne radim).

Dobar link koji definiše razne vrste backup-a i daje neke preporuke vezane za iste.

Posted in Windows | Tagged , , | Leave a comment

PowerShell i loop kroz spisak servera

Dobri linkovi : link1, link2

I evo PS skriptića koji vrti petlju sa dva člana :
param(
[string]$pauza = “———-”
)

$spisakservera = @(“mojserver1.mojdomen”,”mojserver2.mojdomen”)

for ($i=0; $i -lt 2; $i++) {
$pauza
$spisakservera[$i]
$pauza
Invoke-SQLCmd -query “select name, size*8/1024 AS KB from sys.master_files where name != ‘master’ AND name != ‘mastlog’ AND name != ‘tempdev’ AND name != ‘templog’ AND name != ‘modeldev’ AND name != ‘modellog’ AND name != ‘MSDBData’ AND name != ‘MSDBLog’;” -ServerInstance $spisakservera[$i]
}

Paziti samo, neke verzije SQL servera NEMAJU sys.master_files, ili u njemu nemaju imena svih svojih baza.
SQL 2012 koristiti sys.master_files
SQL 2008 koristiti sys.databases (tu istina nema podataka o veličinama baza, samo o imenima)
SQL 2008+2000 koristiti sysdatabases

Posted in Windows | Tagged , , | Leave a comment

Definicija parametara za PowerShell

[int]$variable # 32-bit integer mit Vorzeichen
[long]$variable # 64-bit integer mit Vorzeichen
[string]$variable # string mit unicode characters
[char]$variable # A unicode 16-bit character
[byte]$variable # 8-bit Zahl
[bool]$variable # Boolean True/False
[decimal]$variable # 128-bit Dezimalzahl
[single]$variable # Single-precision 32-bit Fließkommazahl
[double]$variable # Double-precision 64-bit Fließkommazahl
[xml]$variable # Xml object
[array]$variable # Array
[hashtable]$variable # Hashtabelle

# Denkbar sind aber auch Arrays
[String[]]$Userliste

Dobar link.

Posted in Windows | Tagged , , , | Leave a comment

PowerShell skripta za podatke o MS SQL serveru i bazi

U celu situaciju su umešani i SQL Server Management Objects (SMO) koji se mogu koristiti i iz PowerShell-a.

Koristim komandu invoke-sqlcmd kojom iz PS-a prizivam SQL komande (link).

0. Sve radim iz PowerShell-a u koji sam logovana sa nalogom domenskog administratora (tako da imam manje-više sva prava)
1. Odrediti verziju PowerShell-a sa kojom se radi na lokalnoj mašini :
PS D:\Skriptici> $PSVersionTable.PSVersion
Major Minor Build Revision
—– —– —– ——–
5 0 10586 117
2. Može se koristiti PowerShell iz MS SQL SMS-a
3. Ako je instaliran MS SQL SMS automattski imate i SMO modul za korišćenje pod običnim PS-om
4. Kako videti verziju MS SQL servera na udaljenom serveru (koji je u domenu) :
PS D:\Skriptici> invoke-sqlcmd -query “select @@version” -serverinstance “testniserver.moj.domen”
Column1
——-
Microsoft SQL Server 2014 (SP1-GDR) (KB4019091) – 12.0.4237.0 (X64) …
5. Videti imena baza na udaljenom serveru (dobar link)
PS D:\Skriptici> invoke-sqlcmd -serverinstance “mojserver.mojdomen” -query “select name from sys.databases”
name
—-
master
tempdb
model
msdb
upravljanjeprojektima
test4
test2
Ovo isto kao PS1 skriptić (dobar link) :
param(
[string]$imeservera = “mojserver.mojdomen”)
write-host “Radimo sa serverom $imeservera”
invoke-sqlcmd -serverinstance $imeservera -query “select name from sys.databases”

6. Kako videti veličine pojedinačnih baza (link) :
PS D:\Skriptici> Invoke-SQLCmd -Query “sp_databases” -Database master -ServerInstance “mojserver.mojdomen”
DATABASE_NAME DATABASE_SIZE REMARKS
————- ————- ——-
master 7552
model 5312
msdb 37632
upravljanjeprojektima 6144
test2 238464
test4 257920
Ako se na kraju ovog upita doda “| Out-GridView” dobija se nov prozor sa rezultatima upita 🙂
7. Podaci o pojedinačnoj bazi, u ovom slučaju “test2” (veličine, lokacije za fajl baze i fajl loga) :
PS D:\Skriptici> Invoke-SQLCmd -Query “SELECT file_id, name, type_desc, physical_name, size*8/1024, max_size FROM sys.database_files” -ServerInstance “mojserver.mojdomen” -database test2
file_id : 1
name : test2
type_desc : ROWS
physical_name : D:\Baza\test2.mdf
size : 69
max_size : -1
file_id : 2
name : test2_log
type_desc : LOG
physical_name : D:\Log\test2_log.ldf
size : 163
max_size : 268435456
Ovde se onda veličina dobija u (KB) zbog “*8/1024” dela kod “size” stavke.
Ili za sve baze na jednom serveru :
Invoke-SQLCmd -query “select name, KB=size*8/1024, type_desc from sys.master_files” -ServerInstance mojserver.mojdomen
name KB type_desc
—- — ———
test4 88 ROWS
test4_log 163 LOG
test2 69 ROWS
test2_log 163 LOG
8. Kako NE prikazati sistemske baze
SQL upit :
select name from sys.master_files where name != ‘master’ AND name != ‘mastlog’ AND name != ‘tempdev’ AND name != ‘templog’ AND name != ‘modeldev’ AND name != ‘modellog’ AND name != ‘MSDBData’ AND name != ‘MSDBLog’;
Ili kao PS upit sa rezultatom :
PS D:\Skriptici> Invoke-SQLCmd -query “select name from sys.master_files
>> where name != ‘master’ AND name != ‘mastlog’ AND name != ‘tempdev’ AND name != ‘templog’ AND name != ‘modeldev’ AND name != ‘modellog’ AND name != ‘MSDBData’ AND name != ‘MSDBLog’;” -serverinstance mojserver2.mojdomen2
name
—-
dbtest2012
dbDtest2012_log
8. Kako izgleda cela skripta :
param(
[string]$imeservera1 = “mojserver1.mojdomen”,
[string]$imeservera2 = “mojserver2.mojdomen”,
[string]$pauza = “———-”
)
$pauza
$imeservera1
$pauza
Invoke-SQLCmd -query “select name, size*8/1024 AS KB, type_desc from sys.master_files where name != ‘master’ AND name != ‘mastlog’ AND name != ‘tempdev’ AND name != ‘templog’ AND name != ‘modeldev’ AND name != ‘modellog’ AND name != ‘MSDBData’ AND name != ‘MSDBLog’;” -ServerInstance $imeservera1
$pauza
$imeservera2
$pauza
Invoke-SQLCmd -query “select name, size*8/1024 AS KB, type_desc from sys.master_files where name != ‘master’ AND name != ‘mastlog’ AND name != ‘tempdev’ AND name != ‘templog’ AND name != ‘modeldev’ AND name != ‘modellog’ AND name != ‘MSDBData’ AND name != ‘MSDBLog’;” -ServerInstance $imeservera2

Posted in Windows | Tagged , , , , | Leave a comment

Koji Windows servisi idu zajedno

SQL server
Sastoji se od dva servisa :
SQL Server
SQL Server agent

IIS server
W3SVC ili World Wide Web Publishing Service (WWW service)
Windows Process Activation Service (WAS)
IISAdmin

Na nivou procesa : w3wp.exe, inetinfo.exe

Windows Communication Foundation (WCF) – ako se koriste protokoli koji nisu HTTP i/ili HTTPS

Dobar link
Svašta o IIS-u : link

Posted in Windows | Tagged | Leave a comment

WIN server 2012 R2 i .Net Framework 3.5 instalacija

Ili nemoguća misija.
Bez obzira što imate (ili ste skinuli sa neta) EXE fajl koji bi trebalo da je kompletan, kad god pokušate instalaciju bilo kroz Server Manager ili POwer Shell, dobijate istu grešku, da nemate kompletan sadržaj potreban za instalaciju (što nije tačno, ali…..).
Rešenje :
1. Mount-ovati WIN 2012 R2 server instalacioni disk na vaš (problematičan) server, npr na E:
2. Pri instalaciji kroz Server Manager, uperiti instaler na “aletrnative source path” i to (u našem slučaju) : E:\sources\sxs
I to je to 🙂
Dobar link.

Posted in Windows | Tagged , , | Leave a comment

CPU+RAM(%) na udaljenom serveru iz CLI

To mi treba ko leba 🙂

CPU
Nisam našla baš klasičan CLI, ali jesam iz PowerShell-a (link) :

PS C:\Users\velda.ebel>Get-Counter -ComputerName localhost ‘\Process(*)\% Processor Time’ | Select-Object -ExpandProperty countersamples | Select-Object -Property instancename, cookedvalue| Sort-Object -Property cookedvalue -Descending| Select-Object -First 20| ft InstanceName,@{L=’CPU’;E={($_.Cookedvalue/100).toString(‘P’)}} -AutoSize

InstanceName CPU
———— —
_total 803.14% (ovo je jer mi je mašina sa 8 jezgara)
idle 787.66%
firefox 7.74%
plugin-container 1.55%
taskmgr 1.55%
svchost 1.55%
firefox 1.55%
explorer 1.55%
firefox 0.00%
chrome 0.00%
firefox 0.00%
firefox 0.00%
firefox 0.00%
winword 0.00%
ssms 0.00%
unsecapp 0.00%
chrome 0.00%
chrome 0.00%
chrome 0.00%
firefox 0.00%

Naravno, da bi ovo radilo za udaljene (domenske) servere, PowerShell treba pokrenuti sa adekvatnim domenskim nalogom.
Komanda razbijena na delove :
Get-Counter – Gets performance counter data from local and remote computers (link)

A ako mi treba taj podatak za neki vremenski period, sa više uzoraka :
PS C:\Users\velda.ebel>Get-Counter -ComupterName localhost -Counter “\Processor(_Total)\% Processor Time” -SampleInterval 2 -MaxSamples 3

A ako treba da se izlaz usmeri na fajl, samo na kraj komande dodati >> ime.fajla
*****
RAM
PS D:\Skriptici> Get-Counter -ComputerName test1 -Counter “\Paging File(*)\% Usage”

Timestamp CounterSamples
——— ————–
17.07.2018 13:41:04 \\test1\\paging file(\??\c:\pagefile.sys)\% usage :
51.9660611539163
\\test1\\paging file(_total)\% usage :
51.9660611539163
*****
Odličan link vezan za to šta sve možete da dobijete korišćenjem komande “GEt-Counter”.

Posted in Windows | Tagged , , | Leave a comment

Kako videti IIS verziju

Obično se otvori IIS server, i klikne na Help/About, ali ako je stariji server (ili ako nemate RD pristup), može i ovako (link) :
Iz komandne linije, sa vašeg kompjutera :
1. telnet mywebserver 80
2. type in HEAD / HTTP/1.0 [enter][enter]
(ovde se neće videti ništa, ali nije bitno, i da mora DVA enter-a)
3. Look at the line that starts with Server :
HTTP/1.1 403 Forbidden
Content-Length: 218
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Tue, 10 Jul 2018 10:16:35 GMT
Connection: close

Posted in Windows | Tagged , , | Leave a comment