Monday, January 25, 2010

Crytal Reports Formeln

VS2008: rechte Maustaste auf ein Feld, Format Object
z.b. Textfarbe aus Datenbank holen:
Reiter Font / Color auf Button x2 drücken. Es gibt zwei Syntaxe :
Basic: formular={sp_MBagTODO2.MaschineTypeColor}
Crytal Report: {sp_MBagTODO2.MaschineTypeColor}

wobei {Datasetfeldname} ist.

Thursday, January 21, 2010

Werte in Identity Spalte einfügen

Werte in Identity Spalte einfügen geht mit:
set IDENTITY_INSERT dbo.[User] on

Werte in Identity Spalte einfügen

Werte in Identity Spalte einfügen geht mit:
set IDENTITY_INSERT dbo.[User] on

Wednesday, January 20, 2010

access optionen / aktuelle Db / Dokumente im registerkartenformat

Um bei Access die Fenster im Registerkarten (Tab) Format anzuzeigen, muss man auf den Office Knopf drücken, access optionen / aktuelle Datenbank / Dokumentenfensteroptionen (relativv am Anfang der Seite, 4-5 Option) / Dokumente im registerkartenformat auswählen und Dokumentenregisterkarten anzeigen anhacken

Access & VBA: Kalenderwoche

Um die Kalenderwoche richtig darzustellen hat die Format Funktion zwei optionale Parameter firstdayofweek und firstweekofyear :
Format(expression [, format ] [, firstdayofweek ] [, firstweekofyear ] )

wobei firstdayofweek folgende werte enthalten kann:

vbUseSystem 0 Verwendet die NLS API-Einstellung.
VbSunday 1 Sonntag (Standard)
vbMonday 2 Montag
usw.

und firstweekofyear folgende werte enthalten kann:

vbUseSystem 0 Verwendet die NLS API-Einstellung.
vbFirstJan1 1 Beginnt mit der Woche, in die der 1. Januar fällt (Standard).
vbFirstFourDays 2 Beginnt mit der ersten Woche, die mindestens über vier Tage in dem Jahr verfügt.
vbFirstFullWeek 3 Beginnt mit der ersten vollen Woche des Jahres.

gewohntes deutsches Format ist daher:
=Format(Date();"ww";1;2)

siehe auch: http://office.microsoft.com/de-de/access/HA012288391031.aspx

Tuesday, January 19, 2010

Norton Ghost 2003 kann noch WIndows 7 ?

Norton Ghost 2003 kann im Gegensatz zu PowerQuest Drive Image 2002 noch die Partitionstabelle lesen und ein Image von einer Windows7 POartition machen - ob es auch Wiederherstellbar ist muss ich noch testen.
Bis jetzt habe ich keinen Weg gefunden ACronis DiskDirector von einem alten MSDOS (W98) zu starten, bei Ghost2003 genügt es die exe auf eine WHD mit W98DOs Startpartition zu kopieren - läuft einwandfrei

sql2005 - 2008 Kompatibilität

Sql2005 Backups können am SQL 2008 wiederhergestellt werden, umgekehrt jedoch nicht. Prinzipiell gilt: Aufwärts, aber nicht abwärtskompatibel.

Monday, January 18, 2010

Anwachsen Transaktionslog verhindern / Datensicherheit

Im Transaktionsprotokll werden alle Transaktionen (Insert / Update / Delete usw.) gespeichert, bevor die Daten in den Daten Files wirklich verändert werden (aus Performance und SIcherheitsgründen). Wenn das Recovery Modell SImple ist werden diese sofort nach eintrag in den Datenfiles als überschreibbar markiert, und bei Bedarf wieder überschrieben. Bei den anderen Recovery Modellen jedoch weren die Einträge erst nach einem LOG BACKUP (NICHT FULL BACKUP) als überschreibar markiert, um bei einem Fehlerhaften Daten File oder bei einem Irrtümlichen Löschvorgang usw. die Datenbank aus dem letzen FULL BACKUP und allen folgenden Transaction Log Backups sowie dem Transaction Log die Datenbank zu jedem beliebigen Zeitpunkt seit dem letzen FULL BACkup wiederhergestellt werden kann. Wird das Transakction Log nicht mittels LOG Backup weggesichert (dann werden die enthaltenen EInträge als überschreibbar markiert, ausgenommen die, die noch zu offenen Transaktionen gehören) wächst das Transaktion log immer weiter an, da die alten Einträge nciht überschrieben werden können.
Wird also ein anderes Recoverymodel als Simple verwendet, MUSS ein LOG BACKUP regelmäßig gemacht werden, um ein ANwachsen zu verhindert. Ist das ProtokollFile allerdingsschon angewachsen, kann nach einem Transaction Log Backup das Log File mit Shrink verkleinert werden (die saubere Variante, wenn es um die Erhaltung der Wiederherstellung zu jedem beliebigen Zeitpüunkt geht).

