Saturday, May 16, 2015

powershell drivesize remaining

PS C:\Windows\system32> icm hv01,hv02,hv04 {Get-Volume} | select pscomputername, driveletter,sizeremaining | Format-Table -AutoSize

Tuesday, May 12, 2015

sql disk io

short reblogged from http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/ 1) change param.txt to bigger testfile (10Gb) and correct drive: param.txt c:\testfile.dat 8 0x0 10240 #name threads cpuaffinity sizeInMB 2) create testfile: sqlio -kW -s5 -fsequential -o4 -b64 -Fparam.txt C:\Program Files (x86)\SQLIO>sqlio -kW -s5 -fsequential -o4 -b64 -Fparam.txt sqlio v1.5.SG parameter file used: param.txt file c:\testfile.dat with 8 threads (0-7) using mask 0x0 (0) 8 threads writing for 5 secs to file c:\testfile.dat using 64KB sequential IOs enabling multiple I/Os per thread with 4 outstanding size of file c:\testfile.dat needs to be: 10737418240 bytes current file size: 0 bytes need to expand by: 10737418240 bytes expanding c:\testfile.dat ... done. using specified size: 10240 MB for file: c:\testfile.dat initialization done CUMULATIVE DATA: throughput metrics: IOs/sec: 1327.03 MBs/sec: 82.93 VM on HyperV on SSD Raid,other examples: Al: IOs/sec: 3862.24 MBs/sec: 241.39 3) RANDOM WRITE TEST: (-d ... Drive -s seconds -t threads simultan) sqlio -dC -BH -kW -frandom -t1 -o1 -s60 -b64 \testfile.dat sqlio -dC -BH -kW -frandom -t2 -o1 -s60 -b64 \testfile.dat sqlio -dC -BH -kW -frandom -t4 -o1 -s60 -b64 \testfile.dat sqlio -dC -BH -kW -frandom -t8 -o1 -s60 -b64 \testfile.dat C:\Program Files (x86)\SQLIO>sqlio -dC -BH -kW -frandom -t1 -o1 -s90 -b64 \testfile.dat sqlio v1.5.SG 1 thread writing for 90 secs to file C:\testfile.dat using 64KB random IOs enabling multiple I/Os per thread with 1 outstanding buffering set to use hardware disk cache (but not file cache) using current size: 10240 MB for file: C:\testfile.dat initialization done CUMULATIVE DATA: throughput metrics: IOs/sec: 1082.02 MBs/sec: 67.62 Al -t1: IOs/sec: 915.90 MBs/sec: 57.24 4)RANDOM READ TEST: sqlio -dC -BH -kR -frandom -t1 -o1 -s60 -b64 \testfile.dat sqlio -dC -BH -kR -frandom -t2 -o1 -s60 -b64 \testfile.dat sqlio -dC -BH -kR -frandom -t4 -o1 -s60 -b64 \testfile.dat sqlio -dC -BH -kR -frandom -t8 -o1 -s60 -b64 \testfile.dat C:\Program Files (x86)\SQLIO>sqlio -dC -BH -kR -frandom -t1 -o1 -s30 -b64 \testfile.dat sqlio v1.5.SG 1 thread reading for 30 secs from file C:\testfile.dat using 64KB random IOs enabling multiple I/Os per thread with 1 outstanding buffering set to use hardware disk cache (but not file cache) using current size: 10240 MB for file: C:\testfile.dat initialization done CUMULATIVE DATA: throughput metrics: IOs/sec: 2409.36 MBs/sec: 150.58 Al: IOs/sec: 278.00 MBs/sec: 17.37

Sunday, May 10, 2015

powershell examples

get-host update-help Get-ExecutionPolicy Get-PSDrive get-vm -ComputerName hv01,hv02,hv04 | where State -eq Off | sort name help New-SelfSignedCertificate -Examples New-SelfSignedCertificate -DnsName www.test.net -CertStoreLocation Cert:\LocalMachine\My $var=read-host "Enter a Computername" Write-Output "Test" Write-Host "Test" Write-Warning "Test" 's1','s2' | foreach {write-output $_}

Wednesday, May 06, 2015

values constructor sql server

select * from (values (10),(20)) as TabName(colName)

kiwi syslog daily logfile

Default/Actions/Log to file C:\Programme\Syslogd\Logs\Interfaceueberwachung\log%DateISO.txt

Tuesday, May 05, 2015

Saturday, April 25, 2015

linux :ende von dateien anschauen

Tail –f /var/log/syslog Oder Tail –f /var/log/messages

Anzahl der Zeilen: -n

tail filename -n

Wednesday, April 15, 2015

wireshark filters

udp ... all udp entries ip.addr == 192.168.1.1 ... all from / to 192.168.1.1

Monday, April 13, 2015

team foundation server command line remove Locks

Zurücksetzen von Locks/CheckOuts für andere Benutzer: Die Operationen können mit dem TF Kommando in einer Visual 2010 Konsole ausgeführt werden. Checkouts von jemanden anderen rückgängig machen: D:\TFS\TFSTestprojekt>tf undo $/Intern_Testprojekt_EP_V004 /workspace:WST08008;har mar

Thursday, April 09, 2015

Sql Server Trigger to set Last Change Date & Last Change User

ALTER TRIGGER [dbo].[Holidays_SetModified] ON [dbo].[Holidays]
AFTER INSERT,UPDATE AS
BEGIN
  --PRINT '[sf_KISData].[sf_KISData_Cascade_Modified] BEGIN'
  DECLARE @id AS int
  DECLARE @mod AS DATETIME
  DECLARE @LUserId as int
  DECLARE curInserted CURSOR LOCAL FOR
        SELECT id, DateLastModified,LUserId FROM Inserted
  OPEN curInserted FETCH NEXT FROM curInserted INTO @id, @mod, @LUserId
  WHILE (@@FETCH_STATUS = 0)
   BEGIN
     IF NOT UPDATE(DateLastModified) OR @mod IS NULL
     BEGIN
        UPDATE Holidays SET DateLastModified= getutcdate(), LUserId=User_Id() WHERE id= @id      END
     FETCH NEXT FROM curInserted INTO @id, @mod, @LUserId
 END
 CLOSE curInserted
 --PRINT '[sf_KISData].[sf_KISData_Cascade_Modified] END'
END

Sql Server User Functions

SELECT USER_NAME(), SYSTEM_USER, CURRENT_USER,SESSION_USER, USER_ID(); select * from sys.sysusers

Wednesday, April 01, 2015

(freie) Antiviren software vergleich

