3.8.3 Microsoft SQL Datenbanken durchsuchen
Es gibt Fälle in denen bei Verwendung von ADVOKAT mit Microsoft SQL Server nach einem bestimmten Wert (Text/Zahl/Wort/Wortteil) in der Datenbank gesucht wird.
Dafür muss Microsoft SQL Management Studio verwendet werden, das Tool "AdvoDiag.exe" ist dafür nicht verwendbar.
Hinweis
Es dürfen keinesfalls Änderungen an den SQL-Datenbanken per Management Studio ohne Rücksprache mit dem ADVOKAT Support vorgenommen werden!
In diesem Kapitel ist lediglich eine Einsichtnahme beschrieben, wie man Datensätze verändert ist nicht dokumentiert.
Vorgehensweise
- Verbinden Sie sich als Domänenadministrator per Remotedesktopverbindung auf den Datenbankserver. Ist AdvoAll im Einsatz, so kann alternativ auch das AdvoAll-Benutzerkonto genutzt werden.
- Falls Microsoft SQL Management Studio am eigenen Arbeitsplatz verfügbar ist, können Sie es natürlich auch dort nutzen.
- Starten Sie Microsoft SQL Management Studio. Sollte es nicht starten oder eine Fehlermeldung anzeigen, versuchen Sie es erneut per Rechtsklick > "Als Administrator ausführen".
Ist Microsoft SQL Management Studio nicht vorhanden, so ist ohne Wartungsfenster eine nachträgliche Installation möglich.
Unabhängig von der verwendeten Version des Microsoft SQL Server kann das aktuellste Management Studio hier heruntergeladen werden, die Installation ist vollautomatisch und selbsterklärend.
Verbinden Sie sich mit jener Microsoft SQL Instanz, welche die ADVOKAT Datenbanken beinhaltet.
Den Instanznamen können Sie in der Konfigurationsdatei "Advokat.ini" im ADVOKAT Backend unter "...\ADVOKAT\Daten" ermitteln.DATENBANK=S:\ADVOKAT\DATEN\ADVOKAT.MDB/SERVER/INSTANZ/Advokat_DATENAls Authentifizierungsmethode sind folgende Varianten möglich:
Windows-Authentifizierung
SQL Server-Authentifizierung
Benutzername: advokat
Kennwort:
- Standardkennwort: Das Kennwort ist beim ADVOKAT Support zu erfragen.
- Individuelles Kennwort (Parameter "SWID" ist in Advokat.ini vorhanden): Dieses Kennwort ist dem ADVOKAT Support nicht bekannt.
- Nach dem erfolgreichen Verbindungsaufbau werden in der linken Spalte "Objekt-Explorer" beim Unterpunkt "Datenbanken" alle verfügbaren Datenbanken angezeigt.
Es ist jene Datenbank per Rechtsklick > "Neue Abfrage" auszuwählen, deren Inhalt man überprüfen möchte. In den meisten Fällen handelt es sich dabei um die Datenbank "ADVOKAT_Daten". Im Abfragefenster können nun SQL-Befehle abgesetzt werden. Die Ausführung eines SQL-Befehls erfolgt über die Schaltfläche "Ausführen".
Nachdem die Ausführung eines Befehls abgeschlossen ist – diese kann Sekunden bis Minuten dauern, die Dauer wird angezeigt – erscheint der Bereich "Ergebnisse".
In diesem Beispiel wird nach dem Wort "Test" gesucht, es werden als Ergebnis alle Datenbankfelder aufgelistet in denen dieses Wort vorkommt.
Die Angabe des Symbols "%" (Wildcard) ist nicht erforderlich, auf die Groß- und Kleinschreibung muss auch nicht geachtet werden.
Falls Sie nicht das gewünschte Ergebnis finden, dann sind Schritt 3 und 4 mit einer anderen Datenbank zu versuchen: ADVOKAT_AdvoErv oder ADVOKAT_TabellenDECLARE @SearchStr nvarchar(100) = 'Test' DECLARE @Results TABLE (ColumnName nvarchar(370), ColumnValue nvarchar(3630)) SET NOCOUNT ON DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) SET @TableName = '' SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''') WHILE @TableName IS NOT NULL BEGIN SET @ColumnName = '' SET @TableName = ( SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName AND OBJECTPROPERTY( OBJECT_ID( QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) ), 'IsMSShipped' ) = 0 ) WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) BEGIN SET @ColumnName = ( SELECT MIN(QUOTENAME(COLUMN_NAME)) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2) AND TABLE_NAME = PARSENAME(@TableName, 1) AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal') AND QUOTENAME(COLUMN_NAME) > @ColumnName ) IF @ColumnName IS NOT NULL BEGIN INSERT INTO @Results EXEC ( 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 ) END END END SELECT ColumnName, ColumnValue FROM @Results
Copyright © 2024 ADVOKAT Unternehmensberatung GREITER & GREITER GmbH - Impressum ->https://advokat.at/Impressum.aspx