Wichtig für erfolgreiches Sichern einer Datenbank:
1) Sofort nach Anlage der Datenbank Recovery Modell auf FULL stellen und ein FULL BACKUP machen.
2) regelmäßige Log Backups
3) in größeren Abständen FULL BACKUPS machen, unmittelbar davor aber ein LOG BACKUP machen, um auch die Zustände zwischem letzen LOG BAckup und Full Backup wiederherstellen zu können

nach dem 1.LogBackup  eventuell ein Shrink durchführen:


USE [dbname]
GO
DBCC SHRINKFILE (N'logfilename logisch' , 1000)
GO

oder im ssms unter Datenbank, Task, Verkleinern, File, Logfile

Windows VPN Verbindung & und Zugriff aufs lokale Netzwerk

Default Maessig wird beim Verbinden über eine Windows VPN Verbindung das Remote Standard Gateway verwendet, d.h. alle Netzwerkanfragen werden nicht mehr über das StandardGateway der lokalen LAN Verbindung geroutet sondern über das Standardgateway des Netzes, in das man sich mit VPN verbindet. Dies kann über VPN Eigenschaften / Networking / Internet Protokoll v4 / Eigenschaften -> Advanced / Use Default Gateway on remote network geändert werden.

Friday, January 15, 2010

Virtual PC Save State

Beim Virtuellen PC 2007 kann man beim schließen des Fensters auswählen, ob man den Computer abdrehen oder den Staus speichern möchte und so gleich weiterarbeiten kann beim wiedereinschalten.

Thursday, January 14, 2010

EMail Benachrichtigung für SQLAgentJob / Wartungsplan

Jedem Wartungsplan ist ein SQLAgentJob zugeordnet. Es genügt leider nciht, beim Wartungsplan EMAilBenachrichtigung im Fenster Protokollierung anzuhacken (Button in 1. Zeile des Wartungsplans). Mann muss zuerst Datenbank Mail konfigurieren (siehe früherer Post) und dann den SQL Agent für EMail Versand konfigurieren:
SqlAgent/eigenschaften -> Warnsystem / Mailsitzung
SqlAgent/neustarten
und dann im zum Wartungsplan gehörenden Job einstellen wer in welchem Fall benachrichtigt wird:
SqlAgent/Aufträge -> Notifikation

Job testen und im DatenbankMail Protokoll auf Fehlermeldungen überprüfen

SqlServer Wartungspläne für Backup

FullBackup (z.b. wöchetnlich oder monatlich)
1) Danenbnakintegrität überprüfen (Check Database Integry)
2) History Cleanup
3) RebuildIndex / Reorgainze Index
4) UpdateStatistics (nihct notwendig bei Index Rebuild, dieser erstellt automatisch neue Statistiken)
5) Backup DB: LOG zuerst (sonst kann man den Zeitraum vorm full backup bis zum letzen Log Backup nicht wiederherstellen)
6) TSQL Befehl ausführen: exec xp_cmdshell 'D:\SQLDATA\Backup\Automatenverwaltung\Automatenverwaltung.bat' zum umbennenen der Dateien
7) Backup DB: FULL

LogBackup (z.b. täglich, halbtäglich ...)
1) Check Db Integry Task
2) Backup Log

Im Wiederherstellungsfall, immer zuerst ein LogBackup des aktuellen Transactionlogs machen (dmait man auch die neuersten Transaktionen Wiederherstellen kann) und die DB offline schalten bzw. detachen. Wichtig: Stellt man bei einem DB Backup Task die Sicherungsart (Full / Differentiell oder Log um, muss man die Datenbanken und das Backupfile erneut aussuchen / angeben)

Dos Kommandos mittels TSQL: xp_cmdshell