free AVG: schnell und einfach zu bedienen, Netzlaufwerkscan möglich, im (chip test eher nicht so gut Trend Micro im Chip test beste Erkennungsrate, kann keine Netzlaufwerke scannen (zumindest nicht in trial version) und es gibt keine freie version free Avast: für Programmierer ungeeignet, da scannt nach jedem kompelieren, Netzlaufwerksscan ok

Friday, March 20, 2015

oracle sid

reblogged from http://www.bunyamindemir.com/?p=113 1) SELECT global_name FROM global_name; 2) SELECT INSTANCE_NAME FROM v$instance; 3) echo $ORACLE_SID; 4) SHOW PARAMETER INSTANCE_NAME; 5) SELECT sys_context('USERENV','INSTANCE_NAME') FROM dual; 6) SELECT ORA_DATABASE_NAME FROM dual;

Friday, March 13, 2015

Sql Server Datafile Size in MB / GB

SELECT DB_NAME(database_id) [DatabaseName], [name] AS [LogicalName], (size*8)/1024/1024 [GB] FROM sys.master_files order by size desc select (size*8)/1024 [MB],* from sys.database_files

Thursday, March 12, 2015

power shell zip

#to create a new zip file: # Set-Content $arg[0] (“PK”+ [char]5 + [char]6 + (“$([char]0)”* 18)) #copy a file to new zip file $Shell=New-Object -ComObject Shell.Application $ZipFolder=$Shell.Namespace(‘F:\backup.zip’) $ZipFolder.CopyHere(‘C:\0bat\test.txt’)

Wednesday, January 21, 2015

ISO: Windows Burn Disc Image not visible / Datenträger Abbild brennen nicht sichtbar

Windows Explorer rigth mouse button Burn Disc Image not visible / rechte Maustaste Datenträger Abbild brennen nicht sichtbar => set Windows Explorer as standard program for ISO => rigth mouse button Burn Disc Image visible => Windows Explorer als Standard Programm setzen => rechte Maustaste Datenträger Abbild brennen sichtbar

Oracle Autoextend - Autogrow of Datafiles - automatisches Datenfile vergößern

ALTER TABLESPACE USERS ADD DATAFILE 'C:\oradata\dev4\USERS02.dbf' SIZE 500M AUTOEXTEND ON NEXT 500M; wenn das USERS02.dbf voll wird wird es um 500MB vergrößert when USERS02.dbf is fll oracle increases its size by 500MB

Sunday, January 11, 2015

c# wpf fill comboox with enum

string s=cbScchVersion.SelectedValue.ToString(); object o=Enum.Parse(typeof(AppObject.ScchVersion),s); int i=(int)o; AppObject.ScchVer = (AppObject.ScchVersion) i;

Thursday, December 18, 2014

Visual Studio Find and Replace Regular Expressions / Suchen und Ersetzten mit Regulären Ausdrücken (regex)

auf gefunde Ausdrücke greift man mit z.b. \0 zu, \0 gibt den ersten gefunden Ausdruck zurück. möchte man z.b. in allen DllImport Statements ,CallingConvention=CallingConvention.Cdecl hinzufügen, bsp: [DllImport(DRIVER_DLL_NAME, EntryPoint = "is_StopLiveVideo")] suchen: EntryPoint.*" ersetzen: \0, CallingConvention=CallingConvention.Cdecl Ergebnis: [DllImport(DRIVER_DLL_NAME, EntryPoint = "is_StopLiveVideo",CallingConvention=CallingConvention.Cdecl)]

PInvokeStackImbalance was detected (c# / .net) - fix : CallingConvention.Cdecl

[DllImport(DRIVER_DLL_NAME, EntryPoint = "is_ClearSequence")] // is_ClearSequence private static extern int is_ClearSequence(int hCam); [DllImport(DRIVER_DLL_NAME, EntryPoint = "is_ClearSequence", CallingConvention = CallingConvention.Cdecl)] // is_ClearSequence private static extern int is_ClearSequence(int hCam);

Tuesday, October 28, 2014

sql server tables unused space / unbenutzer Platz in Sql Server Tabellen, filesize / filegröße

--sql server tables unused space / unbenutzer Platz in Sql Server Tabellen: SELECT t.NAME AS TableName, s.Name AS SchemaName, p.rows AS RowCounts, SUM(a.total_pages) * 8 AS TotalSpaceKB, SUM(a.used_pages) * 8 AS UsedSpaceKB, (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB FROM sys.tables t INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id LEFT OUTER JOIN sys.schemas s ON t.schema_id = s.schema_id WHERE t.NAME NOT LIKE 'dt%' AND t.is_ms_shipped = 0 AND i.OBJECT_ID > 255 GROUP BY t.Name, s.Name, p.Rows ORDER BY UnusedSpaceKB desc --filegröße / filesize SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size*8)/1024 SizeMB FROM sys.master_files where right(physical_name,3)='mdf' order by size desc

Thursday, August 28, 2014

bootrec (windows 10)

bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

wichtig: bios bootdevice muß harddisk sein => boot von hd einstellen und bootmenu aufrufen um dann von install disk zu booten, dann obige commandos ausführen win server braucht keine extra partition bcdboot c:\windows /s c: ... kopiert boot files von c:\windows\Boot auf C:\Boot wenn HyperV nicht automatisch startet: bcdedit /set hypervisorlaunchtype Auto

Wednesday, August 27, 2014

windows server 2012 Disk management

Server Manager unterstützt scheinbar keine MBR Initialisation, daher: power shell: Initialize-Disk 4 –PartitionStyle MBR

Thursday, August 21, 2014

TSQL if then

--simplest / einfach if 1=1 Print 'Ja-Yes' else print 'nein-no' --one begin End block if 1=0 Begin Print 'Ja-Yes' End else print 'nein-no' --two ifs if 1=0 Begin Print '1:Ja-Yes' End else if 1=1 print '1:nein-no, 2:ja-yes' else print '1:nein-no, 2:nein-no'

Friday, August 08, 2014

vs2008 ssrs: Filter in "test1,test2,test3" not working in preview

the in clause is not working in preview, but on reportserver: I have a sharepoint datasource, and a dataset, which I filter in a table with th IN clause - doesn't display any matches, but when I deploy it is working

Sunday, August 03, 2014

einfache / simple cte (common table expression)

with cte as ( select Year(GETDATE())*10000+MONTH(GetDate())*100+DAY(GetDate()) as intDate ) select * from cte

Friday, August 01, 2014

ssrs display subreport without data / Unterbericht ohne Daten anzeigen

ein Unterbericht ohne Daten wird nicht angezeigt (wenn alle Datasets in diesem Report keine Zeilen haben, wird allerdings als eigenständiger Bericht angezeigt) => um ihn dennoch anzeigen einfach ein Dummy Dataset mit select 'dummy' as dummy einfügen, das hat immer eine Zeile und damit wird der Subreport angezeigt. a subreport with all datasets having 0 rows isn't displayed (although as normal report is displayed) => add a dummy dataset which always returns a row to display (e.g. select 'dummy' as dummy )

ssrs gauge aggregate function report item

error / fehler:
The value expression for the gauge panel 'GaugePanel1' uses an aggregate function on a report item. Aggregate functions can be used only on report items contained in page headers and footers.

solution / lösung: change Indicator Properties / Values and States / States Measurement Unit from percentage to numeric

in Indicator Properties / Values and States / States Measurement Unit von Prozent auf numerisch ändern

Thursday, July 24, 2014

ssrs: vs2008 vorschau fehler / visual stuido 2008 preview error

sometimes gauge panels with 3 traffic light indicators shows in visual stuidio 2008 preview all three lights on, although it should only show one - when deploying, and showing same data, only one traffic light of three is on, as it should be ... manchmal werden bei einem Gauge Panel mit 3 Ampel Indikatoren in der Visual Studio Vorschau alle 3 Ampellichter zugleich angezeigt - obowhl immer nur eines "leuchten" sollte. Wenn derselbe Report deployed wird und mit denselben Daten aufgerufen wird, wird korrekt nur ein Ampellicht (rot/grün/gelb) angezeigt ...

ssrs Tabelle mit nur Gruppierungszeilen ohne Details

eine neue Tabelle hat standardmäßig nur eine Zeile, die der Detailsgruppe "Detail1" zugeordnet ist. Geht man nun auf die Eigenschaften von "Details1" und fügt eine Gruppierung hinzu, verschwinden die waagrechten Detailszeilenzeichen und eine reine Gruppierungszeile entsteht (

sql server reporting services ssrs: transformation scope for state indicator must be specified

see property page of indicater scope property: e.g.: Scope=tablix1

ssrs not showing table

some grouping trouble can lead to not showing table at all - solution: delete group or check it

Monday, June 30, 2014

SSRS 2008 Dataset Filter

SSRS 2008 Dataset Filter can't include following expressions / können folgende Expressions nicht verwenden: Aggregatsfunktionen (=First(...)) ReportItems

hypervisor not running: bcdedit /set hypervisorlaunchtype Auto

bcdedit /set hypervisorlaunchtype Auto

Tuesday, June 24, 2014

Reporting Services: getting values of textboxes with reportitems - werte aus Textboxen auslesen mittels ReportItems: =ReportItems!textbox3.Value

z.b. / eg.: =ReportItems!textbox3.Value

ssrs 2008 shared sharepoint datasource doesn't work

using internal ssrs 2008 shared sharepoint datasource: no problem generating dataset using same shared datasource, doesnt work

Wednesday, June 04, 2014

sql server: Check Constraints ein / ausschalten - switch on / off (z.b. Foreign Keys)

alter table tablename nocheck constraint all alter table tablename check constraint all

Tuesday, June 03, 2014

sharepoint berechnete spalte bedingte Formatierung

Formel für berechnete Spalte (Annahme in Spalte Priority steht 01 02 oder 03) ="
" siehe

Friday, May 30, 2014

Expression Textbox SSRS 2008 (Sql Server Reporting Services)

wenn bei einer TextBox in SSRS 2008 (Sql Server Reporting Services) mit rechter Maustaste im Context Menü "Expression" ausgegraut ist und auch nicht in TextBoxProperties General kein Value vorhanden ist, kann man durch Eingabe von z.b. ="X" in die Textbox direkt im Designer den Menüpunkt Expression bzw. die Value Eigenschaft wieder aktivieren.

OU (Organisation Unit) of ACtive Directory User

In Active Directory Users and COmputers: Menu View / Advanced Features => USer Prperties Show Tab Object, There you finde the Canonical Name of object

Friday, March 28, 2014

SSRS Ampeln (KPI) in VS2008 BI

Manchmal "leuchten" alle Ampeln (trotz Gegenteiliger Bedingungen) eines SSRS Reports im Preview des VS2008 Business Intelligence Studios, dann hilft es das Visual Studio zu schießen und neu zu öffnen.

Tuesday, March 25, 2014

Bindingnavigator manual Delete

BindingNavigator.DeleteItem = null; //manual Delete this.bindingNavigatorDeleteItem.Click += new System.EventHandler(this.bindingNavigatorDeleteItem_Click); private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("Wirklich löschen / Sure to delete ?", "Confirm / Bestätigen", MessageBoxButtons.YesNo)) { bindingsource.RemoveCurrent(); } }

Monday, March 24, 2014

sql server: restore many transactionlogs

example of restoring sql server transaction logs to a full backup: beispiel einiger Befehlszielen um transaktionslogs wiederherzustellen:
RESTORE LOG [CrmBak] FROM DISK = N'E:\SqlServerBackup\CRM\CRM_backup_2014_01_01_230431_6398282.trn' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10
RESTORE LOG [CrmBak] FROM DISK = N'E:\SqlServerBackup\CRM\CRM_backup_2014_01_02_230438_1759387.trn' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10
RESTORE LOG [CrmBak] FROM DISK = N'E:\SqlServerBackup\CRM\CRM_backup_2014_01_03_230429_5963993.trn' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10
to generate the restore command lines I used commandline: dir >dir.txt then with notepad++ I removed the date /time columns by pressing alt+marking with mouse, then used edit/Column editor to insert restore.... before the filename and ' WITH FILE=1 ... after the filename
um die Restore Befehle zu erzeugen, verwendetete ich den DOS BEfehel DIR: dir> dir.txt dann mit notepadd++ mit gedrückter alt taste mit der maus die unerwünschten spalten markeiren und löschen, dann mit edit / Column editor fügte ich vor dem dateinamen restore ... und nach dem DAteinamen 'WITH FILE=1 ... hinzu

wenn ein transaktionslog fehlt oder das zugrundeliegende full backup nicht in den Zeitraum des transaktionslogs fällt erhält man: Meldung 4305, Ebene 16, Status 1, Zeile 1 Das Protokoll in diesem Sicherungssatz beginnt bei LSN 29111000000034100001. Diese liegt für eine Anwendung auf die Datenbank nicht weit genug zurück. Eine frühere Protokollsicherung, die LSN 29015000000200600001 einschließt, kann wiederhergestellt werden. Meldung 3013, Ebene 16, Status 1, Zeile 1 RESTORE LOG wird fehlerbedingt beendet.

Tuesday, March 18, 2014

Sql Server TSQL Script: Backup ALL Databases (foult tolreant / Fehlertolerant)

--TODO: Enter Profilename and Email ADress at last statement DECLARE @name VARCHAR(50) -- database name DECLARE @path VARCHAR(256) -- path for backup files DECLARE @fileName VARCHAR(256) -- filename for backup DECLARE @fileDate VARCHAR(20) -- used for file name DECLARE @FEHLER VARCHAR(MAX) DECLARE @MSG VARCHAR(MAX) SET @path = 'F:\Backup\' SET @Msg='' SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) DECLARE db_cursor CURSOR FOR SELECT name FROM MASTER.dbo.sysdatabases WHERE name NOT IN ('master','model','msdb','tempdb') OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN SET @fileName = @path + @name + '_' + @fileDate + '.BAK' BEGIN TRY print 'BACKUP DATABASE '+@name+' TO DISK = '+@fileName; BACKUP DATABASE @name TO DISK = @fileName END TRY BEGIN CATCH set @Fehler= 'Error: BACKUP DATABASE '+@name+' TO DISK = '+@fileName print @Fehler set @MSG=@MSG+@Fehler END CATCH FETCH NEXT FROM db_cursor INTO @name END CLOSE db_cursor DEALLOCATE db_cursor --SEND Mail - use SSMS Management DatabaseMAil right click Send Testmail to get Profilename and test mail (and set up if needed EXEC msdb.dbo.sp_send_dbmail @profile_name = 'ProfileName', @recipients = 'x@y.z', @body = 'Backup Bericht SQLServer (wenn leer keine Fehler)', @subject = @MSG ;

Thursday, March 13, 2014

create sql server login when not exists

if (SELECT SUSER_ID('test')) is null begin create login test with password='pwd' end

Tuesday, March 11, 2014

disk queue length - Festplatten Warteschlange

In Windows resource Monitor, the disk queue length Counter should be lower then 2, if ist greater then 5 there is a serious Problem. experience: coping large amount of mixed files: disk queue length 1-2 coping large file on same disk: disk queue length 2-5 idle: 0 hyperV Server with raid 10, 13 virtual machines: disk queue length 1

Thursday, March 06, 2014

Vsiaul Studio 2008 + Team Foundation Server 2010


Visual Studio 2008 mit TFS2010 nutzen:
1. SP1 für VS2008 installieren (wurde TeamFoundationExplorer nach SP1 installation installiert muss SP1 Setup nochmals ausgeführt werden.)

2. Compatibility Patch installieren (Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010)

3. Team Foundation Server als http://tfsservername:8080/tfs/DefaultCollection hinzufügen, oder in registry - richtige VS Version (9) statt 10 wählen:
 
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\TeamFoundation\Instances\tfs01]
"Uri"="http://tfs01:8080/tfs"
"Type"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\TeamFoundation\Instances\tfs01\Collections]
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\TeamFoundation\Instances\tfs01\Collections\DefaultCollection]
"Uri"="http://tfs01:8080/tfs/defaultcollection"
"Type"=dword:00000001
 
 

