it-swarm.com.de

Berechtigungen zum Ändern einer Datenbankdatei erforderlich

Ganz am Anfang bei der Verwaltung einer Datenbank.

Verwenden von EMS SQL Manager ... neueste Version. Wie komme ich weiter unten?

ALTER DATABASE joneslocker2
MODIFY FILE (
    NAME = joneslocker2, 
    MAXSIZE = UNLIMITED )
GO

was zu einem Fehler führt:

Der Benutzer hat keine Berechtigung zum Ändern der Datenbank 'joneslocker2', die Datenbank existiert nicht oder die Datenbank befindet sich nicht in einem Zustand, der Zugriffsprüfungen ermöglicht.

Ich habe keine Ahnung, was ich als nächstes einstellen soll.

4
Gary Miller

Sie müssen dem Benutzer die Berechtigung ALTER DATABASE erteilen.

GRANT ALTER ON DATABASE:: joneslocker2 TO username

Das folgende Skript hilft Ihnen dabei, herauszufinden, welche Berechtigungen auf Datenbankebene zugewiesen wurden:

SELECT prin.[name] [User], sec.state_desc + ' ' + sec.permission_name [Permission] 
FROM [sys].[database_permissions] sec 
  JOIN [sys].[database_principals] prin 
    ON sec.[grantee_principal_id] = prin.[principal_id] 
WHERE sec.class = 0 
ORDER BY [User], [Permission];

Überprüfen Sie meine Antwort hier für ein Beispiel, warum Sie den Fehler erhalten .

Siehe: Grundlagen der Datenbank-Engine-Berechtigung

4
Kin Shah

Wenn Sie nur eine Änderung an der spezifischen Datenbank gewähren, kann die Umbenennung nicht durchgeführt werden.

Sie müssen auch Berechtigungen auf Serverebene und im Master erteilen.

USE master;  
ALTER SERVER ROLE [dbcreator] ADD MEMBER [DOMAIN\User-Name]
GO

USE master;    
ALTER ROLE [db_datareader] ADD MEMBER [DOMAIN\User-Name];
ALTER ROLE [db_datawriter] ADD MEMBER [DOMAIN\User-Name];

USE [AdventureWorks]
ALTER ROLE [db_owner] ADD MEMBER [DOMAIN\User-Name];  
0
jclabonde