Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

16. Juli 2007 um 20:24

SQL-Server-2005: Datenbank mssqlsystemresource

Über einen Artikel zu Thema Wiederherstellung der Systemdatenbanken stieß ich auf den Hinweis von Microsoft, dass man mit einem Trick die versteckte/geheime Mssqlsystemresource-Datenbank bearbeiten kann.

Dazu muss man den Dienst in der Minimalkonfiguration starten, z.B.:

net start "SQL Server (MyYukonBox)" /f

Dann sind plötzlich ganz spannende Dinge möglich. Man kann aber nicht nur den Modus der Datenbank ändern:

ALTER DATABASE mssqlsystemresource SET READ_ONLY; -- READ_WRITE;

oder Meta-Informationen abfragen:

select db_id('mssqlsystemresource'), db_name(32767)
–> 32767 mssqlsystemresource

Man kann sogar "in die Datenabnk" rein und dort die Systemtabellen abfragen:

use mssqlsystemresource
select name, type from sys.objects

OK, es geht nicht alles, aber das Fehlende kann man mit etwas Mühe und DBCC PAGE rausfinden, z.B.:

dbcc traceon (3604)
DBCC page (32767, 1, 1, 1)

Der Anfang ist gemacht… und morgen kommt mehr.

14. Juli 2007 um 17:26

Keine Virtualisierung von Vista Home

Wie man im Artikel "The Truth About Vista Virtualization Licensing" bei InfoWorld lesen kann, möchte Microsoft nicht, dass man Vista-Home virtualisiert.

In der Eula von "Vista Home Basic" und "Home Premium" steht:

You may not use the software installed on the licensed device within a virtual (or otherwise emulated) hardware system.

In der von "Vista Ultimate" hingegen:

You may use the software installed on the licensed device within a virtual (or otherwise emulated) hardware system on the licensed device.

Was das soll ist mir nicht klar. Befürchtet Microsoft Lizenzeinbußen durch die massenhafte Virtualisierung von "Vista Home Basic" anstelle von "Vista Ultimate"? Geht es wirklich nur darum, dass Linux- oder Mac-User ordentlich tief in die Tasche greifen müssen, wenn sie eine Vista-VM nutzen wollen? Würde dadurch nicht eher die Verbreitung von Windows gehemmt?
Oder geht es um die steigende Anzahl von Windows-Umsteigern in Firmen und Verwaltungen, die auf Linux umsteigen und für Legacy-Anwendungen eine Vista-VM nutzen könnten? Hier wäre aber doch ein Windows-Terminal-Server sowieso günstiger, oder?

Ich verstehe es nicht…

13. Juli 2007 um 14:18

Google Hacking Database

Aufgrund des Hinweises von Spencer widme ich der coolen "Google Hacking Database" ein eigenes Posting.

Wirklich verblüffend was man alles finden kann: Mailinglisten, Passwörter, Sicherheitslücken, …

12. Juli 2007 um 22:53

Boot Time Logging

Mein Kollege Robert machte mich auf ein nettes Feature des aktuellen ProcessMonitors von Sysinternals aufmerksam: Man kann das Feature
"Enable Boot Time Logging" aktiveren. Dann wird beim nächsten Boot recht früh der Prozessmonitor gestartet. Der protokolliert dann alles was passiert schon brav weg.
Um das Protokoll zu lesen, muss man lediglich nach dem Start erneut den Processmonitor starten und kann das Protokoll dann speichern.

Achtung:

  • Der Start des System verlangsamt sich dadurch dramatisch! Ich dachte sogar einmal mein Rechner hätte sich aufgehängt.
  • Mann muss Admin-Rechte haben, um das Feature einzuschalten.
  • Das Protokoll ist wirklich lang und ausführlich. Mal eben schnell drüber schauen dürfte aussichtslos sein. Man muss schon gezielt suchen.
12. Juli 2007 um 22:47

Google für Fortgeschrittene

Wer meint, dass er schon alle tricks bei Google kennt, der kann sich ja mal den Artikel "Unofficial Google Advanced Search" ansehen. Hier finden selbst gestandene Google-Kenner noch ein paar Hinweise für das bessere Finden…

10. Juli 2007 um 21:39

SQL PASS – Franken