Desktop Symbole ohne Admin Rechte verschieben


Als normaler Benutzer darf man Desktop Symbole, die man nicht selbst angelegt hat, nicht löschen oder verschieben. Damit das doch geht, einfach vollzugriff auf C:\Users\Public\Desktop (bzw %public%\desktop) setzen, z.b. der Users group des lokalen Rechners oder gleich den Domain Benutzern Vollzugriff geben:

Wednesday, February 26, 2014

creating Table on secondary filegroup on sql server / eine Tabelle in der zweiten Filegroup anlegen am Sql Server

angenommen die Datenbank
asuming the database has a filegroup named "secondary":

create table tSecondary
(
    Id integer
)
on 'Secondary'

windows username, hostname, domainname by cmd (commandline)

benutzername / username:
echo %username%
or /oder
whoami

rechnername / hostname:
hostname

domainname:
echo %userdomain%
or / oder
systeminfo

Tuesday, February 11, 2014

Webservice for / für sharepoint List

sharepint List Adress: myserver/Intranet/mysite/Lists/mylist/Allitems.aspx
Webservice Adress: myserver/Intranet/mysite/_vti_bin/Lists.asmx

Thursday, February 06, 2014

Tuesday, February 04, 2014

sql server datenbank offline nehmen / take database offline / verbindungen lsöchen / kill connections

