Um dos comandos bastante utilizados no Oracle para verificar estrutura de tabelas e tipos de campos é o comando DESC abreviação de describe, descrever.
Este comando descreve a estrutura de tabelas com suas colunas e tipo de dados.
O SQL Server possui DESC para “descrever” uma tabela?
Na realidade não, o SQL Server trabalha com estes comandos de uma forma um pouco diferente.
O Oracle possui comandos, que são nomes reservados para determinadas funções.
O SQL Server trabalha com system stored procedures, procedimentos armazenados do sistema, estes são responsáveis por armazenar blocos T-SQL que buscam informações.
Um destes procedimentos o qual usamos para esta mesma finalidade é o sp_columns este procedimento resulta em uma busca de todas as informações sobre os campos de uma determinada tabela. Como no exemplo:
 
use [AdventureWorks]
GO
 
sp_columns AWBuildVersion
AWBuildVersionSystemInformationID-6tinyint identity310100NULLNULL-6NULLNULL1NO48
AWBuildVersionDatabase Version-9nvarchar2550NULLNULL0NULLNULL-9NULL502NO39
AWBuildVersionVersionDate11datetime23163NULL0NULLNULL93NULL3NO61
AWBuildVersionModifiedDate11datetime23163NULL0NULL(getdate())93NULL4NO61
 
Além disto, é uma boa prática comentarmos em nosso banco de dados qual a serventia de cada campo, tabela, enfim, é sempre extremamente importante qualquer tipo de documentação.
Banco de dados também possui recursos para deixarmos tudo bem documentado.
O Oracle possui:
COMMENT ON TABLE TABELA IS 'Descrição da tabela'
COMMENT ON COLUMN TABELA.CAMPO IS 'Descrição sobre utilização do campo'
Pois bem, o SQL Server possui uma forma diferenciada de trabalhar com estas “documentações”.
O SQL Server possui uma lista de propriedades estendidas, extend property. Nesta lista é possível dar nome a propriedade desejada e incluir informações sobre ela.
Por exemplo, criar duas ou mais propriedades estendidas, uma identificando para que serve o campo e outra explicando a representação dos valores.
A nomenclatura padrão do SQL Server para propriedade é MS_Description outras mais ficam a customização de cada DBA.
Campo Sexo:
Descrição: Campo que identifica sexo do cliente.
Valores: M representa Masculino e F representa Feminino.
Então vamos para prática:
Comentário de Tabela
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Current version number of the AdventureWorks sample database. ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AWBuildVersion'
GO
TABLEAWBuildVersionCurrent version number of the AdventureWorks sample database. 

Comentário de coluna
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Date and time the record was last updated.' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'AWBuildVersion', @level2type=N'COLUMN',@level2name=N'ModifiedDate'
GO
 
COLUMNSystemInformationIDPrimary key for AWBuildVersion records.
COLUMNDatabase VersionVersion number of the database in 9.yy.mm.dd.00 format.
COLUMNVersionDateDate and time the record was last updated.
COLUMNModifiedDateDate and time the record was last updated.

Estas propriedades podem ser acessadas através do SQL Server Management Studio visualizando as propriedades do campo ou tabela que deseja consultar ou uma consulta no banco de dados que retorna estes dados:
Consulta descrição da tabela
SELECT objtype, objname, value
FROM fn_listextendedproperty
('MS_Description', 'schema', 'dbo', 'table', default, NULL, NULL)
where objname = 'AWBuildVersion'
Consulta descrição das colunas
SELECT objtype, objname, value
FROM fn_listextendedproperty
('MS_Description', 'schema', 'dbo', 'table', 'AWBuildVersion', 'column', default)
 
 
Para concluirmos caso necessite maiores informações sobre uma determinada tabela, pode ser utilizado uma SP que é bastante utilizada no SQL Server sp_help basta utilizar este comando passando a tabela que seja visualizar informações, como segue na imagem.
 
 
 
 Imagem
  
 
 
 
Acredito que estas opções contemplem a maior parte das necessidades sobre consulta de informações de uma tabela.
Obrigado e até a próxima.