Need to get identify all tables and columns in a SQL Query
not "ready to use" solution, but may be is what You need:
http://www.sqlparser.com

description

as I explain in comment, this is framework, it not ready to use solution, but it has very good set of code examples, as well as live-demo.

Live demo

USE [Audit]
GO
ALTER PROCEDURE [dbo].[ReportData3] 
    -- Add the parameters for the stored procedure here
    @PERNR int,
    @PERID int,
    @SNAME int,
    @DateSt date,
    @DateFin date,
    @GROSS_PAY bit

AS
BEGIN
    SET NOCOUNT ON;

IF @GROSS_PAY = 0

   IF @PERNR IS NOT NULL
   SELECT        PERNR, SNAME, WEEK_BEGIN_DATE, PERID, PLSTX, STLX, VDSK1_TEXT, HIRE_DATE, 
                       WEEK_ENDING_DATE, WOSTD, HR_REG, REG_PAY, HR_HOL, HOL_PAY, HR_VAC, VAC_PAY, HR_SIC, SIC_PAY, HR_OVT, OVT_PAY, HR_PRE, PRE_PAY, HR_OTH, 
                       OTH_PAY, HR_TOT_WORKED, HR_STR, STR_PAY, HR_TOT, TOT_PAY, Subtotal, RATR_OF_PAY_HORLY, RATR_OF_PAY_WEEKLY, GROSS_PAY, PAYDT, 
                       AVG_STRAIGHT, AVG_TOTAL, AVG_GROSS, RESULT, SEQNR, TERMDT
   FROM            data_hist
   WHERE WEEK_ENDING_DATE &gt;= @DateSt AND WEEK_ENDING_DATE &lt;= @DateFin and 


-- DELETED 118 rows of code

Result of parsing:

Tables:
data_hist
Fields:
data_hist.AVG_GROSS
data_hist.AVG_STRAIGHT
data_hist.AVG_TOTAL
data_hist.GROSS_PAY
data_hist.HIRE_DATE
data_hist.HOL_PAY
data_hist.HR_HOL
data_hist.HR_OTH
data_hist.HR_OVT
data_hist.HR_PRE
data_hist.HR_REG
data_hist.HR_SIC
data_hist.HR_STR
data_hist.HR_TOT
data_hist.HR_TOT_WORKED
data_hist.HR_VAC
data_hist.OTH_PAY
data_hist.OVT_PAY
data_hist.PAYDT
data_hist.PERID
data_hist.PERNR
data_hist.PLSTX
data_hist.PRE_PAY
data_hist.RATR_OF_PAY_HORLY
data_hist.RATR_OF_PAY_WEEKLY
data_hist.REG_PAY
data_hist.RESULT
data_hist.SEQNR
data_hist.SIC_PAY
data_hist.SNAME
data_hist.STLX
data_hist.STR_PAY
data_hist.Subtotal
data_hist.TERMDT
data_hist.TOT_PAY
data_hist.VAC_PAY
data_hist.VDSK1_TEXT
data_hist.WEEK_BEGIN_DATE
data_hist.WEEK_ENDING_DATE
data_hist.WOSTD