use master
go
ALTER DATABASE GBOv2_Reports_Test
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO


alle Verbindungen zu einer db killen / delete all Connections to a db
declare @kill varchar(8000) = '';
select @kill=@kill+'kill '+convert(varchar(5),spid)+';'
    from master..sysprocesses
where dbid=db_id('GBOv2_Reports_Test');
exec (@kill);


-- Show all processes of SQL Server / alle processe (Verbindungen) des SQL Servers anzeigen
select * from master..sysprocesses

Sunday, February 02, 2014

windows 7 mbr reparieren - fixmbr - fdisk /fixmbr - bootrec.exe /fixmbr

In der Windows 7 wiederherstellungskonsole verwendet man bootrec.exe /fixmbr statt früher aus msdos fdsik /fixmbr

Thursday, January 30, 2014

linux ftp server vsftpd

feststellen ob der ftp Dämon läuft:

netstat -a | grep ftp

in etc/VSFTPD liegt das config file
in etc/ftpusers sind user aufgelistet, die kein ftp machen dürfen (z.b. root)

user sieht normalerweise sein home dir

remote desktop

Allgemein


Version feststellen cat /etc/*-release

sudo reboot
sudo poweroff
sudo shutdown

Nano Texteditor

Select: ALT + M + A
Copy: ALT + 6
Paste: CTRL + U

Zeile ausschneiden: CRTL +K

SUCHEN: CRTL-W

User

user anzeigen: cat /etc/passwd
benutzer hinzufügen: sudo adduser BENUTZERNAME
Passwort ändern: sudo passwd BENUTZERNAME
Benutzer zu einer Gruppe hinzufügen: sudo usermod -aG gruppenname Username
gruppe hinzufügen: sudo groupadd www

Netzwerk

ifconfig

ftpclient: sudo apt-get ftp

ssh xxx.yyy.zzz.aaa -l loginname


Crontab (not crone)

alle einträge listen: crontab -l
edit bzw erstmalig erzeugen: crontab -e

*/1 * * * * $HOME/test.py >> test.log 2>&1

jede minute test.py starten und in test.log schreiben

test.py:
#!/usr/bin/env python
import time
print(time.strftime("%d.%m.%Y %H:%M:%S"))


Installierete Software

dpkp -l > pakete.txt
sudo apt-get update # Fetches the list of available updates
sudo apt-get upgrade # Strictly upgrades the current packages
sudo apt-get dist-upgrade # Installs updates (new ones)

Disk Partitionen

ls /dev/
ls /mnt/
mount
mmcblk0 ... SdCard0
sda ... SolidDriveA (Hard Disk A)

sudo fdisk -l

sudo blkid -o list
df -h  ... DiskFree -human readable
cat /proc/partitions
sudo fdisk /dev/mmcblk0
p ... list partition
q ... quit without writing

Dateien / Files

Datein mit rechte usw: ls -l
rechte: owner/gruppe/other

freier Speicherplatz auf den HDs: df -h
Dir anzeigen: ls
alle Dateien listen: ls -a
suchen: find / -Name ftp* sucht alle Dateien mit ftp

löschen: rm
kopieren von Bäumen (-r) ohne überschreiben existierender Dateien (-n) und Ausgabe der gerade kopierten Datei --verbose
cp --verbose -rn quelle ziel

Rechte anzeigen: ls-l   (owner gruppe andere, username gruppenname )
chmod 774 datei

Owner ändern:
chown -c user:gruppe datei

zu anderem linux rechner kopieren:
scp myfile user@192.168.1.8:


standard Dirs:


1. / – Root

Every single file and directory starts from the root directory.
Only root user has write privilege under this directory.
Please note that /root is root user’s home directory, which is not same as /.
2. /bin – User Binaries

Contains binary executables.
Common linux commands you need to use in single-user modes are located under this directory.
Commands used by all the users of the system are located here.
For example: ps, ls, ping, grep, cp.
3. /sbin – System Binaries

Just like /bin, /sbin also contains binary executables.
But, the linux commands located under this directory are used typically by system aministrator, for system maintenance purpose.
For example: iptables, reboot, fdisk, ifconfig, swapon
4. /etc – Configuration Files

Contains configuration files required by all programs.
This also contains startup and shutdown shell scripts used to start/stop individual programs.
For example: /etc/resolv.conf, /etc/logrotate.conf
5. /dev – Device Files

Contains device files.
These include terminal devices, usb, or any device attached to the system.
For example: /dev/tty1, /dev/usbmon0
6. /proc – Process Information

Contains information about system process.
This is a pseudo filesystem contains information about running process. For example: /proc/{pid} directory contains information about the process with that particular pid.
This is a virtual filesystem with text information about system resources. For example: /proc/uptime
7. /var – Variable Files

var stands for variable files.
Content of the files that are expected to grow can be found under this directory.
This includes — system log files (/var/log); packages and database files (/var/lib); emails (/var/mail); print queues (/var/spool); lock files (/var/lock); temp files needed across reboots (/var/tmp);
8. /tmp – Temporary Files

Directory that contains temporary files created by system and users.
Files under this directory are deleted when system is rebooted.
9. /usr – User Programs

Contains binaries, libraries, documentation, and source-code for second level programs.
/usr/bin contains binary files for user programs. If you can’t find a user binary under /bin, look under /usr/bin. For example: at, awk, cc, less, scp
/usr/sbin contains binary files for system administrators. If you can’t find a system binary under /sbin, look under /usr/sbin. For example: atd, cron, sshd, useradd, userdel
/usr/lib contains libraries for /usr/bin and /usr/sbin
/usr/local contains users programs that you install from source. For example, when you install apache from source, it goes under /usr/local/apache2
10. /home – Home Directories

Home directories for all users to store their personal files.
For example: /home/john, /home/nikita
11. /boot – Boot Loader Files

Contains boot loader related files.
Kernel initrd, vmlinux, grub files are located under /boot
For example: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic
12. /lib – System Libraries

