Analizar la secuencia de commands de la database de SQL Server

Actualmente estoy trabajando en un proyecto que es responsable de generar un model de database basado en su esquema, quiero saber si hay alguna biblioteca en .Net que pueda analizar el file SQL Script y me permita:

  1. Obtener el nombre de la database del script

  2. Obtener el nombre de Tables

  3. Obtenga las columnas de cada tabla

  4. y todo lo que sabes para generar model

Cualquier consejo será útil.

No hay ninguna biblioteca para este trabajo, excepto SMO. es mejor que tenga una consulta sobre los esquemas del sistema sql. por favor vea la siguiente secuencia de commands como un ejemplo:

SELECT SPECIFIC_NAME as SpName, PARAMETER_NAME as ParameterName, DATA_TYPE as DbType, CHARACTER_MAXIMUM_LENGTH as Size FROM INFORMATION_SCHEMA.PARAMETERS WHERE PARAMETER_MODE = 'IN' OR PARAMETER_MODE = 'INOUT' 

Este script obtiene los parameters del procedimiento almacenado. o

 SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName') 

para get columnas de la tabla. Te recomiendo que no uses SMO.

Hay más de lo que esperaba

ANTLR

SQLParser

Fantástico Tutorial-SQL Parser