Il mio database non può essere creato o aperto perché il permesso è stato negato dal sistema operativo

November 24

Il mio database non può essere creato o aperto perché il permesso è stato negato dal sistema operativo


La sicurezza del sistema è la più grande preoccupazione a livello di sistema operativo e server di database. Un amministratore di database utilizza la funzionalità fornita da un sistema di database relazionale per implementare metodi di sicurezza e facilità d'uso di autenticazione. Dopo la fase preliminare di autenticazione degli utenti, il server di database deve verificare se l'utente ha il permesso di eseguire una determinata attività, come ad esempio la creazione di basi di dati e oggetti di database. Le sovvenzioni di amministratore di database o nega i privilegi o revoca dei privilegi dagli account utente appropriati. Se non è possibile creare un database, si utilizza un accesso al server che non è concesso un "dbcreator" o un ruolo superiore. Se non è possibile accedere al database, il server di login è stato utilizzato non ha un corrispondente alias utente nel database. Se il sistema operativo non consente l'operazione, significa che il server di database è impostato per utilizzare la modalità di autenticazione del sistema operativo, e l'account di sistema operativo non ha privilegi amministrativi.

Modalità di autenticazione degli utenti

I server di database utilizzano due modalità di autenticazione per convalidare un utente del server SQL - l'autenticazione del sistema operativo e l'autenticazione mista. In caso di modalità di autenticazione del sistema operativo, l'account utente del sistema operativo viene trattato come il server di database ID di accesso. Il server di database si basa su di autenticazione del sistema operativo per l'account. Se il server è configurato per utilizzare la modalità mista, esegue il proprio controllo di autorizzazione del conto. I nomi degli account del sistema operativo e livello di database potrebbe essere diverso in questo caso. Per esempio, il nome di login del sistema operativo "dev01" potrebbe accedere al server di database come "devdb01." Account di accesso diversi sistemi operativi possono accedere al server SQL come "guest".

Per mantenere l'accesso al server di database indipendente dal conto privilegi del sistema operativo, impostare SQL Server per utilizzare l'autenticazione in modalità mista.

Account di accesso server di database

Il termine "login" si riferisce al nome di accesso server di database che un utente o un programma client utilizza per accedere al server. L'amministratore del database chiama la stored procedure "sp_addlogin" per creare un account di accesso SQL server e assegna un database predefinito a tale account. L'accesso al server viene quindi aggiunto come membro di un ruolo con "sp_addrolemember." Per consentire un accesso al server SQL per creare database, è necessario concedere almeno un ruolo "dbcreator" o un ruolo più alto inclusiva come "amministratore di sistema" o "securityadmin. "

Gli utenti di database

Un utente è specifico di un database sul istanza del server SQL ed è un alias per l'ID di accesso. La DBA aggiunge un utente in un database per un accesso al server tramite il "sp_adduser" stored procedure come segue:

sp_adduser 'MySQLServerLogin', 'MyDBUser', 'MyDBGroup'

Un utente "MyDBUser" database può essere una parte di un gruppo come "HR", "ingegneria", "QA" o "vendite". Se non si appartiene a "HR", o non sei un gestore assumente, è non dovrebbe avere accesso ai dati personali dei potenziali candidati per l'occupazione.

Un ID "engineering_manager" login può mappare l'utente "manager" nel database di "produzione" e per l'utente "testguest" nel database "test".

Concedere l'accesso a un database esistente

L'amministratore può concedere l'accesso a diversi database per un accesso al server. Dopo questo, il DBA deve utilizzare "sp_adduser" per aggiungere un utente che corrisponde al login in ogni database il cui accesso è fornito. Se si accede al server di database come "MySQLServerLogin" e non c'è nessun utente per questo account di accesso nel database "MyDB", il server di database non permetterà di utilizzare MyDB.

Administration Server Interactive

È possibile eseguire tutte le operazioni amministrative e di sicurezza effettuate utilizzando procedure di sistema memorizzati attraverso l'interfaccia grafica fornita dal proprio fornitore di database, come ad esempio Enterprise Manager per Microsoft SQL Server.