Das gebe ich für Interessierte einfach mal ungefiltert weiter. Es wird bestimmt prima: lauter SQL-Freaks auf einen Haufen.
Ich werde dort sein… Sehen wir uns am 24.7.?


SQL PASS – ERSTES Treffen der Regionalgruppe Franken

Hallo,

auch bei der Professional Association for (MS) SQL Server – oder kurz PASS oder SQL-PASS – sind die Separatisten am Werk.

Wir wollen den übermächtigen Bayern die Stirn bieten.

Daher trifft sich die PASS Regionalgruppe Franken zu ihrem ersten Treffen in Nürnberg.


WICHTIG: Bitte meldet euch VORHER an – am besten per eMail an kob(at)sqlpass.de


WANN ist dieses erste Regionaltreffen ?

Wir treffen uns am 24.7.2007 um 18:00 Uhr

WO ist dieses Regionaltreffen ?

Netterweise hat sich Herr Deinhard, GF der Fa.

it innovations GmbH
Thomas-Mann-Str. 59
90471 Nürnberg
http://www.it-innovations.de/seminarcenter/anfahrt/anfahrt.htm

bereit erklärt, die Räumlichkeiten der it innovations GmbH für dieses – und (hoffentlich) noch viele folgende – Treffen kostenfrei zur Verfügung zu stellen. Schon mal ein herzliches Dankeschön an dieser Stelle dafür.

Was für eine Agenda gibt es bei dem Regionaltreffen am 24.7. ?

  • Registrierung
  • Begrüßung
  • der Verein stellt sich vor
  • Diverses
  • Fragen und Antworten
  • Festlegung der weiteren Vorgehensweise / Themen abhängig von den Wünschen der Teilnehmer

PASS – Was ist das ?

PASS steht für "Professional Association for (MS) SQL Server" D.h. PASS ist ein unabhängiger Verein von Personen, die sich professionell mit dem SQL Server beschäftigen. Ziel dieses Vereins ist ist das "Networking", d.h. sich gegenseitig durch persönliches Kennenlernen und persönlichen Wissens- und Gedankenaustausch einander beim alltäglichen "Kampf" mit den Tücken der Software zu helfen.

  • Verein ohne kommerziellen Hintergrund
  • von Usern für User
  • eine „offline-Community“
  • durch ehrenamtliche Mitarbeit und Sponsoren finanziert (= Mitglied kostenlos)
  • regional organisiert
  • „Official Chapter“ der PASS USA

Microsoft nimmt KEINERLEI Einfluss auf diesen Verein.

WER darf zu den Regionaltreffen kommen ?

Jeder, der sich vorher anmeldet und registriert, ein professionelles Interesse am MS SQL Server hat und bereit ist mitzuarbeiten, ist herzlichst willkommen.

Was kostet mich die Teilnahme beim Regionaltreffen ?

  • deine Zeit, Energie, und ggf. deine Anfahrtskosten.

Die Teilnahme an den Regionaltreffen selbst ist kostenfrei.

Die Mitgliedschaft im Verein ist ebenfalls kostenfrei.

Muss ich Mitglied bei PASS sein, um an den Regionaltreffen teilnehmen zu dürfen ?

Nicht unbedingt, du musst nur vorher zu den Regionaltreffen angemeldet und registriert sein, obwohl wir es natürlich begrüßen würden, möglichst viele PASS-Mitglieder bei den Regionaltreffen zu haben.

Wo finde ich weitere Infos zu PASS ?

bei http://www.sqlpass.de

Sind weitere Regionaltreffen geplant ?

Ja natürlich sind weitere Treffen – regelmäßig jeden zweiten Monat (oder häufiger) – geplant.

Wer hat den organisatorischen "Hut" für die neue Regionalgruppe Franken auf ?

Klaus Oberdalhoff
Uwe Kuhne


WICHTIG: Bitte meldet euch VORHER an – am besten per eMail an kob(at)sqlpass.de


Wir hoffen auf eine rege Teilnahme, erfolgreiches Networking – und auf viel Spass

mit freundlichen Grüßen aus Nürnberg

Klaus Oberdalhoff
Uwe Kuhne

10. Juli 2007 um 19:24

Sehen wie man wirkt

