Question

Je convertit la base de données de Teradata en SQLServer. J'ai remarqué que toutes les tables et procédures sont nommées par le préfixe "DBO". (par exemple "dbo.table1").

Je voudrais savoir si et comment je peux me débarrasser de "DBO" car cela faciliterait la tâche de conversion.

Était-ce utile?

La solution

dbo est ne pas partie du nom du tableau. C'est le nom du schéma auxquels les tables et les procédures stockées sont attachées. dbo est le schéma par défaut dans SQL Server, bien que vous puissiez en ajouter d'autres si nécessaire.

Voir cette Article MSDN à leur sujet.

Autres conseils

DBO est le schéma, vous pouvez spécifier un nouveau schéma si vous le souhaitez. DBO est par défaut est SQL Server.

Toutes les tables doivent aller dans un schéma. Comme le dit Durilai, DBO est le schéma "par défaut" pour SQL Server (il existe toujours). Cependant, notez que différents utilisateurs peuvent avoir des schémas par défaut différents (s'il existe plus d'un).

Si vous faites référence à une table sans spécifier le schéma, SQL Server recherchera dans votre schéma par défaut (et il en va de même pour tout autre objet).

Alors, si Votre schéma par défaut est DBO, les deux instructions suivantes sont équivalentes:

select * from Table1
select * from dbo.Table1

DBO est le schéma par défaut dans SQL Server si aucun schéma n'a été défini par l'utilisateur, si vous le souhaitez, vous pouvez créer un nouveau schéma et créer des tables.

Les schémas sont utiles. Par exemple, j'avais l'habitude d'accorder séparément une autorisation de connexion applicative à chaque procédure stockée. Maintenant, j'accorde l'autorisation de connexion de l'application au schéma qui contient toutes les procédures stockées. C'est beaucoup plus facile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top