Diagramma di database Support Objects non può essere installato ... non appartiene a nessuno valida

StackOverflow https://stackoverflow.com/questions/2043382

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?

È stato utile?

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:

  1. tasto destro del mouse sul database, scegliere Proprietà
  2. Vai a Opzioni della pagina
  3. 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à.
  4. Vai alla pagina File
  5. Inserisci "sa" nella casella di testo del proprietario. 5-1 o fare clic sui puntini di sospensione (...) e scegliere un legittimo proprietario.
  6. Hit OK

dopo aver fatto questo, si sarà ora in grado di accedere ai diagrammi di database.

entrare descrizione dell'immagine qui

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top