Neulich war ich auf einem Kurs zum Thema "Menschen gewinnen, Anliegen erfolgreich vorbringen". Der "reißerische" Titel schreckte mich etwas ab, aber der Kurs war prima. Allein schon wegen der Übungen in Form von Rollenspielen in denen man mal verschiedene Dinge ausprobieren konnte. Im Feedback der anderen erkenne ich immer wieder, wie anders eine Situation auf sie wirkte. Beispielsweise komme ich selten so streng oder ärgerlich rüber, wie ich das selber empfinde…

Hier gehts zur Homepage des Referenten: MS Management Service.

Am erschreckendsten fand ich einen Rethorik-Kurs in dem ich als Student gefilmt wurde. Schlimm war, dass ich mich selber dann sehen und hören musste. Das war ein echter Schock. 🙂

9. Juli 2007 um 23:37

Online-Profile bei Bewerbungen

Im Harvard-Bussiness-Manager Juli/2007 wird eine interessante Frage aufgeworfen. Am Beispiel einer fiktiven Fallstudie wird aus Sicht einer Firma eine Bewerbung einer vielversprechenden Kandidatin für einen wichtigen Posten in der Firma diskutiert. Dabei wird auch eine Auswertung der Person mittels Google durchgeführt. Natürlich werden potentiell belastende Dinge gefunden. In dem Beispiel ist es ja sogar noch positiv, weil die Bewerberin als Studentin sehr engagiert für die Menschenrechte eintrat und sich wegen Ihren chinesischen Sprach- und Landeskenntnissen sehr als Kritikerin des chinesischen Regimes hervor tat. Und in der fraglichen Position wäre sie für den Aufbau der neuen Niederlassung in Shanghai verantwortlich… Wie soll sich die Firma verhalten?

Die Experten antworten meist aus Sicht der Firma: Ja, es ist rechtmäßig eine Internetrecherche durchzuführen. Der Hintergrund der Kandidatin kann sich zu einem PR-Albtraum für die Firma entwickeln. In China ist es wichtig, dass leitende Angestellte älter sind, usw.

Immerhin wurde auch eine Bloggerin als "Expertin" hinzugezogen, die auf die Sicht der Kandidatin eingeht: Sie solle an Ihrem Internet-Profil arbeiten.
Heutzutage ist es für engagierte Menschen so gut wie unmöglich, dass man nichts über ihn/sie im Internet findet. Wenn dort nichts steht, dann bedeutet das vermutlich, dass er/sie sich sonst nirgends engagiert hat. Jeder Kanickelzuchtverein stellt mittlerweile seine Vereinszeitung online…
Wenn man also nichts im Internet findet, dann ist fast schon verdächtig. Wenn die Expertin Danah M. Boyd, sie selber schreibt seit 10 Jahren aktiv in Blogs, von aktiver Gestaltung spricht, dann meint sie damit, man soll sein "unvermeidliches" Bild aktiv durch eigene Äußerungen ergänzen. Sie rät der Kandidatin dazu im Internet Ihren Sinneswandel zu schildern: Wie wurde aus der Regimegegnerin plötzlich jemand, der dort arbeiten will? Auf diese Weise kann man seine eigenen Gedanken und Meinungen zum Ausdruck bringen. Der Auswerter ist dann nicht auf die Berichte Dritter angewiesen.

Jede meiner Äußerung in Foren oder im Usenet (ich glaube ich bin seit 1990 im Usenet unterwegs) wird vermutlich noch in 50 Jahren bei Google abrufbar sein. Den heutigen Teenagern dürfte das nicht klar oder – wenn doch – vermutlich sogar egal sein. Meist denken die Kids sogar, dass sie durch einen Fantasienamen vor dem Auffinden geschützt seien.
Ich sehe es ähnlich wie Frau Boyd: Wer als Arbeitgeber zukünftig nach einer Internetrecherche nur die einstellt, die nie auffällig wurden, der dürfte bald einen Haufen Langeweiler beisammen haben. Dennoch macht man es als Bewerber einer Firma unnötig schwer, wenn man bspw. nur als Nörgler oder Quengler in Beschwerdeforen auftaucht.

8. Juli 2007 um 11:15

SQL-Server-2005: komischer Hotfix

Damit ich morgen daran denke dem mal nachzugehen:

