2011-01-10 23 views
31

Ich versuche, einem Benutzer im Abschnitt Benutzerzuordnung einer Datenbank alle Berechtigungen zu erteilen. Aber, ich bin Begegnung mit diesen Fehler:Kann nicht Spezial-Haupt-Dbo verwenden: Fehler 15405

"kann nicht als Spezial verwenden Haupt dbo" alt text

Server Rollen des Benutzers:

alt text

+1

keine wirkliche Antwort auf die Frage gestellt, aber da Sie db_owner sind gewähren zu Sarin, warum versuchen Sie auch alle anderen Rollen zuweisen? –

+0

Dies ist, weil ich versuche, ein CMs auf meiner Website zu installieren und während des Installationsvorgangs, sagt es, kein Benutzer oder Rolle "Sarin". Siehe hier: http://i.imgur.com/Intaa.jpg – Cipher

+1

Der Benutzer 'sarin' ist bereits db_owner der Datenbank, es müssen keine weiteren Berechtigungen vergeben werden. Wenn Sie diesen Fehler immer noch erhalten, dann stellen Sie keine Verbindung zu der Datenbank her, von der Sie glauben, dass sie es ist, aber da Sie keine Screenshots des tatsächlichen Punktes, an dem Sie Server/db/username angeben, oder eine Verbindungszeichenfolge anzeigen, es ist ein wenig schwierig, weiter zu diagnostizieren. –

Antwort

45

Dies geschieht, weil der Benutzer 'Sarin' ist der eigentliche Besitzer der Datenbank "dbemployee" - als solcher können sie nur db_owner haben und können keine weiteren Datenbankrollen zugewiesen werden.

Noch müssen sie sein. Wenn sie der DB-Besitzer sind, haben sie bereits die Erlaubnis, in dieser Datenbank alles zu tun, was sie wollen.

(Um den Besitzer der Datenbank zu sehen, öffnen Sie die Eigenschaften der Datenbank. Der Besitzer ist auf der Registerkarte Allgemein aufgeführt).

Um den Besitzer der Datenbank zu ändern, können Sie sp_changedbowner oder ALTER AUTHORIZATION (wobei letztere offenbar die bevorzugte Art und Weise für die zukünftige Entwicklung, aber da diese Art der Sache neigt eine einmalige ... zu sein) verwenden

+0

Es kann erwähnenswert sein, dass dies helfen kann, Konfigurationsfehler oder Fehler zu beheben. Nachdem SP2 für SQL Server 2012 installiert wurde, wurde mein lokales SSMS abgespritzt. Ich musste SSMS vollständig deinstallieren/neu installieren und ich weiß, dass andere es auch haben; Viele MS-Blogs haben die Probleme bis zum Juni 2014 identifiziert. Die erwähnte ALTER AUTHORIZATION sowie das Verschieben aller ldf- und mdf-Dateien lösten alle Probleme. –

+0

Hallo, ich habe eine weitere Frage hier. Ich erhalte den Fehler oben in etwas anderen Umständen.Es gibt eine DB, auf der dbo Benutzername mit meinem Login-Namen erscheint (Orbus \ Gksiazek) – user3274207

+0

musste nur den Besitzer in sa ändern, und es funktionierte –

0

Diese Antwort hilft nicht für SQL-Datenbanken, in denen SharePoint verbunden ist. db_securityadmin ist für die Konfigurationsdatenbanken erforderlich. Um db_securityadmin hinzuzufügen, müssen Sie den Eigentümer der Datenbank in ein Administratorkonto ändern. Sie können dieses Konto nur für dbo-Rollen verwenden.

11

Fix: Cannot use the special principal ‘sa’. Microsoft SQL Server, Error: 15405

Wenn Sie eine Datenbank in Ihrer SQL-Instanz importieren, werden Sie feststellen, dass Sie das spezielle Prinzipal 'sa' nicht verwenden können. Microsoft SQL Server, Fehler: 15405 wird ausgegeben, wenn der Benutzer sa als DBO der Datenbank festgelegt wird. Um dies zu beheben, öffnen Sie SQL Management Studio und klicken Sie auf Neue Abfrage. Typ:

USE mydatabase 
exec sp_changedbowner 'sa', 'true' 

Schließen Sie die neue Abfrage und nach der Sicherheit des sa sieht, werden Sie feststellen, dass das sa die DBO der Datenbank sind. (14444)

Quelle: http://www.noelpulis.com/fix-cannot-use-the-special-principal-sa-microsoft-sql-server-error-15405/

+0

Dies ist auch der Fall, wenn die DB keinen gültigen Besitzer mehr hat. (Benutzer gelöscht, Server in einer anderen Box usw. wiederhergestellt) –

Verwandte Themen