SnowConvert AI - SQL Server-Azure Synapse -Tabelas do sistema¶
Especificação de tradução para tabelas do sistema Transact-SQL
Tabelas do sistema¶
Transact-SQL |
Snowflake SQL |
Notas |
|
|---|---|---|---|
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 |
Sem suporte |
||
SYS.ALL_SQL_MODULES |
Sem suporte |
||
SYS.ALLOCATION_UNITS |
Sem suporte |
||
SYS.ASSEMBLY_MODULES |
Sem suporte |
||
SYS.CHECK_CONSTRAINTS |
Sem suporte |
||
SYS.COLUMN_STORE_DICTIONARIES |
Sem suporte |
||
SYS.COLUMN_STORE_ROW_GROUPS |
Sem suporte |
||
SYS.COLUMN_STORE_SEGMENTS |
Sem suporte |
||
SYS.COMPUTED_COLUMNS |
Sem suporte |
||
SYS.DEFAULT_CONSTRAINTS |
Sem suporte |
||
SYS.EVENTS |
Sem suporte |
||
SYS.EVENT_NOTIFICATIONS |
Sem suporte |
||
SYS.EVENT_NOTIFICATION_EVENT_TYPES |
Sem suporte |
||
SYS.EXTENDED_PROCEDURES |
Sem suporte |
||
SYS.EXTERNAL_LANGUAGE_FILES |
Sem suporte |
||
SYS.EXTERNAL_LANGUAGES |
Sem suporte |
||
SYS.EXTERNAL_LIBRARIES |
Sem suporte |
||
SYS.EXTERNAL_LIBRARY_FILES |
Sem suporte |
||
SYS.FOREIGN_KEYS |
INFORMATION_SCHEMA.TABLE_CONSTRAINTS |
||
SYS.FOREIGN_KEY_COLUMNS |
Sem suporte |
||
SYS.FUNCTION_ORDER_COLUMNS |
Sem suporte |
||
SYS.HASH_INDEXES |
Sem suporte |
||
SYS.INDEXES |
Sem suporte |
||
SYS.INDEX_COLUMNS |
Sem suporte |
||
SYS.INDEX_RESUMABLE_OPERATIONS |
Sem suporte |
||
SYS.INTERNAL_PARTITIONS |
Sem suporte |
||
SYS.INTERNAL_TABLES |
Sem suporte |
||
SYS.KEY_CONSTRAINTS |
Sem suporte |
||
SYS.MASKED_COLUMNS |
Sem suporte |
||
SYS.MEMORY_OPTIMIZED_TABLES_INTERNAL_ATTRIBUTES |
Sem suporte |
||
SYS.MODULE_ASSEMBLY_USAGES |
Sem suporte |
||
SYS.NUMBERED_PROCEDURES |
Sem suporte |
||
SYS.NUMBERED_PROCEDURE_PARAMETERS |
Sem suporte |
||
SYS.PARAMETERS |
Sem suporte |
||
SYS.PARTITIONS |
Sem suporte |
||
SYS.PERIODS |
Sem suporte |
||
SYS.SERVER_ASSEMBLY_MODULES |
Sem suporte |
||
SYS.SERVER_EVENTS |
Sem suporte |
||
SYS.SERVER_EVENT_NOTIFICATIONS |
Sem suporte |
||
SYS.SERVER_SQL_MODULE |
Sem suporte |
||
SYS.SERVER_TRIGGERS |
Sem suporte |
||
SYS._SERVER_TRIGGER_EVENTS |
Sem suporte |
||
SYS.SQL_DEPENDENCIES |
Sem suporte |
||
SYS.SQL_EXPRESSION_DEPENDENCIES |
Sem suporte |
||
SYS.SQL_MODULES |
Sem suporte |
||
SYS.STATS |
Sem suporte |
||
SYS.STATS_COLUMNS |
Sem suporte |
||
SYS.SYNONYMS |
Sem suporte |
||
SYS.SYSTEM_COLUMNS |
Sem suporte |
||
SYS.SYSTEM_OBJECTS |
Sem suporte |
||
SYS.SYSTEM_PARAMETERS |
Sem suporte |
||
SYS.SYSTEM_SQL_MODULES» |
Sem suporte |
SYS.FOREIGN_KEYS¶
Applies to
SQL Server
Azure Synapse Analytics
Nota
Algumas partes do código de saída foram omitidas por motivos de clareza.
Descrição¶
Contém uma linha por objeto que é uma restrição FOREIGN KEY (Documentação do SQLServer).
As colunas para FOREIGN KEY (sys.foreign_keys) são as seguintes:
Nome da coluna |
Tipo de dados |
Descrição |
Tem uma coluna equivalente no Snowflake |
|---|---|---|---|
- |
Para obter uma lista das colunas que essa exibição herda, consulte sys.objects (Transact-SQL). |
Parcial |
|
referenced_object_id |
int |
ID do objeto referenciado. |
Não |
key_index_id |
int |
ID do índice de chave dentro do objeto referenciado. |
Não |
is_disabled |
bit |
A restrição FOREIGN KEY está desativada. |
Não |
is_not_for_replication |
bit |
A restrição FOREIGN KEY foi criada usando a opção NOT FOR REPLICATION. |
Não |
is_not_trusted |
bit |
A restrição FOREIGN KEY não foi verificada pelo sistema. |
Não |
delete_referential_action |
tinyint |
A ação referencial que foi declarada para este FOREIGN KEY quando ocorre uma exclusão. Consulte a Documentação do SQLServer. |
Não |
delete_referential_action_desc |
nvarchar(60) |
Descrição da ação referencial que foi declarada para este FOREIGN KEY quando ocorre uma exclusão. Consulte a Documentação do SQLServer. |
Não |
update_referential_action |
tinyint |
A ação referencial que foi declarada para este FOREIGN KEY quando ocorre uma atualização. Consulte a Documentação do SQLServer. |
Não |
update_referential_action_desc |
nvarchar(60) |
Descrição da ação referencial que foi declarada para este FOREIGN KEY quando ocorre uma atualização. Consulte a Documentação do SQLServer. |
Não |
is_system_named |
bit |
1 = O nome foi gerado pelo sistema. |
Não |
As colunas herdadas de sys.objects são as seguintes:
Para obter mais informações, consulte a documentação de sys.objects.
Nome da coluna |
Tipo de dados |
Descrição |
Tem uma coluna equivalente no Snowflake |
|---|---|---|---|
nome |
sysname |
Nome do objeto. |
Sim |
object_id |
int |
Número de identificação do objeto. É exclusivo dentro de um banco de dados. |
Não |
principal_id |
int |
ID do proprietário individual, se diferente do proprietário do esquema. |
Não |
schema_id |
int |
ID do esquema em que o objeto está contido. |
Não |
parent_object_id |
int |
ID do objeto ao qual este objeto pertence. |
Não |
type |
char(2) |
Tipo de objeto |
Sim |
type_desc |
nvarchar(60) |
Descrição do tipo de objeto |
Sim |
create_date |
datetime |
Data em que o objeto foi criado. |
Sim |
modify_date |
datetime |
Data em que o objeto foi modificado pela última vez usando uma instrução ALTER. |
Sim |
is_ms_shipped |
bit |
O objeto é criado por um componente SQL interno do servidor. |
Não |
is_published |
bit |
O objeto é criado por um componente SQL interno do servidor. |
Não |
is_schema_published |
bit |
Somente o esquema do objeto é publicado. |
Não |
Aviso
Observe que, nesse caso, para sys.foreign_keys, não há equivalência no Snowflake. Porém, a equivalência é feita nas colunas herdadas de sys.objects.
Equivalência de coluna aplicável¶
SQLServer |
Snowflake |
Limitações |
Aplicável |
|---|---|---|---|
nome |
CONSTRAINT_NAME |
Os nomes gerados automaticamente pelo banco de dados podem ser revisados para o nome gerado automaticamente do Snowflake de destino, |
Sim |
type |
CONSTRAINT_TYPE |
A coluna de tipo tem uma variedade de opções. Mas, neste caso, o suporte é apenas para a letra “F” que representa as chaves estrangeiras. |
Não. Devido à validação extra para determinar as chaves estrangeiras de todas as restrições de tabela, ela não é aplicável. |
type_desc |
CONSTRAINT_TYPE |
No limitations found. |
Não. Devido à validação extra para determinar as chaves estrangeiras de todas as restrições de tabela, ela não é aplicável. |
create_date |
CREATED |
Diferenças de tipo de dados. |
Sim |
modify_date |
LAST_ALTERED |
Diferenças de tipo de dados. |
Sim |
parent_object_id |
CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, TABLE_NAME |
As colunas são geradas somente para os casos que utilizam a função OBJECT_ID(), e o nome tem um padrão válido. |
Sim |
Sintaxe no SQL Server¶
Sintaxe no Snowflake¶
Nota
Como a equivalência para as chaves estrangeiras do sistema é a visualização do catálogo no Snowflake para in ormation_schema.table_constraints, é necessário definir o tipo da restrição em uma cláusula adicional “WHERE” para identificar as restrições de chave estrangeira de outras restrições.
Amostra de padrões da origem¶
Para realizar corretamente os exemplos a seguir, é necessário executar as seguintes instruções:
SQL Server¶
Snowflake¶
1. Simple Select Case¶
SQL Server¶
Resultado¶
nome |
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 |
falso |
true |
falso |
1655676946 |
1 |
falso |
falso |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Resultado¶
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 |
nulo |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
Aviso
Os resultados diferem devido às diferenças nos objetos da coluna e à equivalência ausente. O resultado pode ser verificado.
2. Name Column Case¶
SQL Server¶
Resultado¶
nome |
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 |
falso |
true |
falso |
1655676946 |
1 |
falso |
falso |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Resultado¶
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 |
nulo |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
Aviso
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¶
Neste exemplo, foram criados um banco de dados e um esquema para exemplificar o processamento dos nomes para criar colunas diferentes e equivalentes.
SQL Server¶
Resultado¶
nome |
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 |
falso |
true |
falso |
1655676946 |
1 |
falso |
falso |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Resultado¶
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 |
nulo |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
Aviso
Se o nome que vem dentro da função OBJECT_ID() não tiver um padrão válido, ele não será convertido devido às limitações de processamento de nomes em caracteres especiais.
Aviso
Analise o banco de dados que está sendo usado no Snowflake.
4. Type Column Case¶
O «F» no SQL Server significa «Foreign Key» e é removido devido à validação no final para especificar a chave estrangeira de todas as restrições da tabela.
SQL Server¶
Resultado¶
nome |
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 |
falso |
true |
falso |
1655676946 |
1 |
falso |
falso |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Resultado¶
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 |
nulo |
2023-09-11 15:23:51.969 -0700 |
2023-09-11 15:23:52.097 -0700 |
NO |
5. Type Desc Column Case¶
A coluna «type_desc» foi removida devido à validação no final para especificar a chave estrangeira de todas as restrições da tabela.
SQL Server¶
Resultado¶
nome |
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 |
falso |
true |
falso |
1655676946 |
1 |
falso |
falso |
0 |
NO_ACTION |
0 |
NO_ACTION |
true |
Snowflake¶
Resultado¶
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 |
nulo |
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¶
Resultado¶
Snowflake¶
Resultado¶
7. Modify Date Column with DATEDIFF() Case¶
O exemplo a seguir mostra um cenário mais complexo em que as colunas de sys.foreign_keys (herdadas de sys.objects) estão dentro de uma função DATEDIFF. Nesse caso, o argumento correspondente à equivalência aplicável é alterado para a coluna correspondente de information.schema no Snowflake.
SQL Server¶
Resultado¶
Snowflake¶
Resultado¶
8. Create Date Column Case¶
SQL Server¶
Resultado¶
Snowflake¶
Resultado¶
Aviso
O resultado pode mudar se a data de criação for específica devido ao horário em que as consultas foram executadas. É possível executar uma consulta específica em um momento no banco de dados de origem e, em seguida, executar os objetos em outro momento nas novas consultas do Snowflake.
9. Selected Columns Single Name Case¶
SQL Server¶
Resultado¶
nome |
|---|
FK_Name_Test |
Snowflake¶
Resultado¶
CONSTRAINT_NAME |
|---|
FK_Name_Test |
10. Selected Columns Qualified Name Case¶
SQL Server¶
Resultado¶
nome |
|---|
FK_Name_Test |
Snowflake¶
Resultado¶
CONSTRAINT_NAME |
|---|
FK_Name_Test |
Problemas conhecidos¶
1. The “name” column may not show a correct output if the constraint does not have a user-created name¶
Se o nome referenciado for gerado automaticamente a partir do banco de dados, é provável que você o revise e use o valor desejado.
2. When selecting columns, there is a limitation that depends on the applicable columns that are equivalent in Snowflake¶
Como as colunas de sys.foreign_keys não são totalmente equivalentes no Snowflake, alguns resultados podem mudar devido às limitações da equivalência.
3. The OBJECT_ID() function may have a valid pattern to be processed or the database, schema or table could not be extracted¶
Com base no nome que recebe a função OBJECT_ID(), o processamento desse nome será limitado e dependerá da formatação.
4. Name Column With OBJECT_NAME() Function Case¶
Como a função OBJECT_NAME() ainda não é compatível, as transformações relacionadas a essa função não são compatíveis.