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.
meine Sys/Db admin & Developper Notitzen - wer Rechtschreibfehler findet darf sie behalten ... my Sys/Db Admin and developper notes - I don't care about typos
Monday, January 25, 2010
Thursday, January 21, 2010
Werte in Identity Spalte einfügen
Werte in Identity Spalte einfügen geht mit:
set IDENTITY_INSERT dbo.[User] on
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
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
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
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
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
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)
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 *.*’
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
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)
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.
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.
Subscribe to:
Posts (Atom)