Wenn man aus einem TSQL Script am SQL Server Betiebsystembefehle ausführen möchte, geht das mit der Stored Procedure xp_cmdshell, die man aber zuerst freischalten muss (da sie ein Sicherheitsrisiko darstellt):

Auf master datenbank als sysadmin ausführen:
EXEC master.dbo.sp_configure 'show advanced options', 1

RECONFIGURE

EXEC master.dbo.sp_configure 'xp_cmdshell', 1

RECONFIGURE

Exec xp_cmdShell ‘dir *.*’

wenn dann blogspot.com und blogger.com vertrauenswürdig

hat man nur blogspot.com als vertrauenswürdig gesetzt, und blogger.com nciht, bekommt man probleme beim anmelden unter win7/ie8.

Monday, January 11, 2010

Sql2005 / 2008 & Compact

Wenn man am SQL2005 eine Compact Datei erzeuigt, so wird sie vom 2008er (SqlCompactCe3.5) konvertiert.

exe (Programme) ins Startmenü einbinden

Um Programme im Startmenü anzeigbar zu machen, einfach das Programm kopieren und eine Verknüpfung in Windows/Starmenü/Programme erstellen

Windows 7 Suche Explorer

Im Explorer Dateien bestimmter Groesse suchen: size:>500kb size:<800kb AND Verknüpfung, einfach in das Search Feld eingeben

Sunday, January 10, 2010

active sync und sdf dateien (compact sql server ce)

Eine CompactSqlServerCe Datei wird mittels Active Sync syncronisiert, auch bei laufender Anwendung am mobile für diese db, man muss sich aber nach jedem sync am host neu mit dem sqlserver management studio auf die gesyncte sdf datei verbinden, um die änderungen zu sehen (sql server ce 3.5 winMobile 6.1 windows 7, sqlserver 2008 studio)

Saturday, January 09, 2010

Dataset TableAdapter

Beim Erzeugen eines typisierten Datasets durch Drag & drop der Tabellen ins xsd File werden zusätzlich zu den DataTables sogenannte Tableadapter generiert. Wichtig ist dass die tabelle einen Primary Key hat, sonst können keine Update / Delete Commandos für die DataAdapter der TableAdapter erezugt werden (geht auch mit commandbuilder nicht).
wenn Primary key fehlt hinzufügen mittels:
alter table Zeit add constraint TasksPK PRIMARY KEY (GUID)

mit AddQuery aus dem Contextmenü kann man weitere Abfragen, Sps hinzufügen um weitere FillBy... Methoden zu generieren, um z.b. bestimmte Parameter an Fill Sps zu übergeben

errormessages / Fehlermeldungen Windows Mobile NETCFv35.Messages.DE.wm.cab

Um Fehlermeldungen am Windows mobile 6 anzuzeigen muss NETCFv35.Messages.DE.wm.cab installiert werden - download - kopieren aufs mobile, dort ausfuehren

to display errormessages on windows mobile 6 you have to install NETCFv35.Messages.DE.wm.cab (copy to mobile and execute there)

Friday, January 08, 2010

SQLServerCompact

SQLServerCompact speichert Datenbanken in sdf Dateien. Unter Win7 64bit erhielt ich den Fehler "unable to oad DLL sqlceme35.dll" , ausserdem wird beim kopieren einer sdf Datei eine neue Datenbank angelegt, anstatt den Inhalt mitzukopieren. Die SDF Dateein können übers SqlManagement Studio (Connect SqlServer Compact) oder das Visual Studio gewartet werden. Schema und Daten einer SQL Server Datenbank am besten mt Merge Replikation übertragen, eine SQLCompactDatei als Linked Server einzubinden ist mir nicht gelungen, umgekehrt gibt es diesen Punkt nicht. Mit VS2008 kann man die Daten editieren.

Zugriff auf eine sdf Datei aus c#:

SqlCeConnection con = new SqlCeConnection("Data Source=|DataDirectory|\\TodoList.sdf");
con.Open();
SqlCeCommand com = new SqlCeCommand("Select count(*) from Tasks", con);
object o =com.ExecuteScalar();
SqlCeDataAdapter da = new SqlCeDataAdapter("Select * from Tasks", con);
DataTable dt = new DataTable();
da.Fill(dt);

oder reinziehen der Tabellen aus dem Server Explorer in ein typisiertes Dataset (xsd), dann werden auch gleich die entsprechenden Table Adapter erstellt.