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.