Microsoft hat vorgestern Infos über einen Hotfix zum SQL-Server-2005 bereit gestellt. Von der Beschreibung her sollten sehr viele davon betroffen sein. Wir hatten das Problem aber bislang nicht. Ich hoffe mal, dass keine unserer Abteilungen die Option ausgeschaltet hat:

When you update a table that contains a nonclustered index in a Microsoft SQL Server 2005 database, the database is marked as suspect. […]
This problem occurs if the allow_page_locks option for the database is disabled.

Behoben wird das Problem im "cumulative update package 2 for SQL Server 2005 Service Pack 2 (build 3175)", daher auch das Datum vom April. Aber warum kommt die Info erst jetzt? Das finde ich komisch.

Infos von Microsoft:
"FIX: A database is marked as suspect when you update a table that contains a nonclustered index in SQL Server 2005"

7. Juli 2007 um 08:59

Bald sind wir dann kriminell

Es ist schon traurig, dass unsere Teilzeitpolitiker sehr viel Energie aufbringen, damit sie ihre "Nebeneinkünfte" nicht offen legen müssen, sich auf der anderen Seite sich nicht mit den Dingen befassen, die sie beschließen.

Ich mag mich noch nicht im Detail damit befassen, was dank des Hackerparagraphen demnächst verboten wird. Aber so etwas "Böses" wie Netz-Sniffer – mit denen man ja sogar Passwörter sehen kann – sind mit Sicherheit verboten. Wenn ich bedenke, dass in unserer Gruppe fast täglich irgendwelche Netzwerkanalysen gemacht werden, entweder weil Kunden Probleme haben oder weil wir einen neuen Bug bei Microsoft vermuten. Beispielsweise hat Microsoft im Vorfeld zu unserer Vista-Einführung 4 unserer gefundenen Vista-Bugs anerkannt und uns dazu Hotfixes geliefert. Das war auch dringend nötig, weil sonst die Programme zu eigenartigem Verhalten tendierten.

Ich kann mir nicht vorstellen, dass wir diese Arbeiten einstellen. Aber wir werden wohl vorsichtshalber mal unsere Rechtsabteilung dazu befragen… Aber auch das ist riskant: Verknackt wird dann nämlich der Mitarbeiter, nicht die Firma.

7. Juli 2007 um 08:37

SQL-Server: Ausführungspläne speichern

Das man Ausführungspläne speichern kann, ist ein nettes Feature, dass ich neulich erst für mich entdeckte. Dazu muss man im SQL-Server-Management-Studio lediglich auf den angezeigten Zugriffsplan mit der rechten Maustaste das Kontextmenü aufrufen und dort auf "Speichern …" klicken.

Die abgespeicherte "*.sqlplan"-Datei ist ein normale XML-Datei, die mehr Infos enthält als an der Oberfläche angezeigt werden. Jetzt kann man die Datei einem Kollegen schicken oder für spätere Vergleiche aufheben. Um sie wieder im SQL-Server-Management-Studio anzusehen, muss man sie einfach nur öffnen.

6. Juli 2007 um 16:08

SQL-Server: Ergebnisse aus einer Prozedur auffangen

Heute fragte mich ein Kollege, wie man in einer Prozedur die Ergebnisse aus einer anderen Prozedur "auffangen" kann. Das geht mit maximal einem ResultSet. Wenn die Prozedur mehrere liefert, dann geht es nicht.

Man benötigt dazu eine Table-Variable oder eine (temporäre) Tabelle. In folgenden Beispiel wird das Ergebnis der Prozedur "sp_who" aufgefangen:

create table #temp(
id integer identity(1,1) not null primary key,
spid integer not null,
ecid smallint not null,
status nvarchar(100) not null,
loginame sysname not null,
hostname sysname not null,
blk smallint not null,
dbname sysname null,
cmd nvarchar(2000) null,
request_id integer not null)

insert into #temp (spid, ecid, status, loginame, hostname,blk, dbname, cmd, request_id)
exec sp_who

select spid, ecid, status, loginame, hostname,blk, dbname, cmd, request_id
from #temp

drop table #temp

So richtig schnell ist das allerdings nicht. Deswegen sollte man sich überlegen, lieber eine "table-valued function" einzusetzen. Das geht freilich nur, wenn in der Funktion keine Daten geändert werden.