La seguente riga funziona:Come impostare lo schema predefinito di un database in SQL Server 2005?
SELECT * FROM [myschema].users
Ma questo non lo fa:
SELECT * FROM users
La seguente riga funziona:Come impostare lo schema predefinito di un database in SQL Server 2005?
SELECT * FROM [myschema].users
Ma questo non lo fa:
SELECT * FROM users
Uno schema predefinito è specifico per l'utente:
USE yourDatabase;
ALTER USER [yourUser] WITH DEFAULT_SCHEMA = myschema;
Maggiori informazioni sulla ALTER TABLE per SQL 2005 potrebbe aiutare pure.
Poiché questo è specifico per l'utente, se si dispone di più utenti, sarà necessario eseguire questa query (su ciascun database) per ciascun utente il cui schema predefinito si desidera aggiornare.
E 'importante notare:
The value of DEFAULT_SCHEMA is ignored if the user is a member of the sysadmin
fixed server role. All members of the sysadmin fixed server role have a default
schema of dbo.
È possibile utilizzare:
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
Per impostare lo schema predefinito per l'utente.
Questo non funziona. – user960567
nota AdamWenger [qui] (http://stackoverflow.com/a/8208124/426315) - 'sysadmin' avrà sempre' dbo' come schema predefinito. – itsho
Gli script vengono compilati correttamente ma il problema persiste. – user960567
Il seguente script. selezionare schema_name() che mostra dbo – user960567
@ user960567 Ho provato questo e ha funzionato per me. (anche appena testato 'schema_name()') Hai fornito lo schema predefinito per il database corretto? è l'utente che stai cercando di aggiornare collegato ad un login sqlServer? –