2011-09-27 4 views
0

schéma par défaut pour un utilisateur.
Son moyen, chaque fois que j'exécute une requête de sélection sans pointer aucun schéma, il utilise le schéma qui est défini par défaut (j'ai lu quelque part).schéma par défaut pour un utilisateur

Pour une raison quelconque, je dois changer le schéma par défaut pour un utilisateur. Maintenant, sélectionnez instruction devrait être le schéma par défaut du point, mais cela ne fonctionne pas. S'il vous plaît jeter un oeil ci-dessous le code.

CREATE SCHEMA Schema_1 
CREATE SCHEMA Schema_2 
GO 
Create table Schema_1.TEST (DATA Varchar(200)) 
Create table Schema_2.TEST (DATA Varchar(200)) 
GO 
insert into Schema_1.TEST values('Schema_1 IS HERE') 
insert into Schema_2.TEST values('Schema_2 IS HERE') 
GO 

CREATE proc Schema_1.TestSP 
AS 
SELECT * FROM TEST ---[no schema name given] 
GO 

exec Schema_1.Testsp 

Une fois ce code j'ai créé deux utilisateurs USER_1 et USER_2. Le schéma par défaut est Schema_1 et le schéma par défaut est Schema_2.

J'ai exécuté Schema_1.Testsp SP. Il donne Schema_1 IS HERE
Maintenant, je mis Schema_2 comme schéma par défaut pour USER_1
Encore une fois, je l'ai exécuté Schema_1.Testsp SP. Il donne Schema_1 IS HERE
Mais il doit Schema_2 IS HERE résultat.

Je pense que vous avez mon point.

+0

Je pense que l'utilisateur peut avoir besoin de se reconnecter à SQL Server pour obtenir la réinitialisation du schéma par défaut. – JNK

Répondre

0

Je pense que votre problème est le proc est en cours d'exécution à partir schema1 et qui est ce qu'il utilise pour déterminer le schéma de tous les objets sous-jacents qui ne sont pas spécifiés.

Questions connexes