Contains library files that supports the binaries located under /bin and /sbin
Library filenames are either ld* or lib*.so.*
For example: ld-2.11.1.so, libncurses.so.5.7
13. /opt – Optional add-on Applications

opt stands for optional.
Contains add-on applications from individual vendors.
add-on applications should be installed under either /opt/ or /opt/ sub-directory.
14. /mnt – Mount Directory

Temporary mount directory where sysadmins can mount filesystems.
15. /media – Removable Media Devices

Temporary mount directory for removable devices.
For examples, /media/cdrom for CD-ROM; /media/floppy for floppy drives; /media/cdrecorder for CD writer
16. /srv – Service Data

srv stands for service.
Contains server specific services related data.
For example, /srv/cvs contains CVS related data.

Thursday, January 23, 2014

Webservice Proxy Klasse c# in Visual Stuido erzeugen

VS2008:
1) unter References add Service Referenc
2) unter Advanced Add Web Reference
3) Url eingeben (wdsl)  => zeigt Servicenamen und Methodennamen an, schlägt Web Reference Name vor, diesen anpassen
4) es wird Code unter WebReferences\WebReferenceName\Reference.cs erzeugt, die wichtigste Klasse heißt genauso wie das Service (unter 3 angezeigt)

Tuesday, January 21, 2014

Wednesday, January 15, 2014

oracle simple package

Header:
CREATE OR REPLACE
PACKAGE PA_PDB_UTIL AS

PROCEDURE P_PDB_SeekId (inId IN VARCHAR2, ret OUT integer);

END PA_PDB_UTIL;

Body:
CREATE OR REPLACE
PACKAGE BODY PA_PDB_UTIL AS

  PROCEDURE P_PDB_SeekId (inId IN VARCHAR2, ret OUT integer) AS
  BEGIN
      dbms_output.put_line ('beginn!');
      dbms_output.put_line (inPannenId);
      select count(*) into ret from test where Id=inId;
      dbms_output.put_line (ret);
      dbms_output.put_line ('End');
    NULL;
  END P_PDB_SeekId;

END PA_PDB_UTIL;

Testen mit:
set serveroutput on;  
declare ret integer;
begin
 PA_PDB_UTIL.P_PDB_SeekPannenId('test', ret);
end;

Tuesday, January 14, 2014

oracle top cpu time sql

SET pages 3000
SET LINES  120
SET trimspool ON
SET trimout   ON

COLUMNS sql_text FORMAT a40 word_wrapped HEAD 'SQL|Text'
COLUMNS cpu_time       HEAD 'CPU|Time'
COLUMNS elapsed_time   HEAD 'Elapsed|Time'
COLUMNS disk_reads     HEAD 'Disk|Reads'
COLUMNS buffer_gets    HEAD 'Buffer|Gets'
COLUMNS rows_processed HEAD 'Rows|Processed'


TTITLE 'SQL-Statements nach CPU-Nutzung'


SELECT * FROM
     (SELECT sql_text,
             cpu_time/1000000 cpu_time,
             elapsed_time/1000000 elapsed_time,
             disk_reads,
             buffer_gets,
             rows_processed
      FROM   v$sqlarea Where SQL_Text Like '%T_PDB_%'
      ORDER BY cpu_time DESC
)

WHERE rownum <=25;

In welcher Tabelle ist die Spalte namens ? Where is column (in which table)

oracle:
select * from user_tab_columns where table_name like 'T_PDB%' and  Column_NAME like '%PRO%';

sql-server:
select c.name,t.name from sys.columns c join sys.tables t on c.object_id=t.object_id where c.name like 'Bem%'


Access Query 2 Oracle IIF

IIF ... CASE

    f.bla AS S_Bla,
    (
      CASE TO_CHAR(Reparaturdatum, 'YYYY')
        WHEN '1899'
        THEN '-'
        ELSE TO_CHAR(Reparaturdatum, 'DD.MM.YYYY')
      END)                   AS S_RDatum,
    f.Fallzaehler            AS S_Fallzaehler,

NZ ... NVL

Monday, January 13, 2014

screenshot registry Oracle 32bit Treiber / Driver




access auf ODBC Backend umstellen - move from Access to ODBC Backend

Beim Umstellen eines reinen Access Backends auf ein ODBC Backend (z.b. Oracle over ODBC) gibt es folgendes zu beachten:
1) recordset Find Operationen sind extrem langsam, da zuerst die ganze Tabelle in den Access Speicher geladen wird und dort dann gesucht wird. Besser das Recordset gleich mit der richtigen WHERE Bedingung aufmachen:
    Set rs= New ADODB.Recordset
    rs.Open "select * from mytable where ID='" & 923 & "'", connection, adOpenKeyset, adLockReadOnly
    statt:
    rs.Find "ID= '" & 923 & "'", , adSearchForward, adBookmarkFirst

2) wenn man Sätze mit rs.AddNew / rs.Update hinzufügt, so werden diese zwar im Backend hinzugefügt aber nicht im Recordset = nochmal nachladen

Thursday, January 09, 2014

enumerate enum

        enum eAbgeschlossen
        {
            Abgeschlossen_Closed,
            Alle_All,
            NichAbgeschlossen_NotClosed
        }

            foreach (eAbgeschlossen e in Enum.GetValues(typeof(eAbgeschlossen)).Cast())
            {
                cbAbgeschlossenFilter.Items.Add(e.ToString()); //adding to Combobox
            }

The server encountered an error while creating Virtual Machine (Hyper V)

When creating a new virtual Machine on Hyper V Server (Windows 8, Server 2012) sometimes ths error occurs:

The server encountered an error while creating Virtual Machine
The operation failed.
An unexpected error occurred: Logon failure: the user has not been granted the requested logon type at this computer. (0x80070569).

Work around: Hyper-V Virtual Machine Management Service restart.

-----------------------------------------------------------------------------------------------------------

Beim Erzeugen einer neue Virtuellen Maschine am Hyper V Server (Windows 8, Windwos Server 2012) tritt manchmal folgender Fehler auf:

The server encountered an error while creating Virtual Machine
The operation failed.
An unexpected error occurred: Logon failure: the user has not been granted the requested logon type at this computer. (0x80070569).

Work Around: Hyper-V Virtual Machine Management Service restarten.

The trust relationship between this workstation and the primary domain failed

Wenn beim Login der Fehler
The trust relationship between this workstation and the primary domain failed
erscheint, einfach den Computer aus der Domäne nehmen (in eine Workgroup), neustarten und wieder in die Domäne hängen

Login Error:
The trust relationship between this workstation and the primary domain failed
remove the Computer from the domän (to a workgroup), restart and join the domain again

CRT ALT DEL Remote Desktop: CRT ALT END

Um CRT ALT DEL über Remote Desktop (RDS) zu schicken, verwende CRT-ALT_END

Tuesday, January 07, 2014

Entity Framework liest statt unterscheidlicher Datensätze mehrfach den gleichen aus

Wenn bei einer view der Primary Key fehlt, so liefert das Entity Framework eventuell immer den gleichen Datensatz.
Man muß dann einen künstlichen Primary Key scahffen, z.b. mittels
IsNUll(ROW_NUMBER() OVER(ORDER BY Lastname, FirstName),-1) AS 'ID'
 und andere Spalten, die als Primary Key herangezogen werden mit NullIf(keyKandidat,-1) als Kandidat für den Primary Key aussschließen. Dann die View im Model löschen und neu hinzufügen.

Saturday, December 28, 2013

