Archiv der Kategorie: Datenbanken

Problem mit MSDE: „Benutzer … ist keiner vertrauten SQL-Verbindung zugeordnet.“

Des öfteren hatte ich schon das Problem, dass ich eine MSDE (Microsoft SQL-Server Desktop Edition) meines SQL-Servers brauchte. Als ich dann auch dem Rechner mein Programm installierte, welches auf die Datenbank zugreift, und dieses startete, bekam ich die Fehlermeldung „Benutzer ‚xy‘ ist keiner vertrauten SQL-Verbindung zugeordnet.“.

Nachdem ich lange Zeit damit verbracht hatte, nach einer Lösung für dieses Problem zu googeln, bin ich auf einen Knowledge-Base Artikel von Microsoft aufmerksam geworden, der sich als äußerst hilfreich herausgestellt hatte.

Eigentlich ist es ganz einfach:

Man muss nur in der Registry den LoginMode des DB-Servers auf „2“ setzen. Dazu öffnet man den Registry-Editor (Kommandozeile: regedit). Anschließend geht man zum Schlüssel

HKLMSoftwareMicrosoftMSSqlserverMSSqlServerLoginMode

Dort legt man dann noch einen Hex-Wert „2“ an und startet den SQL-Server-Prozess neu.

Hier der Link zum KB-Artikel: http://support.microsoft.com/default.aspx?scid=kb;en-us;325022

Viel Spaß damit 🙂

Gratis-Plugin: Volltextsuche in MySQL

Endlich gibt es auch die Volltextsuche für MySQL:

http://sphinxsearch.com/

Das kostenlose Plugin sphinxsearch machts möglich. Damit ist es jetzt endlich möglich, neben den MyISAM-Tabellen auch alle anderen Tabellenarten zu durchsuchen. MyISAM-Tabellen haben nämlich den Nachteil, dass sie weder Transaktionen noch Fremdschlüsselbeziehungen kennen.

In MySQL-Versionen ab 5.0.22 lässt sich Sphinx als eigener Tabellentyp integrieren. Das Indexieren und Suchen in den Tabellen führt auch in diesem Fall der externe Daemon durch. Die eigentlichen Textdaten speichern beliebige MySQL-Tabellen, Sphinx-Tabellen fungieren als eine Art Proxy. Zur Abfrage dienen SELECT-Statements, die beide Tabellen in einem JOIN kombinieren.

Dabei werden folgende Features unterstützt:

  • high indexing speed (upto 10 MB/sec on modern CPUs)
  • high search speed (avg query is under 0.1 sec on 2-4 GB text collections)
  • high scalability (upto 100 GB of text, upto 100 M documents on a single CPU)
  • supports distributed searching (since v.0.9.6)
  • supports MySQL natively (MyISAM and InnoDB tables are both supported)
  • supports phrase searching
  • supports phrase proximity ranking, providing good relevance
  • supports English and Russian stemming
  • supports any number of document fields (weights can be changed on the fly)
  • supports document groups
  • supports stopwords
  • supports different search modes („match all“, „match phrase“ and „match any“ as of v.0.9.5)
  • generic XML interface which grealy simplifies custom integration
  • pure-PHP (ie. NO module compiling etc) searchd client API

Momentan besteht das sphinxsearch-Paket aus folgenden Teilprogrammen:

  • indexer: Werkzeug zum Erstellen von Volltext-Indizes
  • search: Ein einfaches (Test-)Werkzeug, um Volltext-Indizes von der Kommandozeile aus abzufragen.
  • searchd: Ein Daemon, um von außen (also über externe Programme wie webskripte) auf die Volltext-Indizes zuzugreifen
  • sphinxapi: ein Satz von Programmierschnittstellen (API) für PHP (momentan; später mehrere Sprachen)