Dokumentation
Zurück zur Website >

Fehler beim Starten

Fehler beim Start „Zeile mit doppeltem Schlüssel“

EULANDA lässt sich nicht starten. Es wird eine der nachfolgenden Fehlermeldungen angezeigt. Der Fehler tritt nur bei einzelnen Benutzern auf bestimmten PCs auf. Der Fehler tritt nur im Zusammenhang mit einem Programmupdate, einem neuen Benutzer oder neuer Hardware auf.

Native Error 512
Die Unterabfrage hat mehr als einen Wert zurückgegeben. Das ist nicht zulässig, wenn die Unterabfrage auf =, !=, <, <=, > oder >= folgt oder als Ausdruck verwendet wird.

native error 512
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

Lösung

Führen Sie folgenden SQL-Befehl sooft aus, bis im Ergebnisbereich angezeigt wird, dass keine oder Null Zeilen betroffen sind:

update cnProcesses
set program_name = RTRIM(program_name) + 'X'
where id in (
select min(id)
from cnProcesses
group by
uid, sid,hostname,program_name,nt_domain,nt_username,net_address,net_library,loginame
having count(*)>1
)

Datenbankbesitzer ist ein Windows-Benutzer

EULANDA lässt sich nicht starten - auch nicht als Administrator. Beim Starten - ggf. auch an anderer Stelle im Programm - erscheint eine der folgenden oder eine ähnliche Meldungen:

Meldung 15517
Die Ausführung als Datenbankprinzipal ist nicht möglich,
weil der Prinzipal "dbo" nicht vorhanden ist, für diesen Typ
von Prinzipal kein Identitätswechsel möglich ist, oder Sie nicht
die erforderliche Berechtigung haben.

Message 15517
Cannot execute as the database principal because the
principal "dbo" does not exist, this type of principal cannot
be impersonated, or you do not have permission.

In anderen Fällen lässt sich EULANDA® starten, aber gewisse Funktionen - beispielsweise das Kopieren von Adressen - schlagen fehl. Hierbei wird dann obige oder nachstehende Meldung ausgegeben:

Meldung 15404
Die Informationen über Windows NT-Gruppe oder -Benutzer 'dbo' konnten nicht abgerufen werden, Fehlercode 0xffff0002.

Meldung 15404
Could not obtain information about Windows NT group\user 'dbo', error code 0xffff0002.

Mögliche Ursache

Der Besitzer der Datenbank ist nicht der fest hinterlegte SQL Administrator "sa", sondern ein Windows-Anmeldename. Das ist beispielsweise der Fall, wenn beim Anlegen der Datenbank kein Anmeldenamen eingegeben wurde. In diesem Fall wird der jeweils angemeldete Windows-Benutzer als Datenbankbesitzer hinterlegt.

Überprüfen Sie den aktuell hinterlegten Datenbankbesitzer

Den aktuell hinterlegten Datenbankbesitzer finden Sie im SQL Management Studio heraus, wenn Sie mit der rechten Maustaste auf die Datenbank klicken und Eigenschaften auswählen.

Alternativ können den Besitzer auch über nachfolgenden SQL-Befehl ermitteln. Diesen können Sie beispielsweise im EULANDA-SQL-Designer ausführen:

select suser_sname(owner_sid)
from master.sys.databases
where database_id = db_id()

select suser_sname(sid)
from sys.database_principals
where name = 'dbo'

Beide Abfragen müssen „sa“ als Ergebnis haben. Wenngleich der Fall, dass sich die Ausgaben unterscheiden seltener ist.

Lösung

Ändern Sie den Datenbankbesitzer in "sa" um.

Hierzu muss nachfolgender SQL-Befehl ausgeführt werden. Führen Sie vor der Änderung unbedingt eine Datensicherung Ihres kompletten Systems durch.

sp_changedbowner @loginame = 'sa'

Technischer Hintergrund

Einige serverseiten Prozeduren (stored procedures) sind mit der EXECUTE-AS-Klausel angelegt worden - etwa wie im folgenden Beispiel:

ALTER PROC [dbo].[ProzedurName]
with execute as owner
AS
SET NOCOUNT ON
(...)