SnowConvert AI - Serveur SQL-Azure Synapse - Tables système¶
Spécification de traduction pour les tables systèmes Transact-SQL
Tables du système¶
Transact-SQL |
Snowflake SQL |
Remarques |
|
|---|---|---|---|
SYS.ALL_VIEWS |
INFORMATION_SCHEMA.VIEWS |
||
SYS.ALL_COLUMNS |
INFORMATION_SCHEMA.COLUMNS |
||
SYS.COLUMNS |
INFORMATION_SCHEMA.COLUMNS |
||
SYS.OBJECTS |
INFORMATION_SCHEMA.OBJECT_PRIVILEGES |
||
SYS.PROCEDURES |
INFORMATION_SCHEMA.PROCEDURES |
||
SYS.SEQUENCES |
INFORMATION_SCHEMA.SEQUENCES |
||
SYS.ALL_OBJECTS |
INFORMATION_SCHEMA.OBJECT_PRIVILEGES |
||
ALL_PARAMETERS |
Non pris en charge |
||
SYS.ALL_SQL_MODULES |
Non pris en charge |
||
SYS.ALLOCATION_UNITS |
Non pris en charge |
||
SYS.ASSEMBLY_MODULES |
Non pris en charge |
||
SYS.CHECK_CONSTRAINTS |
Non pris en charge |
||
SYS.COLUMN_STORE_DICTIONARIES |
Non pris en charge |
||
SYS.COLUMN_STORE_ROW_GROUPS |
Non pris en charge |
||
SYS.COLUMN_STORE_SEGMENTS |
Non pris en charge |
||
SYS.COMPUTED_COLUMNS |
Non pris en charge |
||
SYS.DEFAULT_CONSTRAINTS |
Non pris en charge |
||
SYS.EVENTS |
Non pris en charge |
||
SYS.EVENT_NOTIFICATIONS |
Non pris en charge |
||
SYS.EVENT_NOTIFICATION_EVENT_TYPES |
Non pris en charge |
||
SYS.EXTENDED_PROCEDURES |
Non pris en charge |
||
SYS.EXTERNAL_LANGUAGE_FILES |
Non pris en charge |
||
SYS.EXTERNAL_LANGUAGES |
Non pris en charge |
||
SYS.EXTERNAL_LIBRARIES |
Non pris en charge |
||
SYS.EXTERNAL_LIBRARY_FILES |
Non pris en charge |
||
SYS.FOREIGN_KEYS |
INFORMATION_SCHEMA.TABLE_CONSTRAINTS |
||
SYS.FOREIGN_KEY_COLUMNS |
Non pris en charge |
||
SYS.FUNCTION_ORDER_COLUMNS |
Non pris en charge |
||
SYS.HASH_INDEXES |
Non pris en charge |
||
SYS.INDEXES |
Non pris en charge |
||
SYS.INDEX_COLUMNS |
Non pris en charge |
||
SYS.INDEX_RESUMABLE_OPERATIONS |
Non pris en charge |
||
SYS.INTERNAL_PARTITIONS |
Non pris en charge |
||
SYS.INTERNAL_TABLES |
Non pris en charge |
||
SYS.KEY_CONSTRAINTS |
Non pris en charge |
||
SYS.MASKED_COLUMNS |
Non pris en charge |
||
SYS.MEMORY_OPTIMIZED_TABLES_INTERNAL_ATTRIBUTES |
Non pris en charge |
||
SYS.MODULE_ASSEMBLY_USAGES |
Non pris en charge |
||
SYS.NUMBERED_PROCEDURES |
Non pris en charge |
||
SYS.NUMBERED_PROCEDURE_PARAMETERS |
Non pris en charge |
||
SYS.PARAMETERS |
Non pris en charge |
||
SYS.PARTITIONS |
Non pris en charge |
||
SYS.PERIODS |
Non pris en charge |
||
SYS.SERVER_ASSEMBLY_MODULES |
Non pris en charge |
||
SYS.SERVER_EVENTS |
Non pris en charge |
||
SYS.SERVER_EVENT_NOTIFICATIONS |
Non pris en charge |
||
SYS.SERVER_SQL_MODULE |
Non pris en charge |
||
SYS.SERVER_TRIGGERS |
Non pris en charge |
||
SYS._SERVER_TRIGGER_EVENTS |
Non pris en charge |
||
SYS.SQL_DEPENDENCIES |
Non pris en charge |
||
SYS.SQL_EXPRESSION_DEPENDENCIES |
Non pris en charge |
||
SYS.SQL_MODULES |
Non pris en charge |
||
SYS.STATS |
Non pris en charge |
||
SYS.STATS_COLUMNS |
Non pris en charge |
||
SYS.SYNONYMS |
Non pris en charge |
||
SYS.SYSTEM_COLUMNS |
Non pris en charge |
||
SYS.SYSTEM_OBJECTS |
Non pris en charge |
||
SYS.SYSTEM_PARAMETERS |
Non pris en charge |
||
SYS.SYSTEM_SQL_MODULES » |
Non pris en charge |
SYS.FOREIGN_KEYS¶
Applies to
SQL Server
Azure Synapse Analytics
Note
Certaines parties du code de sortie sont omises pour des raisons de clarté.
Description¶
Contient une ligne par objet qui est une contrainte FOREIGN KEY (documentation SQLServer).
Les colonnes de FOREIGN KEY (sys.foreign_keys) sont les suivantes :
Nom de la colonne |
Type de données |
Description |
A une colonne équivalente dans Snowflake |
|---|---|---|---|
- |
Pour une liste des colonnes dont cette vue hérite, voir [sys.objects (Transact-SQL).] (https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-objects-transact-sql?view=sql-server-ver16) |
Partiel |
|
referenced_object_id |
int |
ID de l’objet référencé. |
Non |
key_index_id |
int |
ID de l’index de clés dans l’objet référencé. |
Non |
is_disabled |
bit |
La contrainte FOREIGN KEY est désactivée. |
Non |
is_not_for_replication |
bit |
La contrainte FOREIGN KEY a été créée en utilisant l’option NOT FOR REPLICATION. |
Non |
is_not_trusted |
bit |
La contrainte FOREIGN KEY n’a pas été vérifiée par le système. |
Non |
delete_referential_action |
tinyint |
L’action de référence qui a été déclarée pour cette FOREIGN KEY lorsqu’une suppression se produit. Voir la documentation SQLServer. |
Non |
delete_referential_action_desc |
nvarchar(60) |
Description de l’action de référence qui a été déclarée pour cette FOREIGN KEY lorsqu’une suppression se produit. Voir la documentation SQLServer. |
Non |
update_referential_action |
tinyint |
L’action de référence qui a été déclarée pour cette FOREIGN KEY lorsqu’une mise à jour se produit. Voir la documentation SQLServer. |
Non |
update_referential_action_desc |
nvarchar(60) |
Description de l’action de référence qui a été déclarée pour cette FOREIGN KEY lorsqu’une mise à jour se produit. Voir la documentation SQLServer. |
Non |
is_system_named |
bit |
1 = Le nom a été généré par le système. |
Non |
Les colonnes héritées de sys.objects sont les suivantes :
Pour plus d’informations, consultez la documentation sys.objects.
Nom de la colonne |
Type de données |
Description |
A une colonne équivalente dans Snowflake |
|---|---|---|---|
name |
sysname |
Nom d’objet. |
Oui |
object_id |
int |
Numéro d’identification d’objet. Est unique dans une base de données. |
Non |
principal_id |
int |
ID du propriétaire individuel, s’il est différent du propriétaire du schéma. |
Non |
schema_id |
int |
ID du schéma dans lequel l’objet est contenu. |
Non |
parent_object_id |
int |
ID de l’objet auquel appartient cet objet. |
Non |
type |
char(2) |
Type d’objet |
Oui |
type_desc |
nvarchar(60) |
Description du type d’objet |
Oui |
create_date |
datetime |
Date de création de l’objet. |
Oui |
modify_date |
datetime |
Date de la dernière modification de l’objet en utilisant une instruction ALTER. |
Oui |
is_ms_shipped |
bit |
L’objet est créé par un composant Serveur SQL. |
Non |
is_published |
bit |
L’objet est créé par un composant Serveur SQL. |
Non |
is_schema_published |
bit |
Seul le schéma de l’objet est publié. |
Non |
Avertissement
Remarquez que, dans ce casse, pour les sys.foreign_keys, il n’y a pas d’équivalence dans Snowflake. Mais, l’équivalence se fait sous les colonnes héritées de sys.objects.
Équivalence des colonnes applicables¶
SQLServer |
Snowflake |
Limitations |
Applicable |
|---|---|---|---|
name |
CONSTRAINT_NAME |
Les noms générés automatiquement par la base de données peuvent être remplacés par le nom généré automatiquement par Snowflake cible, |
Oui |
type |
CONSTRAINT_TYPE |
La colonne de type propose de nombreuses options. Mais, dans ce cas, la prise en charge ne concerne que la lettre « F » qui représente les clés étrangères. |
Non. En raison de la validation supplémentaire pour déterminer les clés étrangères à partir de toutes les contraintes de table, cette fonction n’est pas applicable. |
type_desc |
CONSTRAINT_TYPE |
No limitations found. |
Non. En raison de la validation supplémentaire pour déterminer les clés étrangères à partir de toutes les contraintes de table, cette fonction n’est pas applicable. |
create_date |
CREATED |
Différences de types de données. |
Oui |
modify_date |
LAST_ALTERED |
Différences de types de données. |
Oui |
parent_object_id |
CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME |
Les colonnes ne sont générées que pour les cas qui utilisent la fonction OBJECT_ID() et, le nom a un modèle valide. |
Oui |
Syntaxe dans SQL Server¶
Syntaxe dans Snowflake¶
Note
Comme l’équivalence pour les clés étrangères du système est la vue du catalogue dans Snowflake pour les contraintes d’information _schema.table_, il est nécessaire de définir le type de la contrainte dans une clause supplémentaire “WHERE” pour identifier les contraintes de clé étrangère par rapport aux autres contraintes.
Modèles d’échantillons de sources¶
Pour accomplir correctement les exemples suivants, il est nécessaire d’exécuter les instructions suivantes :
SQL Server¶
Snowflake¶
1. Simple Select Case¶
SQL Server¶
Résultat¶
name |
object_id |
principal_id |
schema_id |
type |
type_desc |
create_date |
modify_date |
parent_object_id |
is_ms_shipped |
is_published |
is_schema_published |
referenced_object_id |
key_index_id |
is_disabled |
is_not_for_replication |
is_not_trusted |
delete_referential_action |
delete_referential_action_desc |
update_referential_action |
update_referential_action_desc |
is_system_named |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FK_Name_Test |
1719677174 |
NULL |
1 |
F |
FOREIGN_KEY_CONSTRAINT |
2023-09-11 22:20:04.160 |
2023-09-11 22:20:04.160 |
1687677060 |
false |
true |
false |
1655676946 |
1 |
false |
false |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Résultat¶
CONSTRAINT_CATALOG |
CONSTRAINT_SCHEMA |
CONSTRAINT_NAME |
TABLE_CATALOG |
TABLE_SCHEMA |
TABLE_NAME |
CONSTRAINT_TYPE |
IS_DEFERRABLE |
INITIALLY_DEFERRED |
ENFORCED |
COMMENT |
CREATED |
LAST_ALTERED |
RELY |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DBTEST |
PUBLIC |
FK_Name_Test |
DATETEST |
PUBLIC |
ORDERS |
FOREIGN KEY |
NO |
YES |
NO |
null |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
Avertissement
Les résultats diffèrent en raison des différences dans les objets des colonnes et de l’équivalence manquante. Le résultat peut être vérifié.
2. Name Column Case¶
SQL Server¶
Résultat¶
name |
object_id |
principal_id |
schema_id |
type |
type_desc |
create_date |
modify_date |
parent_object_id |
is_ms_shipped |
is_published |
is_schema_published |
referenced_object_id |
key_index_id |
is_disabled |
is_not_for_replication |
is_not_trusted |
delete_referential_action |
delete_referential_action_desc |
update_referential_action |
update_referential_action_desc |
is_system_named |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FK_Name_Test |
1719677174 |
NULL |
1 |
F |
FOREIGN_KEY_CONSTRAINT |
2023-09-11 22:20:04.160 |
2023-09-11 22:20:04.160 |
1687677060 |
false |
true |
false |
1655676946 |
1 |
false |
false |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Résultat¶
CONSTRAINT_CATALOG |
CONSTRAINT_SCHEMA |
CONSTRAINT_NAME |
TABLE_CATALOG |
TABLE_SCHEMA |
TABLE_NAME |
CONSTRAINT_TYPE |
IS_DEFERRABLE |
INITIALLY_DEFERRED |
ENFORCED |
COMMENT |
CREATED |
LAST_ALTERED |
RELY |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DBTEST |
PUBLIC |
FK_Name_Test |
DATETEST |
PUBLIC |
ORDERS |
FOREIGN KEY |
NO |
YES |
NO |
null |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
Avertissement
This translation may require verification if the constraint name is auto-generated by the database and used in the query. For more information review the Known Issues section.
3. Parent Object ID Case¶
Dans cet exemple, une base de données et un schéma ont été créés pour illustrer le traitement des noms afin de créer des colonnes différentes et équivalentes.
SQL Server¶
Résultat¶
name |
object_id |
principal_id |
schema_id |
type |
type_desc |
create_date |
modify_date |
parent_object_id |
is_ms_shipped |
is_published |
is_schema_published |
referenced_object_id |
key_index_id |
is_disabled |
is_not_for_replication |
is_not_trusted |
delete_referential_action |
delete_referential_action_desc |
update_referential_action |
update_referential_action_desc |
is_system_named |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FK_Name_Test |
1719677174 |
NULL |
1 |
F |
FOREIGN_KEY_CONSTRAINT |
2023-09-11 22:20:04.160 |
2023-09-11 22:20:04.160 |
1687677060 |
false |
true |
false |
1655676946 |
1 |
false |
false |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Résultat¶
CONSTRAINT_CATALOG |
CONSTRAINT_SCHEMA |
CONSTRAINT_NAME |
TABLE_CATALOG |
TABLE_SCHEMA |
TABLE_NAME |
CONSTRAINT_TYPE |
IS_DEFERRABLE |
INITIALLY_DEFERRED |
ENFORCED |
COMMENT |
CREATED |
LAST_ALTERED |
RELY |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DATABASE_NAME_TEST |
SCHEMA_NAME_TEST |
FK_Name_Test |
DATABASE_NAME_TEST |
SCHEMA_NAME_TEST |
ORDERS |
FOREIGN KEY |
NO |
YES |
NO |
null |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
Avertissement
Si le nom entrant dans la fonction OBJECT_ID() n’a pas de modèle valide, il ne sera pas converti en raison des limites de traitement des noms sur les caractères spéciaux.
Avertissement
Passez en revue la base de données utilisée dans Snowflake.
4. Type Column Case¶
Le « F » dans SQL Server signifie « Foreign Key » (clé étrangère) et il est supprimé en raison de la validation à la fin pour spécifier la clé étrangère à partir de toutes les contraintes de la table.
SQL Server¶
Résultat¶
name |
object_id |
principal_id |
schema_id |
type |
type_desc |
create_date |
modify_date |
parent_object_id |
is_ms_shipped |
is_published |
is_schema_published |
referenced_object_id |
key_index_id |
is_disabled |
is_not_for_replication |
is_not_trusted |
delete_referential_action |
delete_referential_action_desc |
update_referential_action |
update_referential_action_desc |
is_system_named |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FK_Name_Test |
1719677174 |
NULL |
3 |
F |
FOREIGN_KEY_CONSTRAINT |
2023-09-11 22:20:04.160 |
2023-09-11 22:20:04.160 |
1687677060 |
false |
true |
false |
1655676946 |
1 |
false |
false |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Résultat¶
CONSTRAINT_CATALOG |
CONSTRAINT_SCHEMA |
CONSTRAINT_NAME |
TABLE_CATALOG |
TABLE_SCHEMA |
TABLE_NAME |
CONSTRAINT_TYPE |
IS_DEFERRABLE |
INITIALLY_DEFERRED |
ENFORCED |
COMMENT |
CREATED |
LAST_ALTERED |
RELY |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DBTEST |
PUBLIC |
FK_Name_Test |
DATETEST |
PUBLIC |
ORDERS |
FOREIGN KEY |
NO |
YES |
NO |
null |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
5. Type Desc Column Case¶
La colonne « type_desc » est supprimée en raison de la validation à la fin pour spécifier la clé étrangère à partir de toutes les contraintes de la table.
SQL Server¶
Résultat¶
name |
object_id |
principal_id |
schema_id |
type |
type_desc |
create_date |
modify_date |
parent_object_id |
is_ms_shipped |
is_published |
is_schema_published |
referenced_object_id |
key_index_id |
is_disabled |
is_not_for_replication |
is_not_trusted |
delete_referential_action |
delete_referential_action_desc |
update_referential_action |
update_referential_action_desc |
is_system_named |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FK_Name_Test |
1719677174 |
NULL |
3 |
F |
FOREIGN_KEY_CONSTRAINT |
2023-09-11 22:20:04.160 |
2023-09-11 22:20:04.160 |
1687677060 |
false |
true |
false |
1655676946 |
1 |
false |
false |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Résultat¶
CONSTRAINT_CATALOG |
CONSTRAINT_SCHEMA |
CONSTRAINT_NAME |
TABLE_CATALOG |
TABLE_SCHEMA |
TABLE_NAME |
CONSTRAINT_TYPE |
IS_DEFERRABLE |
INITIALLY_DEFERRED |
ENFORCED |
COMMENT |
CREATED |
LAST_ALTERED |
RELY |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DBTEST |
PUBLIC |
FK_Name_Test |
DATETEST |
PUBLIC |
ORDERS |
FOREIGN KEY |
NO |
YES |
NO |
null |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
6. Modify Date Column Simple Case¶
SQL Server¶
Résultat¶
Snowflake¶
Résultat¶
7. Modify Date Column with DATEDIFF() Case¶
L’exemple suivant montre un scénario plus complexe dans lequel les colonnes de sys.foreign_keys (héritées de sys.objects) se trouvent à l’intérieur d’une fonction DATEDIFF. Dans ce cas, l’argument correspondant à l’équivalence applicable est remplacé par la colonne correspondante du schéma information.schema dans Snowflake.
SQL Server¶
Résultat¶
Snowflake¶
Résultat¶
8. Create Date Column Case¶
SQL Server¶
Résultat¶
Snowflake¶
Résultat¶
Avertissement
Le résultat peut changer si la date de création est spécifique en raison de l’heure à laquelle les requêtes ont été exécutées. Il est possible d’exécuter une requête spécifique à un moment donné sur la base de données d’origine, puis d’exécuter les objets à un autre moment dans les nouvelles requêtes Snowflake.
9. Selected Columns Single Name Case¶
SQL Server¶
Résultat¶
name |
|---|
FK_Name_Test |
Snowflake¶
Résultat¶
CONSTRAINT_NAME |
|---|
FK_Name_Test |
10. Selected Columns Qualified Name Case¶
SQL Server¶
Résultat¶
name |
|---|
FK_Name_Test |
Snowflake¶
Résultat¶
CONSTRAINT_NAME |
|---|
FK_Name_Test |
Problèmes connus¶
1. The “name” column may not show a correct output if the constraint does not have a user-created name¶
Si la référence est un nom généré automatiquement à partir de la base de données, il est probable qu’elle soit révisée et que la valeur souhaitée soit utilisée.
2. When selecting columns, there is a limitation that depends on the applicable columns that are equivalent in Snowflake¶
Les colonnes de sys.foreign_keys n’étant pas complètement équivalentes dans Snowflake, certains résultats peuvent changer en raison des limites d’équivalence.
3. The OBJECT_ID() function may have a valid pattern to be processed or the database, schema or table could not be extracted¶
En fonction du nom qui reçoit la fonction OBJECT_ID(), le traitement de ce nom sera limité et dépendra du formatage.
4. Name Column With OBJECT_NAME() Function Case¶
La fonction OBJECT_NAME() n’étant pas encore prise en charge, les transformations liées à cette fonction ne sont pas prises en charge.