Friday, 5 July 2013

How to Download HTML from the URL

Step 1: Create a new console application in Visual Studio.

Step 2: Add the following lines of code to Main method

            Console.WriteLine("Enter a url");
            url = Console.ReadLine();
            PrepandHTTP();

Step 3: Copy the below code block to the class file



 public static void PrepandHTTP()
        {
            if (!url.StartsWith("http://"))
            {
                Console.WriteLine("No Http");
                url = "http://" + url;
            }
            try
            {

                WebClient webClient = new WebClient();
            webClient.Credentials = CredentialCache.DefaultNetworkCredentials;
            WebProxy myProxy = new WebProxy("YourProxy:port", true, new string[] { }, CredentialCache.DefaultCredentials);  //if needed
            webClient.Proxy = myProxy;  //if needed
            byte[] data = webClient.DownloadData(url);
            string body = Encoding.ASCII.GetString(data);
            Console.WriteLine(body);
            Console.ReadKey();

            }
            catch (Exception ex)
            {

                throw;
            }

        }

Monday, 3 June 2013

Get All Table/ View Details of SQL and GreenPlum

Hi All,

Its me Sujith again,
Today I am going to share the query which will help you to find the Table details in a DB.
Both for SQL and Green Plum

 SQL


SET NOCOUNT ON;
DECLARE @DNNAME TABLE(ID INT IDENTITY,DBNAME VARCHAR(200))
DECLARE @CNT INT,@TEMPDBNAME VARCHAR(200)
INSERT INTO @DNNAME 
select name from master.sys.databases
select @CNT=COUNT(*) from @DNNAME
IF OBJECT_ID('tempdb..#TmpTable') IS NOT NULL DROP TABLE #TmpTable
CREATE TABLE #TmpTable ([Server] VARCHAR(1000),Type VARCHAR(100),DataBaseName VARCHAR(1000),[TABLE] VARCHAR(1000),ATTRIBUTE VARCHAR(1000),DATATYPE VARCHAR(1000))
DECLARE @Sql AS NVARCHAR(4000)

WHILE(@CNT>0)
BEGIN
SELECT @TEMPDBNAME=DBNAME FROM @DNNAME WHERE ID=@CNT
SET @Sql='use [' +@TEMPDBNAME+ '];
insert into  #TmpTable
select ''CTSINTCOSDWD'',''SQL'',DB_NAME() as DataBaseName,a.name [Table],b.name [Attribute],c.name [DataType]
from sysobjects as a
join sys.objects as z on a.id = z.object_id and  z.is_ms_shipped=0
join syscolumns as b on a.id = b.id
join systypes as c on b.xtype = c.xtype 
left join (SELECT  so.id,sc.colid,sc.name 
      FROM    syscolumns sc
      JOIN sysobjects so ON so.id = sc.id
      JOIN sysindexkeys si ON so.id = si.id 
                    and sc.colid = si.colid
      WHERE si.indid = 1) d on a.id = d.id and b.colid = d.colid
left join sys.foreign_key_columns as e on a.id = e.parent_object_id and b.colid = e.parent_column_id    
left join sys.objects as g on e.referenced_object_id = g.object_id  
left join sys.extended_properties as h on a.id = h.major_id and b.colid = h.minor_id
where a.type = ''U'' OR a.type=''V'' order by a.name'

SET @CNT=@CNT-1
EXEC (@Sql)
END

SELECT * FROM #TmpTable


Green Plum
SELECT t.table_catalog as ServerName,'Green Plum' as ServerType,t.table_schema as DataBaseName,t.table_name as TableName,column_name as Attribute,data_type as DataType
FROM information_schema.tables t
JOIN information_schema.columns c ON t.table_name = c.table_name

Query To Find SQL DB Space

Hi All,

This is my first blog. :)
Here I thought of sharing an SQL query that you probably look often.

The below query will get you the space utilized by all DB in the server.

Open Sql Server management Studio--> Give the credentials-->Click on New Query window --> paste the below code and execute

You will get the space utilized by each Database and its log files
Enjoy. :-) :-)

