Diagramma di database Support Objects non può essere installato ... non appartiene a nessuno valida
-
19-09-2019 - |
Domanda
Ho cercato di creare un diagramm database con SQL Server 2008, ma si è verificato un errore:
oggetti di supporto diagramma di database non può essere installato perché questo banca dati non ha un proprietario di valido. Per continuare, prima di utilizzare la pagina Files della finestra di dialogo Proprietà database o l'istruzione ALTER AUTORIZZAZIONE per impostare il proprietario del database ad una valida login, quindi aggiungere il diagramma di database oggetti di supporto.
Poi ho provato il seguente:
EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO
Avanti erorr apre:
Msg 15404, livello 16, stato 11, linea 1 Impossibile ottenere informazioni su Windows NT gruppo / utente 'WIN-NDKPHUPPNFL \ Administrator', errore codice 0x534.
Il problema è il nome del PC è cambiato in "DevPC" Ho cambiato anche questo nello script di aggiornamento, ma ancora lo stesso errore 15404.
Che cosa posso fare per correggere questo errore fastidioso?
Soluzione
Si dovrebbe prendere in considerazione l'account di autenticazione di SQL per la proprietà delle banche dati; allora non devi preoccuparti di conti che vanno e vengono, i database o istanze si muovono a diversi server, e il tuo prossimo cambio di nome del PC. Ho diversi sistemi in cui usiamo:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];
In alternativa, se si desidera cambiare il proprietario a tale account di amministratore locale, allora dovrebbe essere:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];
A causa di rinominare la macchina per DevPC
ha eliminato l'account locale che ha usato per essere nominato WIN-ND...\Administrator
e questo ha anche invalidato l'attuale proprietario del database.
Se SELECT @@SERVERNAME;
non è precisa (si dovrebbe dire DevPC
), quindi al fine di assicurarsi che il server di ridenominazione ha preso piede all'interno di SQL Server, si consiglia inoltre di eseguire il seguente:
EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO
Altri suggerimenti
In SQL Server Management Studio eseguire le seguenti operazioni:
- tasto destro del mouse sul database, scegliere Proprietà
- Vai a Opzioni della pagina
- nel menu a discesa a destra etichettato come "livello di compatibilità" scegliere "di SQL Server 2005 (90)" 3-1. scegliere "SQL Server 2008" se si riceve un errore di comparabilità.
- Vai alla pagina File
- Inserisci "sa" nella casella di testo del proprietario. 5-1 o fare clic sui puntini di sospensione (...) e scegliere un legittimo proprietario.
- Hit OK
dopo aver fatto questo, si sarà ora in grado di accedere ai diagrammi di database.
USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
Funziona.
Inserire "SA" al posto di "sa" nella casella di testo del proprietario. Questo ha funzionato per me.
Ho avuto lo stesso problema.
Volevo vedere il mio schema, che ho creato lo stesso giorno al lavoro, a casa. Ma non ho potuto a causa di questo messaggio.
Ho scoperto che il proprietario del database è stato l'utente del mio computer -come previsto. ma dal momento che il computer è in dominio della società, e non sto collegato alla rete aziendale, il database non ha potuto risolvere il proprietario.
Quindi quello che ho fatto è modificare il proprietario a un utente locale e ha funzionato !!
Spero che questo aiuta qualcuno.
Si modifica l'utente fa clic destro sul database, le proprietà, i file, proprietario
Questa risolto per me. Esso definisce il proprietario trovato sotto sezione della finestra delle proprietà del database dei 'files', ed è come sceneggiato da Management Studio.
USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
Secondo il documentazione sp_changedbowner questo è deprecato ora.
In base alla risposta di Israele. La risposta di Aaron è la variazione non deprecato di questo.
Selezionare il database - tasto destro - Selezionare Proprietà
selezionare File nel lato sinistro della pagina
Nella casella PROPRIETARIO, selezionare il pulsante che ha tre puntini (...) in esso
Ora selezionare sa utente’e fare clic su OK
Ho appena sperimentato questo. Avevo letto i suggerimenti in questa pagina, così come i suggerimenti Authority SQL (che è la stessa cosa) e nessuna delle precedenti ha lavorato.
Alla fine, ho rimosso l'account e ricreato (con lo stesso nome utente / password). Proprio così, tutti i problemi se ne andò.
Purtroppo, questo significa che non so cosa sia andato storto, quindi non posso condividere qualsiasi altra cosa.
1.Fare clic sul suo database, 2.Then selezionare Proprietà. 3.Select l'opzione di scegliere livelli di compatibilità SQL 2008 [100], se si sta lavorando con Microsoft SQL 2008.
4.Quindi selezionare il file e scrivere (sa) in testo `s del proprietario
100% funziona per me.
Un modo più semplice per risolvere questi problemi sarebbe quello di fare clic destro sul nome del database, scegliere "Nuova query", digitare "exec sp_changedbowner 'sa'" ed eseguire la query. Allora sarete pronti per partire.
è necessario immettere come amministratore tasto destro del mouse a Microsoft studio di gestione di SQL Server ed eseguire come amministratore
Solo bisogno di eseguirlo in editor di query ALTER AUTORIZZAZIONE SU DATABASE :: YourDatabase TO [dominio \ account];
Il vero problema è che il proprietario predefinito (DBO) non ha un account di accesso mappato ad esso a all.As ho cercato di mappare l'accesso sa al proprietario del database che ho ricevuto un altro errore "l'utente, il gruppo o il ruolo 'dbo' esiste già ... "Tuttavia, se si tenta questo codice sarà effettivamente funziona:.
EXEC sp_dbcmptlevel 'yourDB', '90';
Vai
ALTER DATABASE :: autorizzazione sulla yourDB A "yourlogin"
Vai
usa [yourDB]
Vai
EXECUTE AS USER = N'dbo' REVERT
Vai
tasto destro del mouse sul database, quindi selezionare Proprietà. selezionare l'opzione di scegliere livelli di compatibilità SQL 2005 [90], invece di 2008, se si lavora con Microsoft SQL 2008. quindi selezionare il file e scrivere (sa) in testo proprietario. funzionerà probabilmente