asp.net Identy replaces membership in Vs2013 / ap.net idenity ersetzt membership provider in Visual Studio 2013

asp.net identity hat auf sql server ein einfacheres schema als der membership provider und erzeugt die Tabellen selbst wenn sie erstmals benötigt werden (Create Table Recht vorausgesetzt), wenn nicht vorhanden, man braucht also kein asp.net config tool. funktioniert out of the box

asp.net identity has a more simple schema on sql server than membership rpovider and creates the tables, if necesary (needs create table privileg) - don't need asp.net config tool anymore

Monday, December 23, 2013

how to query grace periode days left of terminal services / Abfrage der verbleibenden gratis Tage von Remote Desktop Services

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="")  CALL GetGracePeriodDays


C:\Windows\system32>wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="")
 CALL GetGracePeriodDays
Executing (\\myserver\root\CIMV2\TerminalServices:Win32_TerminalServiceSetting.ServerName="BRIL_INT")->GetGracePeriodDay
s()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
        DaysLeft = 74;
        ReturnValue = 0;
};

Wednesday, December 18, 2013

dIRECTORY MIT vba AUSLESEN - READ DIRECTORY IN vba

Dim FileName
FileName = FileSystem.Dir("C:\")
While ("" <> FileName)
  Debug.Print FileName
  FileName = FileSystem.Dir() 'Read next entry by passing no params
Wend



Saturday, December 14, 2013

windows 8 phone entwicklung einstieg

1) Hardware vorraussetzungen:
64 bit Rechner  + Windwos Phone 8 ODER Rechner kann HyperV +SLAT

2) Software
64bit Betriebsystem
VS2013 inkl. Windows phone sdk

3) Veröffentlichen:
3a) Screenshot:
Screenshot mittels Phone Emulator in größte Auflösung (WXPA) machen (im Menü beim x), die niedrigeren Auflösungen werden dann beim upload berechnet. Achtung: Ausschalten der Framerate vorher, sollte im Release Build ausgeschalten sein, hat bei mir aber nicht geklappt daher mit #if DEBUG entfernt im App.xaml.cs:

            // Show graphics profiling information while debugging.
            if (Debugger.IsAttached)
            {
                // Display the current frame rate counters.
#if DEBUG
                Application.Current.Host.Settings.EnableFrameRateCounter = true;
#endif

3b) Icons:
Unter Assets/Tiles alle Default Icons ersetzen durch eigene ...

Tuesday, December 10, 2013

Reporting Services Struktur in Catalog Tabelle

Die Namen der Berichte und Verzeichnisse der SSRS (Sql Server Reporting Services) befinden sich in  der ReportServer Datenbank in der Tabelle Catalog.

Names of Reports and Fodlers of SSRS (Sql Server Reporting Services) is in table Catalog of Database ReportServer .

Monday, December 09, 2013

Sharepoint Verweisfeld Javascript

Wenn man im Sharepoint ein Verweisfeld mti mehreren Einträgen hat, dann werden die beiden Listen mit folgendem Javascriptcode gefüllt (CallStack):

GipInitializeGroup
  GipGetGroupData -- alle Verweise (z.b. "1|ta01|t |t |t2|ta02|t |t |t3|tb01_test123|t |t ")
    GipSplit (String mit allen Verweisen, liefert pro Listeneintrag 4 Arrayeinträge zurück: nr,text, " ", " ")
  GipGetSelectionData -- bereits selektierte Verweise (z.b..: "1|ta01|t2|ta02")
    GipSplit(String nur mit den ausgewählten Elmenten, liefert pro Listeneintrag 2 Arrayelemente zurück: nr, text)
... diverse ifs ...
for schleife zum hinzufügen der currentSelection (derzeit bereits ausgewählte elemente)
  GipNewOption() ... fügt bereits ausgewählte in rechte Auswahlliste hinzu
...if ...
GipRefreshGroupCore(master) ... prüft alle Listeneinträge ob schoin ausgewählt wurden und wenn nicht
  GipNewOption ... fügt neue Option ins linke Auswahllistenfeld hinzu

Wednesday, December 04, 2013

Hyper V - keine virtuellen Maschinen mehr sichtbar - no virtueal machines visible

Nach dem Neustart des physikalischen Host waren keine VMs mehr im Hyper V Manger sichtbar - durch den versuchten Import der Virtuellen Maschinen (brach mit Errormeldung ab) und Neustart des Hyper V Managers waren sie wieder sichtbar. Der Name der Virtuellen Maschine steht im properties tag des xml files.

After restarting the physical host, hyper V Manager didn't show any virtual machine. I tried to import them again, got an errormessage, but after restarting HyperV Manager again, the virtual machine I tried to import was visible again.

Thursday, November 21, 2013

Ora Files (Oracle)

Set TNS_ADMIN="C:\orahome\network" rem  Umgebungsvariable TNS_ADMIN zeigt an wo oracle folgende netzwerk config  files sucht:

sqlnet.ora ... haupt netzwerk config file, gibt an in welcher reihenfolge folgende files verabeitt werden:
tnsnames.ora ... wie host file, direkt angabe von sid verbindungsinformationen
ldap.ora => ldap server, der auch sid auflöst

Beispiel sqlnet.ora:
# sqlnet.ora Network Configuration File: C:\oracle\11gR2\client\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, LDAP, EZCONNECT)

Wednesday, November 20, 2013

Oracle rechte / priviliges

-- which grants has username on tables ? / welche echte hat username auf tabellen ?
select * from user_tab_privs where grantee like 'username';

--generates grant statements for / erzeugt gran statements ü upd,del,ins,sel
select 'grant SELECT, INSERT, UPDATE, DELETE on "ownername"."' || table_name || '" to "username" ;'  from user_tables where table_name like 'T_%'

System Privilegs / Rechte

 select * from user_sys_privs;
 select * from dba_sys_privs;
 select * from session_privs;

Object privilegs / Rechte

 select * from all_tab_privs;
 select * from user_tab_privs;
 select * from dba_tab_privs;


to all tables:

grant select any table, insert any table, delete any table, update any table to myuser;

installing oracle instant client - oracle instant client installieren

1) download insant client basic, unzip, copy files to c:\orahome (or any other name)
2) environment variables: add c:\orahome to path (system, environment variabls) add oracle_home=c:\orahome; tns_admin=c:\orahome\network
3) make dir network in orahome and create file sqlnet.ora example:

# sqlnet.ora Network Configuration File: C:\oracle\11gR2\client\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, LDAP, EZCONNECT)

4) create file tnsnames.ora

5) for ldap access create file ldap.ora
DEFAULT_ADMIN_CONTEXT = "dc=subdomain,dc=mydomain,dc=at"

DIRECTORY_SERVERS = (oraoid2.subdomain:389:636,oraoid1.subdomain:389:636,oraoid1.xxx:389:636)

DIRECTORY_SERVER_TYPE = OID


6) test by sqlplus: downloas sqlplus instant client, copy files to c:\orahome and execute at cmd:
sqlplus  user@sid
(sid should be defined in ldap or tnsnames)
select table_name from user_tables;

Tuesday, November 19, 2013

rename Ms Access Tables / Ms Access Tabellen umbennen

'You have to run th code until all tables are renamd - some changes are not comitted - start again until count=0
'Nicht alle Umbenennungen werden übernommen - solang neustarten, bis alle unbenannt wurden (unbenannt=0)


