Msg 2760, niveau 16, état 1, ligne 5 Le nom de schéma spécifié "éléments" n'existe pas ou vous n'êtes pas autorisé à l'utiliser

J'essaye de créer une table temporelle dans ma database de SQL Server. Quelqu'un connaît-il cette erreur dans SQL Server:

Msg 2760, niveau 16, état 1, ligne 5 Le nom de schéma spécifié "éléments" n'existe pas ou vous n'êtes pas autorisé à l'utiliser.

Je pense qu'il peut y avoir quelque chose de mal avec mes privilèges d'user. Toute aide est la bienvenue.

Voici le code:

CREATE TABLE [items].[items_Temporal]( [itemsID] [int] NOT NULL, [item_Name] [varchar](50) NOT NULL, [item_Number] [int] NOT NULL, [item_Price] [float] NOT NULL, ValidFrom datetime2(7) GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, ValidTo datetime2(7) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, CONSTRAINT [PK_items_Temporal_items1ID] PRIMARY KEY CLUSTERED ( [itemsID] ASC ), PERIOD FOR SYSTEM_TIME(ValidFrom, ValidTo) ) WITH(SYSTEM_VERSIONING = ON (HISTORY_TABLE = [items].[items_Temporal_History])); 

A partir de la réponse de Yogesh, vous pouvez find si le schéma existe ou pas.

Si les items schéma n'existent pas, essayez d'exécuter

 CREATE SCHEMA items 

Si vous n'êtes pas autorisé à créer un schéma,

 USE <database_name>; GRANT CREATE SCHEMA TO <user_name>; GO 

Ensuite, créez un schéma et exécutez le code pour créer la table.

Dans le cas où vous avez le schéma et que vous n'avez pas la permission de l'utiliser,

 USE <database_name>; GRANT CREATE TABLE TO <user_name>; GO 

Ensuite, exécutez le code pour créer une table.

Lire les documents ici

Exécuter ci-dessous la requête pour vérifier réellement que vous essayez d'exécuter la requête dans la database a le schéma d'élément dedans ou pas

 SELECT * FROM sys.schemas WHERE name = 'item' 

Si vous avez des lignes dans la requête ci-dessus, vérifiez l'user de connection à partir duquel vous essayez d'exécuter cette requête. Vérifiez également si cet user a le droit de créer une table de cette façon, vous saurez pourquoi cette erreur arrive