create table #ls (name varchar(255), LogSize real, LogSpaceUsed real, Status int)

insert #ls exec ('dbcc sqlperf(logspace)')

declare @name varchar(255), @sql varchar(1000);

select d.name, DATABASEPROPERTYEX(d.name, 'Status') Status,
      case when DATABASEPROPERTYEX(d.name, 'IsAutoCreateStatistics') = 1
            then 'ON' else 'OFF' end AutoCreateStatistics,
      case when DATABASEPROPERTYEX(d.name, 'IsAutoUpdateStatistics') = 1
            then 'ON' else 'OFF' end AutoUpdateStatistics,
      case when DATABASEPROPERTYEX(d.name, 'IsAutoShrink') = 1
            then 'ON' else 'OFF' end AutoShrink,
      case when DATABASEPROPERTYEX(d.name, 'IsAutoClose') = 1
            then 'ON' else 'OFF' end AutoClose,
      DATABASEPROPERTYEX(d.name, 'Collation') Collation,
      DATABASEPROPERTYEX(d.name, 'Updateability') Updateability,
      DATABASEPROPERTYEX(d.name, 'UserAccess') UserAccess,
      replace(page_verify_option_desc, '_', ' ') PageVerifyOption,
      d.compatibility_level CompatibilityLevel,
      DATABASEPROPERTYEX(d.name, 'Recovery') RecoveryModel,
      convert(bigint, 0) as Size, convert(bigint, 0) Used,
      case when sum(NumberReads+NumberWrites) > 0
            then sum(IoStallMS)/sum(NumberReads+NumberWrites) else -1 end AvgIoMs,
      ls.LogSize, ls.LogSpaceUsed,
      b.backup_start_date LastBackup
into #dbs1
from master.sys.databases as d
left join msdb..backupset b
      on d.name = b.database_name and b.backup_start_date = (
            select max(backup_start_date)
            from msdb..backupset
            where database_name = b.database_name
            and type = 'D')
left join ::fn_virtualfilestats(-1, -1) as vfs
      on d.database_id = vfs.DbId
join #ls as ls
      on d.name = ls.name
group by d.name, DATABASEPROPERTYEX(d.name, 'Status'),
case when DATABASEPROPERTYEX(d.name, 'IsAutoCreateStatistics') = 1
      then 'ON' else 'OFF' end,
case when DATABASEPROPERTYEX(d.name, 'IsAutoUpdateStatistics') = 1
      then 'ON' else 'OFF' end,
case when DATABASEPROPERTYEX(d.name, 'IsAutoShrink') = 1
      then 'ON' else 'OFF' end,
case when DATABASEPROPERTYEX(d.name, 'IsAutoClose') = 1
      then 'ON' else 'OFF' end,
DATABASEPROPERTYEX(d.name, 'Collation'),
DATABASEPROPERTYEX(d.name, 'Updateability'),
DATABASEPROPERTYEX(d.name, 'UserAccess'),
page_verify_option_desc,
d.compatibility_level,
DATABASEPROPERTYEX(d.name, 'Recovery'),
ls.LogSize, ls.LogSpaceUsed, b.backup_start_date;

create table #dbsize1 (
      fileid int,
      filegroup int,
      TotalExtents bigint,
      UsedExtents bigint,
      dbname varchar(255),
      FileName varchar(255));

declare c1 cursor for select name from #dbs1;
open c1;

fetch next from c1 into @name;
while @@fetch_status = 0
begin
      set @sql = 'use [' + @name + ']; DBCC SHOWFILESTATS WITH NO_INFOMSGS;'
      insert #dbsize1 exec(@sql);
      update #dbs1
      set Size = (select sum(TotalExtents) / 16 from #dbsize1),
            Used = (select sum(UsedExtents) / 16 from #dbsize1)
      where name = @name;
      truncate table #dbsize1;
      fetch next from c1 into @name;
end;
close c1;
deallocate c1;

select * from #dbs1
order by name;

drop table #dbsize1;
drop table #dbs1;
drop table #ls;