Function RenTab()

   
    Dim tablename, praefix, newname As String
    praefix = "T_PDB_"
    Dim anz As Integer: anz = 0
    For z = 0 To CurrentDb.TableDefs.Count - 1
         tablename = CurrentDb.TableDefs(z).Name
         Debug.Print tablename;
         If (Left(tablename, Len(praefix)) = praefix) Then
       
         Else
            If (Left(tablename, 4) <> "MSys") Then
                newname = praefix & tablename
                Debug.Print "  ->" & newname;
                anz = anz + 1
                CurrentDb.TableDefs(z).Name = newname
            End If
         End If
         Debug.Print    'carige return
    Next z
    Debug.Print
    Debug.Print "umbenannt:" & anz
End Function


Function UnRenTab()

    Dim tablename, praefix, newname As String
    Dim anz As Integer: anz = 0
    praefix = "T_PDB_"
    For z = 0 To CurrentDb.TableDefs.Count - 1
         tablename = CurrentDb.TableDefs(z).Name
         Debug.Print tablename;
         If (Left(tablename, Len(praefix)) = praefix) Then
            newname = Mid(tablename, Len(praefix) + 1)
            Debug.Print "  ->" & newname;
            anz = anz + 1
            CurrentDb.TableDefs(z).Name = newname
         End If
         Debug.Print    'carige return
    Next z
    Debug.Print
    Debug.Print "umbenannt:" & anz
End Function

Friday, November 15, 2013

todo

neune, nicht gechachten  Ausführungsplan:
OPTION (OPTIMIZE FOR UNKNOWN)

Ausführungsplan Cache leeren:
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE

Stored Procedure ausführen als:
Execute as


--server umbenennen
select * from sys.servers
select * from sys.servers where server_id=0
@@servername
sp_dropserver
sp_addserver 'hostname\ionstancename', 'local'


--Log für ... nicht vorhanden: offline / Online

Thursday, November 14, 2013

Service Unavailable (IIS 6.0 Windows Server 2003)

kann auf Sicherheitsprobleme hinweisen, wenn die Website läuft ... Abhilfe: Konto mit entsprechenden Berechtigungen im AppPool einstellen und neu starten (iisreset)

Wednesday, November 13, 2013

sql server health (gesundheits) check

1) Arbeitsspeicher: maximal Grenze (physikalischer gesamtspeicher-2GB fürs betreibssystem) sonst wird der sqlserver prozess eventuell ausgepaged (ab 2005 meldung im log wenn ausgepaged)

2) Autogrow: keine zu kleinen Einheiten, 32 oder 64MB , besser: eine große Datei, die nicht fragmentiert ist, also vor dem Anlegen checken ob ein so großer zusammenhängender Platz auf der HD verfügbar, ebenso bei vergrößerung mit großen Zusammenhängenden Dateien vergrößern; mit dbcc loginfo logfile  chekcen: sollte 50-100 Virtuelle Logfiles enthalten, bei autogrow 64MB werden 4 virtuelle Logfiles erzeugt, bei mehr 8

3) Shrink: niemals Datenfiles Shrinken - fragmentiert Indizies, und rebuild braucht dann wieder den Speicher; beim Logfile Shrinken auf die LogBackupChain achten

---------------------

1) set sql server max. ram to max physical ram-2gb for OS

2) Autogrow: grow by mind 64MB, better one big file not fragmented, every Autogrow creates a new fragment; look at logfile with dbcc loginfo to check count of virtual logfiles should be 50-100

3) Shrink: never shrink datafiles because index are fragmented, watch log file backup chain when shrinking logfile

Thursday, November 07, 2013

Remote desktop - "The Local Security Authority cannot be contacted"

I got error "The Local Security Authority cannot be contacted" by logging in via remotedesktop - console worked fine - after I moved a hyperv windows 7 machine from on host to another.
I rmeoved the machine from the domain and inserted it agian and it worked fine again.

Nachdem ich eine HyperV Machsine von einem Host zu einem anderen verschoben habe, erhielt ich bei login durch rremote desktop den Fehler  "The Local Security Authority cannot be contacted" - über die Hyper V Console konnte ich mich ganz normal anmelden. Herausnehmen und wieder hinzufügen zur Domäne löste das Problem.

Wednesday, November 06, 2013

enabling Remote Desktop by Group Policy / Remotedesktop mittels Group Policy zulassen

Computer ConfigurationAdministrative Templates, Windows COmponents, Terminaldienste Remotevebindung für Benutzer mit Hilfe der Terminaldienste zulassen

und zusätzlich Remotedesktop durch die Windows Firewall durchlassen 
additionally allow remotedesktop through firewall

Computer ConfigurationAdministrative TemplatesNetworkNetwork Connections, and then Windows Firewall / Domain / Remotedesktopausnahme 

Tuesday, November 05, 2013

Monday, November 04, 2013

oracle: kill connections (user sessions) - Verbindungen beenden

select
  sid --wird benötigt zum löschen
  ,serial# --wird benötigt zum löschen
  ,username --loginname
  ,osuser --windows loginname
  ,machine --host auf dem session gestartet wurde
  ,program --applikation
  ,status --eh kloa
from v$session
WHERE USERNAME = 'username';


…und damit dann die Sessions löschen:
--ALTER SYSTEM KILL SESSION 'sid,serial#';

sql server: connect users to logins / User mit Logins verbinden

sql server hat ein 2 stufiges SIcherheitsmodell: Der SqlServer selbst verwaltet Rechte für logins, jede Datenbank am SqlServer hat dann db users, die mit den logins verbunden sind, oder auch nicht. z.b. nach einem Restore. UNverbundene (verwaiste) Users können wie folgt gelistet werden:
--This will lists the orphaned users:
EXEC sp_change_users_login 'Report'

Im ssms können Logins Datenbanken zugeorndet werden, dann wird in der Datenbank ein entsprechender User mit dem selben Namen des logins erstellt. Wenn Login und Datenbankbenutzer bereits vorhanden sind können sie wie folgt verbunden werden:
--If you already have a login id and password for this user, fix it by doing:
EXEC sp_change_users_login 'Auto_Fix', 'user'
EXEC sp_change_users_login 'Auto_Fix', 'user', 'login', 'password'

Wenn noch kein login existiert, kann dieses über SSMS oder wie folgt erstellt werden:
--If you want to create a new login id and password for this user, fix it by doing:
--creates login EXEC sp_change_users_login 'Auto_Fix', 'dbUser',NULL,'pwd'



for searching:
EXEC SP CHANGE USER LOGIN
EXEC SP CHANGE USERS LOGIN

Thursday, October 31, 2013

The Database could not be exclusively locked to perform the operation (Microsoft SQL Server, Error: 5030)

Unable to rename .... (Object Explorer)
  Rename failed for Database ... (Microsoft.SqlServer.Smo)
    An exception occurred while executing a Transact-SQL statement batch. (Microsoft.SqlServer.ConnectionInfo)

      The Database could not be exclusively locked to perform the operation (Microsoft SQL Server, Error: 5030)

Most likly reason: open connections
Ursache: offene Verbindungen zur Datenbank

solution: kill all processes to the database (or let the users quit them) by right click on the server in ssms (Sql Server Management Studio), Activity Monitor, Processes: Filter Database and right Klick to kill all Processes

Lösung: beenden aller Verbindungen zur Datenbank - entweder durch die User oder als sysadmin mittels rechts Klick auf den Server im  ssms (Sql Server Management Studio), Activity Monitor auswählen, bei Processen nach der gewünschten Datenbank filtern und alle Processe durch recht click killen.

Sharepoint Verweisfeld Einträge mit Javascript manipulieren

Bei einem Verweisfeld auf eine großen Liste kann es bim IE (Internet Explorer) lange dauern, bis das Verweisfeld befüllt ist. Dies wird in der Javascript Funktion GipRefreshGroupCore gemacht - hier die Implementierung im Sharepoint 2010:

function GipRefreshGroupCore(a)
{
ULSEeZ:;
if (a.data.length==0) return;
var b=0;
if (a.groupControl) b=a.groupControl.selectedIndex;
for (var d=0,c=1;c {
for (var f=false,e=0;e
if (a.data[b][c][0]==a.resultControl[e].value) f=true;
if(!f)
{
a.candidateControl.options[d]=GipNewOption(a.data[b][c][1],a.data[b][c][0]);
d++
}
}
a.candidateControl.length=d;
if(a.candidateControl.options.length>0)
{
a.candidateControl.options[0].selected=true;
a.addControl.disabled=false;
GipDisplayDescription(a)
}
else
{
a.addControl.disabled=true;
GipSetDescriptionText(a," ")
}
}

man kann diese Überschreiben, indem man auf der Bearbeitungsseite (mit Shift öffnen, damit kein Popup) ein Inhalts Editor Webpart mit folgendem Code einfügt:



nun wird das Verweisfeld nciht befüllt, und stattdessen die MSgBox test angezeigt.

indem man den original Code erweitert kann man z.b. die zur verfügung stehenden Verweise filtern.

Wednesday, October 30, 2013

simple Collation Example / einfaches Sortierungs Beispiel SQL Server

Je nach verwendeter Sprache sollte eine entsprechende Sortierungsreihenfolge verwendet werden:
For every Language there should be used the correct collation:

select * from table1 order by name collate Latin1_General_BIN
select * from table1  order by name collate Latin1_General_CS_AS --CS=CaseSensitiv
select * from table1 order by name collate Latin1_General_CI_AS --CI=CaseInsensitiv

Der SqlServer sowie jede Datenbank und Tabelle besitzen eine Deffault Collation (in Properties des SSMS Sql Server MAnagement Studio)
SqlServer, every Database and every Table have a default collation

Änderung der Sortierung einer Tabelle / change table default collation
ALTER TABLE Table1
ALTER COLUMN Column1 VARCHAR(20)COLLATE Latin1_General_CS_AS

COlaltions:
http://technet.microsoft.com/en-us/library/ms180175.aspx

sql server drop foreign keys / Fremdschluessel loeschen

wenn man tabellen löschen will, erhält man oft die meldung:
cannot ... because it is being referenced by a FOREIGN KEY constraint

hier ein select zum generieren von alter table statements  um alle foreign keys der datenbank zu löschen:

select 'alter table ['+t.name + '] drop constraint ['+k.name +']' as keyname from sys.foreign_keys k join sys.tables t on t.object_id=k.parent_object_id

wenn man nur daten  im "bulk modus" (also ganze tabellen kopieren) einfügen will, genügt es vorübergehend die constraints zu disabeln:
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"

und dann wieder einzuschalten:
exec sp_msforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"



when droping tables or deleting rows you often get:
cannot ... because it is being referenced by a FOREIGN KEY constraint

this select generates alter table statements to delete all foreign key in a database:

select 'alter table ['+t.name + '] drop constraint '+k.name as keyname from sys.foreign_keys k join sys.tables t on t.object_id=k.parent_object_id

if you just want to copy tables, its enough to disable constraints:
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"

and after coping data enable again:
exec sp_msforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"

Tuesday, October 29, 2013

html escaping / klammern und ampersand

& &
< <
> >
/ ⁄

simple / einfaches Javascript in / im Sharepoint

ein Javascript kann man z.b. mittels  Inhalts-Editor-Webpart in eine Sharepoint Site integrieren:
Sp2007: Website Aktionen, Seite Bearbeiten, Webpart hinzufügen, Inhalts-Editor-Webpart, bearbeiten, freigegebenes Webpart bearbeiten, Quelltext Editor:

<script language="javascript" type="text/javascript">
alert("test1!");
<script>


a javascript can be added to sharepoint by adding a content editor webpart:
sp2007: website action, edit site , add webpart, content editor webpart, edit, source:

Dir commando (aus CMD Shell) Listformat / Listenformat

Änderungsdatum, Änderungszeitpunkt, Art, Größe, Name

Changedate,ChangeTime, Kind, Size, Name

spaltenreihenfolge ändern sharepoint 2007 change column order

In Listeneinstellungen unter Inhaltstypen auf Link Element klicken, dann ganz runterscrollen und Link Spaltenreihenfolge klicken


how to get Sharepoid List Guid - wie bekomme ich die Guid einer sharepoint lsite

Die Guid einer Sharepoint Liste steht in der Url der Eigenschaftsseite der Liste: http:// ..... _layouts/listedit.aspx?List=%7BD2EAF407%2D4D38%2D5D39%2DA411%2D1434E8C5C096%7D

die URL codierten Zeichen müssen dabei wieder umgewandelt werden:
%7B geschwungene Klammer links
%2D Bindestrich
%7D geschwungene Klammer rechts

Bei Sharepoint 2007 in der Listenansicht auf Einstellungen/Einstellungen für Liste drücken, bei Sharepoint 2010 auf Listentools/Liste und dann im Ribbon auf Listeneinstellungen gehen.

you can see the Listguid in the URL of the list properties:
http:// ..... _layouts/listedit.aspx?List=%7BD2EAF407%2D4D38%2D5D39%2DA411%2D1434E8C5C096%7D

th url contains encoded:
%7B brace left
%2D hyphen
%7D brace right

Monday, October 28, 2013

Berechtigungen für SQL Server Agent / rights for Sql Server Agent

Um den Sql Server Agent im SSMS eingeblendet zu bekommen, muß der User in der MSDb Datenbank zur Rolle SqlServerAgentOperater hinzugefügt werden.
For seing SqlServerAgent in SSMS a user has to be in role SqlServerAgentUser of msdb database.

Simple Add New ADODB Record to Access Table (VBA) example / einfaches Beispiel Hinzufügen ADODB Record zu Access Tabelle (VBA)

Function AddNewRec(dest As String)

   '? AddNewRec("test")
'newway:
    Dim r As New ADODB.Recordset: r.Open dest, CurrentProject.connection, adOpenDynamic, adLockOptimistic
'Oldway (.Mdb files) - does not work with accdb backend)
    'Dim r As Recordset: Set r = CurrentDb.OpenRecordset(dest)
 
    r.AddNew
    r.Fields("Id") = "1"
    r.Fields("name") = "test"
    r.Update
 
    r.Close

End Function

Saturday, October 26, 2013

compare Windows 8 Phone - Andronoid 2.36 Vergleich


FeatureWindows 8Andonoid 2.3.6
Tastaturbessere Vorschläge aber umständlicher als swipe, Palm Schriftzugerkennung war besser, Sonderzeichen scher zu findenswipe tastatur ermöglicht rascheres schreiben
Maileinfacher zu bedienen und zu kategorisierenGMail: umständliches zuweisen von Labels
www Browserinkompatibler: manche videos lassen sich nicht abspielenkompatibler, besonders bei videos
Audio/Musickeine Möglichkeit gefunden, einzelne Folder der SD Card abzuspielen, nur Gesamtverzeichnis aller Musikdateien auf dem Gerät nach Künstler, Album, SongtitelFolder Player App ermöglicht abspielen einzelner Folder auf der SD Card
Internet Verbindung teilennur über WLAN möglich auch USB Thethering möglich