<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7453440235623176638</id><updated>2011-11-27T16:14:33.191-08:00</updated><category term='varchar'/><category term='tranlog'/><category term='physname'/><category term='ltm'/><category term='traceon'/><category term='spid'/><category term='Intro'/><category term='block'/><category term='aquadata'/><category term='create user'/><category term='tools'/><category term='public'/><category term='admin'/><category term='client'/><category term='isql'/><category term='create table'/><category term='dbartisan'/><category term='drop user'/><category term='load'/><category term='dump'/><category term='DR'/><category term='kill'/><category term='ocs'/><category term='vx'/><category term='datadev'/><category term='repserver'/><category term='dev appsteam'/><category term='not working'/><category term='pagesize'/><category term='admin who_is_up'/><category term='raw device'/><category term='devices'/><category term='vxprint'/><category term='sa'/><category term='invalid'/><category term='admin who'/><category term='apps'/><category term='mismatch'/><category term='admin heath'/><category term='Start'/><category term='valid'/><category term='sqltext'/><category term='backup'/><category term='alias'/><category term='nonclustered'/><category term='dbo'/><category term='resync'/><category term='select'/><category term='primary key'/><category term='clustered'/><category term='login'/><category term='dbcc checktable(syslogs)'/><category term='lock'/><category term='quiesce check'/><category term='dba'/><category term='admin who_is_down'/><category term='rep'/><category term='Sybase'/><category term='size'/><category term='Create Database'/><category term='go'/><category term='move'/><category term='constraint'/><category term='syslogshold'/><category term='tempdb'/><category term='settrun'/><category term='null'/><category term='not null'/><category term='Terry'/><category term='quiecing a repserver'/><category term='off'/><category term='fixsuid'/><category term='log suspend'/><category term='ase'/><category term='ddl'/><category term='datetime'/><category term='password'/><category term='add user'/><category term='sp_changedbowner'/><category term='replication'/><category term='master'/><category term='suid'/><title type='text'>Sybasehelp</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-5979033117981330365</id><published>2009-06-07T07:35:00.001-07:00</published><updated>2009-06-07T07:35:44.831-07:00</updated><title type='text'>dev usage</title><content type='html'>&lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family:Arial; mso-fareast-font-family:&amp;quot;MS UI Gothic&amp;quot;"&gt;IF OBJECT_ID('dbo.sp_dba_devusage') IS NOT NULL&lt;br /&gt;BEGIN&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;DROP PROCEDURE dbo.sp_dba_devusage&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;IF OBJECT_ID('dbo.sp_dba_devusage') IS NOT NULL&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;ELSE&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;br /&gt;END&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;create proc sp_dba_devusage&lt;br /&gt;as&lt;br /&gt;set nocount on&lt;br /&gt;&lt;br /&gt;select distinct&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;name = d.name,&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;db_size = str(sum(u.size) / 512, 10, 1) + " MB",&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;dbid = d.dbid,&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;created = convert(char(14), d.crdate, 107)&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;from master.dbo.sysdatabases d, master.dbo.sysusages u&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;where d.dbid = u.dbid&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;group by d.dbid, u.dbid&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;order by d.dbid&lt;br /&gt;&lt;br /&gt;declare @vsize int&lt;br /&gt;select @vsize = low&lt;br /&gt;from master.dbo.spt_values&lt;br /&gt;where type="E"&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;and number = 3&lt;br /&gt;&lt;br /&gt;select device = substring(name,1,15),&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;vdevno = convert(tinyint,substring(convert(binary(4),low),@vsize,1)),&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;"default disk?" = "&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;" + substring("NY",(status &amp;amp; 1)+1,1),&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;"total (MB)" = str(round((high-low)/512.,2),7,2),&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;used = str(round(isnull(sum(size),0)/512.,2),7,2),&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;free = str(round(abs((high-low-isnull(sum(size),0))/512.),2),7,2)&lt;br /&gt;from master.dbo.sysusages u,&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;master.dbo.sysdevices d&lt;br /&gt;where vstart between low and high&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;and cntrltype=0&lt;br /&gt;group by all name&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;having cntrltype=0&lt;br /&gt;order by vdevno&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;go&lt;br /&gt;EXEC sp_procxmode 'dbo.sp_dba_devusage','unchained'&lt;br /&gt;go&lt;br /&gt;IF OBJECT_ID('dbo.sp_dba_devusage') IS NOT NULL&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;br /&gt;ELSE&lt;br /&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;br /&gt;go&lt;br /&gt;USE sybsystemprocs&lt;br /&gt;go&lt;br /&gt;GRANT EXECUTE ON dbo.sp_dba_devusage TO public&lt;br /&gt;go&lt;br /&gt; &lt;br /&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-5979033117981330365?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/5979033117981330365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/06/dev-usage.html#comment-form' title='36 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/5979033117981330365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/5979033117981330365'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/06/dev-usage.html' title='dev usage'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-3394973262381865513</id><published>2009-06-07T07:32:00.001-07:00</published><updated>2009-06-07T07:32:43.224-07:00</updated><title type='text'>check for blocks in database</title><content type='html'>&lt;div&gt;IF OBJECT_ID('dbo.sp_dba_dblock') IS NOT NULL&lt;/div&gt;&lt;div&gt;BEGIN&lt;/div&gt;&lt;div&gt;    DROP PROCEDURE dbo.sp_dba_dblock&lt;/div&gt;&lt;div&gt;    IF OBJECT_ID('dbo.sp_dba_dblock') IS NOT NULL&lt;/div&gt;&lt;div&gt;        PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;/div&gt;&lt;div&gt;    ELSE&lt;/div&gt;&lt;div&gt;        PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;/div&gt;&lt;div&gt;END&lt;/div&gt;&lt;div&gt;go&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;create procedure sp_dba_dblock&lt;/div&gt;&lt;div&gt;as&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;declare @PRNTBUFFER varchar(150),&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@CURRENTDB varchar(30),&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@CURRENTDBID smallint,&lt;/div&gt;&lt;div&gt;        @LOCKCOUNT int&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select @CURRENTDB = rtrim(db_name())&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select @CURRENTDBID = db_id()&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;select @LOCKCOUNT = count(dbid)&lt;/div&gt;&lt;div&gt;       from master.dbo.syslocks&lt;/div&gt;&lt;div&gt;       where master.dbo.syslocks.dbid = @CURRENTDBID&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;if ( @LOCKCOUNT = 0 )&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;begin&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;select @PRNTBUFFER = " " + replicate("=",68)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;print @PRNTBUFFER&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;select @PRNTBUFFER = " No Locks In Database : " + rtrim(@CURRENTDB)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;print @PRNTBUFFER&lt;/div&gt;&lt;div&gt;                select @PRNTBUFFER = " " + replicate("=",68) &lt;/div&gt;&lt;div&gt;                print @PRNTBUFFER &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;else&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  begin&lt;/div&gt;&lt;div&gt;                select @PRNTBUFFER = " " + replicate("=",68) &lt;/div&gt;&lt;div&gt;                print @PRNTBUFFER &lt;/div&gt;&lt;div&gt;                select @PRNTBUFFER = " Locks In Database : " + rtrim(@CURRENTDB) &lt;/div&gt;&lt;div&gt;                print @PRNTBUFFER &lt;/div&gt;&lt;div&gt;                select @PRNTBUFFER = " " + replicate("=",68)  &lt;/div&gt;&lt;div&gt;                print @PRNTBUFFER  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    select Spid = convert(char(4),master.dbo.syslocks.spid),&lt;/div&gt;&lt;div&gt;           SybaseUser = convert(char(12),master.dbo.syslogins.name),&lt;/div&gt;&lt;div&gt;           LockType = convert(char(14),master.dbo.spt_values.name),&lt;/div&gt;&lt;div&gt;           TableName = convert(char(18),object_name(master.dbo.syslocks.id)),&lt;/div&gt;&lt;div&gt;           PageNumber = convert(char(14),master.dbo.syslocks.page),&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;   UnixHost = convert(char(8),master.dbo.sysprocesses.hostname),&lt;/div&gt;&lt;div&gt;           UnixPid = convert(char(8),master.dbo.sysprocesses.hostprocess)&lt;/div&gt;&lt;div&gt;      from master.dbo.syslocks,&lt;/div&gt;&lt;div&gt;           master.dbo.spt_values,&lt;/div&gt;&lt;div&gt;           master.dbo.syslogins,&lt;/div&gt;&lt;div&gt;           master.dbo.sysprocesses&lt;/div&gt;&lt;div&gt;     where master.dbo.syslocks.type = master.dbo.spt_values.number&lt;/div&gt;&lt;div&gt;       and master.dbo.sysprocesses.suid = master.dbo.syslogins.suid&lt;/div&gt;&lt;div&gt;       and master.dbo.spt_values.type = "L"&lt;/div&gt;&lt;div&gt;       and master.dbo.syslocks.spid = master.dbo.sysprocesses.spid&lt;/div&gt;&lt;div&gt;       and master.dbo.syslocks.dbid = @CURRENTDBID&lt;/div&gt;&lt;div&gt;     order by 1,4,5&lt;/div&gt;&lt;div&gt;  end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;return (0)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;go&lt;/div&gt;&lt;div&gt;EXEC sp_procxmode 'dbo.sp_dba_dblock','unchained'&lt;/div&gt;&lt;div&gt;go&lt;/div&gt;&lt;div&gt;IF OBJECT_ID('dbo.sp_dba_dblock') IS NOT NULL&lt;/div&gt;&lt;div&gt;    PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;/div&gt;&lt;div&gt;ELSE&lt;/div&gt;&lt;div&gt;    PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;/div&gt;&lt;div&gt;go&lt;/div&gt;&lt;div&gt;USE sybsystemprocs&lt;/div&gt;&lt;div&gt;go&lt;/div&gt;&lt;div&gt;GRANT EXECUTE ON dbo.sp_dba_dblock TO public&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-3394973262381865513?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/3394973262381865513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/06/check-for-blocks-in-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/3394973262381865513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/3394973262381865513'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/06/check-for-blocks-in-database.html' title='check for blocks in database'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-2424853738915427632</id><published>2009-06-07T07:31:00.000-07:00</published><updated>2009-06-07T07:32:18.936-07:00</updated><title type='text'>gen database ddl</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;create procedure sp_dba_gendbddl @dbname varchar(32) = null&lt;/div&gt;&lt;div&gt;as&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;declare&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@db_name&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;varchar(30),&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@dbid&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;smallint,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@segmap&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;smallint,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@segs&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;varchar(4),&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@dev_frag&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;varchar(30),&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@frag_size&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;char(10),&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@sql_string&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;varchar(255),&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@alter_status&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;tinyint,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@counter&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;int,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@seq_no&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;int,&lt;/div&gt;&lt;div&gt;    @numdbs     int&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;set nocount on&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;if @dbname is null select @dbname = "%"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Match databases if given else do them all&lt;/div&gt;&lt;div&gt;--&lt;/div&gt;&lt;div&gt;select @numdbs = count(*) from master.dbo.sysdatabases where name like @dbname&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- DB exists ?&lt;/div&gt;&lt;div&gt;--&lt;/div&gt;&lt;div&gt;if @numdbs = 0&lt;/div&gt;&lt;div&gt;begin&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* 17590, "The specified database does not exist." */&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;raiserror 17590&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;return (1)&lt;/div&gt;&lt;div&gt;end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Initialize dbids twmp table from sysdatabases&lt;/div&gt;&lt;div&gt;--&lt;/div&gt;&lt;div&gt;select dbid into #dbids from master.dbo.sysdatabases where name like @dbname&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;declare @curdbid smallint&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;/* the one we're currently working on */&lt;/div&gt;&lt;div&gt;declare @dbdesc varchar(102)&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;/* the total description for the db */&lt;/div&gt;&lt;div&gt;declare @bitdesc varchar(30)&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;/* the bit description for the db */&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Set @curdbid to the first dbid.&lt;/div&gt;&lt;div&gt;--&lt;/div&gt;&lt;div&gt;select @curdbid = min(dbid)&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from #dbids&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;create table #db_info(&lt;/div&gt;&lt;div&gt;    seq_no&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;int&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;not null,&lt;/div&gt;&lt;div&gt;    sql_string&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;varchar(255)&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;null&lt;/div&gt;&lt;div&gt;    )&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Iterate through by dbid&lt;/div&gt;&lt;div&gt;--&lt;/div&gt;&lt;div&gt;while @curdbid is not NULL&lt;/div&gt;&lt;div&gt;begin&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    /************************************************&lt;/div&gt;&lt;div&gt;     * Temporary table to hold individual fragments *&lt;/div&gt;&lt;div&gt;     * of SQL_STRING, numbered to preserve their&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;*&lt;/div&gt;&lt;div&gt;     * correct sequence                             *&lt;/div&gt;&lt;div&gt;     ************************************************/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    delete #db_info&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    -- Initialize variables&lt;/div&gt;&lt;div&gt;    select @alter_status = 0&lt;/div&gt;&lt;div&gt;    select @counter = 0&lt;/div&gt;&lt;div&gt;    select @seq_no = 0&lt;/div&gt;&lt;div&gt;    select @db_name = db_name(@curdbid)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    /* Declare a cursor to allow processing of each row individually&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;*/&lt;/div&gt;&lt;div&gt;    /* Select statement extracts relevant info from the system tables&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;*/&lt;/div&gt;&lt;div&gt;    /* ORDER BY clause is critical in order to ensure that all fragments&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;*/&lt;/div&gt;&lt;div&gt;    /* are processed in the correct sequence&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;*/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    declare get_db_info cursor for&lt;/div&gt;&lt;div&gt;    select&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;db.dbid, usg.segmap, "device fragment"=substring(dev.name,1,15), "size(MB)" = str(usg.size/512.,10,0)&lt;/div&gt;&lt;div&gt;    from master.dbo.sysusages&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;usg,&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;master.dbo.sysdevices&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;dev,&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;master.dbo.sysdatabases&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;db&lt;/div&gt;&lt;div&gt;    where&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;vstart&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;between low and high&lt;/div&gt;&lt;div&gt;    and&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;cntrltype&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;= 0&lt;/div&gt;&lt;div&gt;    and&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;db.dbid&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;= @curdbid&lt;/div&gt;&lt;div&gt;    and&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;db.dbid&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;=usg.dbid&lt;/div&gt;&lt;div&gt;    order by db.dbid,usg.lstart,dev.name&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    -- Prepare initial SQL string&lt;/div&gt;&lt;div&gt;    select @sql_string = 'create database ' + @db_name + ' on '&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    -- Store initial SQL_STRING in temporary table and&lt;/div&gt;&lt;div&gt;    -- number it to allow later extraction in the correct&lt;/div&gt;&lt;div&gt;    -- sequence&lt;/div&gt;&lt;div&gt;    insert into #db_info (seq_no, sql_string) values (@seq_no, @sql_string)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    -- Increment the sequence number&lt;/div&gt;&lt;div&gt;    select @seq_no&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;= @seq_no + 1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    -- Open the cursor and fetch the first row&lt;/div&gt;&lt;div&gt;    open get_db_info&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    fetch get_db_info into @dbid,@segmap,@dev_frag,@frag_size&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    if (@@sqlstatus=2)&lt;/div&gt;&lt;div&gt;    begin&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select "No information found for database"&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;close get_db_info&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;deallocate cursor get_db_info&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;return&lt;/div&gt;&lt;div&gt;    end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    while (@@sqlstatus = 0)&lt;/div&gt;&lt;div&gt;    begin&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if @alter_status = 0&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* Still part of original 'create database ...' command */&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;begin&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;if @segmap = 4&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* Must refer to log device */&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    begin&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;select @sql_string = '    log on ' + @dev_frag + ' = ' +&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;ltrim(convert(varchar(20),@frag_size)) + char(10) + 'go' + char(10)&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;select @alter_status = 1&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;end&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;else&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;/* Must refer to data device */&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;begin&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;if @counter = 0&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* 1st data device of "create database ..." */&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;    begin&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    select @sql_string = '    ' + @dev_frag + ' = ' + ltrim(convert(varchar(20),@frag_size))&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    select @counter = @counter + 1&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;    end&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;else&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;/* Additional data device for "create database ..." */&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;    begin&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    select @sql_string = '   ,' + @dev_frag + ' = ' + ltrim(convert(varchar(20),@frag_size))&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;    end&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;end&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;end&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;else&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;/* Must be an alter database command */&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;begin&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;select @sql_string = 'alter database ' + @db_name&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;insert into #db_info (seq_no, sql_string) values (@seq_no, @sql_string)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;select @seq_no = @seq_no + 1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;            -- Log = 4 or data&lt;/div&gt;&lt;div&gt;            --&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;if @segmap = 4&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;select @sql_string = '    log on ' + @dev_frag + ' = ' +&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;ltrim(convert(varchar(20),@frag_size)) + char(10) + 'go' + char(10)&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;else&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;select @sql_string = '    on ' + @dev_frag + ' = ' +&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;ltrim(convert(varchar(20),@frag_size)) + char(10) + 'go' + char(10)&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;insert into #db_info (seq_no, sql_string) values (@seq_no, @sql_string)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select @seq_no = @seq_no + 1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;-- Get next row&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;fetch get_db_info into @dbid,@segmap,@dev_frag,@frag_size&lt;/div&gt;&lt;div&gt;    end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    close get_db_info&lt;/div&gt;&lt;div&gt;    deallocate cursor get_db_info&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    -- Select each piece of SQL from temporary table ordering by */&lt;/div&gt;&lt;div&gt;    -- sequence number&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;*/&lt;/div&gt;&lt;div&gt;    --&lt;/div&gt;&lt;div&gt;    declare print_createdb_cursor cursor for&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sql_string&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;#db_info&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;order by seq_no&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;for read only&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    open print_createdb_cursor&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    fetch print_createdb_cursor into @sql_string&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    while (@@sqlstatus = 0)&lt;/div&gt;&lt;div&gt;    begin&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;print @sql_string&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;fetch print_createdb_cursor into @sql_string&lt;/div&gt;&lt;div&gt;    end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    close print_createdb_cursor&lt;/div&gt;&lt;div&gt;    deallocate cursor print_createdb_cursor&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;   &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;-- Get next dbid.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;--&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select @curdbid = min(dbid)&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from #dbids where dbid &gt; @curdbid&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;drop table #db_info&lt;/div&gt;&lt;div&gt;drop table #dbids&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;return(0)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-2424853738915427632?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/2424853738915427632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/06/gen-database-ddl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/2424853738915427632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/2424853738915427632'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/06/gen-database-ddl.html' title='gen database ddl'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-3268257821323290472</id><published>2009-06-07T07:25:00.000-07:00</published><updated>2009-06-07T07:31:56.727-07:00</updated><title type='text'>check table space</title><content type='html'>&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-style-span" style="font-family: 'MS PGothic'; font-size: 32px; font-weight: bold;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;IF OBJECT_ID('dbo.sp_dba_dbspace') IS NOT NULL&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;BEGIN&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;    DROP PROCEDURE dbo.sp_dba_dbspace&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;    IF OBJECT_ID('dbo.sp_dba_dbspace') IS NOT NULL&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;    ELSE&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;END&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;go&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;create procedure sp_dba_dbspace&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;as&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;set nocount on&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;declare @data_size float,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@log_size float,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@psize_kb float,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@log_id int,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@rsrvTTL int,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@log_segment int,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;@message char(80)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* get the segmap mask for log only segments */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select @log_segment = number&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from master..spt_values&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;where name = "log only"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* get the id of the syslogs table */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select @log_id = id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from sysobjects where name = "syslogs"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* get page size from system proc values table */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select distinct @psize_kb = convert(float, low) / 1024&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from master..spt_values&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;where number = 1 and type = "E"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* get the db size excluding the log segment size */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select distinct @data_size = sum(size)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from master..sysusages&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;where dbid = db_id() and segmap != @log_segment&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* get the log segment size */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select distinct @log_size = sum(size)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from master..sysusages&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;where dbid = db_id() and segmap = @log_segment&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if @log_size is NULL&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;   select @log_size = 0   /* case where the db has no log segment */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* print out the overall database stats */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select DbName = rtrim(db_name()),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       DbSize = ltrim(str(sum(@data_size + @log_size) * @psize_kb, 12, 0) + " KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       DataSegments = ltrim(str(@data_size * @psize_kb, 10, 0) + " KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       LogSegments = ltrim(str(@log_size * @psize_kb, 10, 0) + " KB")&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* get page counts for all tables except syslogs */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               o.name "Tname",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               i.name "Iname",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               i.segment,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       i.id,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       i.indid,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       Rrows = rowcnt(i.doampg),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       rsrv = (reserved_pgs(i.id,i.doampg) + reserved_pgs(i.id,i.ioampg)),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       data = data_pgs(i.id,i.doampg),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       idx = data_pgs(i.id,i.ioampg),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       unused = ((reserved_pgs(i.id,i.doampg) + reserved_pgs(i.id,i.ioampg)) -&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;   (data_pgs(i.id,i.doampg) + data_pgs(i.id,i.ioampg)))&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               into #tableCount&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       from sysobjects o, sysindexes i&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               where o.id = i.id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       and o.id != @log_id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;       /* print out results&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;* order by system tables, system tables nonclustered idx&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;* then user tables with no clustered idx, clustered idx tabs and&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;* finally non clustered idx &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;*/&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print "             SYSTEM TABLES"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       select @message = " " + replicate("=",68) &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select rtrim(Tname) "TableName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               rtrim(Iname) "IndexName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,Rrows),12,0)) "RowCount",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,rsrv),10,0)) "ReservedPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,rsrv)*@psize_kb,10,2)+" KB") "Space",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,data),10,0)) "DataPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,idx),10,0)) "IndexPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,unused),10,0)) "UnusedPages"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               from #tableCount tp &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               where tp.id &lt;&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               and ( tp.indid = 0 or tp.indid = 1 )&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               order by id &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print @message &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print "  NON CLUSTERED INDEXES ON SYSTEM TABLES" &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select @message = " " + replicate("=",68)  &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print @message &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select rtrim(Tname) "TableName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               rtrim(Iname) "IndexName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,rsrv),10,0)) "ReservedPages", &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,rsrv)*@psize_kb,10,2)+" KB") "Space", &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,idx),10,0)) "IndexPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,unused),10,0)) "UnusedPages" &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               from #tableCount tp  &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               where tp.id &lt;&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               and tp.indid &gt; 1  &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               order by id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print "         USER TABLES WITH NO CLUSTERED INDEXES"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       select @message = " " + replicate("=",68) &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select rtrim(Tname) "TableName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,Rrows),12,0)) "RowCount",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,rsrv),10,0)) "ReservedPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,rsrv)*@psize_kb,10,2)+" KB") "Space",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,data),10,0)) "DataPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,unused),10,0)) "UnusedPages"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       from #tableCount tp &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       where tp.id &gt; 100&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       and tp.indid = 0&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       order by Tname&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select @message = " " + replicate("=",68) &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print @message &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print "            USER TABLES WITH CLUSTERED INDEX" &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select @message = " " + replicate("=",68)  &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print @message &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select rtrim(Tname) "TableName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               rtrim(Iname) "IndexName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,Rrows),12,0)) "RowCount",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,rsrv),10,0)) "ReservedPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,rsrv)*@psize_kb,10,2)+" KB") "Space",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,data),10,0)) "DataPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,idx),10,0)) "IndexPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,unused),10,0)) "UnusedPages"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               from #tableCount tp&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               where tp.id &gt; 100&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               and tp.indid = 1&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       order by Tname&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print "        NON CLUSTERED INDEXES ON USER TABLES"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               print @message &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               select rtrim(Tname) "TableName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               rtrim(Iname) "IndexName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,rsrv),12,0)) "ReservedPages",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,rsrv)*@psize_kb,10,2)+" KB") "Space",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ltrim(str(convert(float,idx),10,0)) "IndexPages", &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ltrim(str(convert(float,unused),10,0)) "UnusedPages"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               from #tableCount tp &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               where tp.id &gt; 100 &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               and tp.indid &gt; 1 &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       order by Tname&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        /* now get space for syslogs */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;insert into #tableCount&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               o.name,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               i.name,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               i.segment,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       i.id,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       i.indid,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               rowcnt(i.doampg),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       reserved_pgs(i.id, i.doampg),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       data_pgs(i.id,i.doampg),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       0,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       unused = reserved_pgs(i.id, i.doampg) - data_pgs(i.id,i.doampg)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       from sysobjects o, sysindexes i&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       where o.id = i.id &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       and o.id = @log_id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        /* compute summary results showing Total data seg allocated&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt; * whats been reserved and unused.&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt; * compute a usage as a percentage  &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt; */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select @message = " " + replicate("=",68) &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;print "      SUMMARY RESULTS " &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        /* if log on its own segment then use @log_size else use data_size  */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        if @log_size != 0&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;         begin&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;  select&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;DataSegTTL = ltrim(str(@data_size * @psize_kb, 10, 0) + " KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Reserved = ltrim(str(convert(float,sum(rsrv))*@psize_kb,10,0)+" KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Objects = ltrim(str(convert(float,sum(data))*@psize_kb,10,0)+" KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Indixes = ltrim(str(convert(float,sum(idx))*@psize_kb,10,0)+" KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;FreeSpace =str((@data_size*@psize_kb)-(sum(rsrv)*@psize_kb)) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                Usage = str((sum(rsrv)*@psize_kb)/(@data_size * @psize_kb) * 100,6,2) + " % Used" &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    from #tableCount&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    where id != @log_id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;          select&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt; LogSegTTL = str(@log_size * @psize_kb, 10, 0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt; Reserved = str(rsrv*@psize_kb) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                 FreeSpace = str((@log_size*@psize_kb)-(rsrv*@psize_kb)) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt; Usage = str((((rsrv*@psize_kb)/(@log_size * @psize_kb)) * 100),6,2) + " % Used"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    from #tableCount&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    where id = @log_id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;         end&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        else&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt; begin&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                select @message = "DATA AND LOG SHARE SAME SEGMENT"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                /* get the total of reserved pages from #tableCount */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                select @rsrvTTL = sum(rsrv) from #tableCount&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;select&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;DataSegTTL = ltrim(str(@data_size * @psize_kb, 10, 0) + " KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Reserved = ltrim(str(convert(float,sum(rsrv))*@psize_kb,10,0)+" KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Objects = ltrim(str(convert(float,sum(data))*@psize_kb,10,0)+" KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Indixes = ltrim(str(convert(float,sum(idx))*@psize_kb,10,0)+" KB"),&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                FreeSpace = str((@data_size*@psize_kb)-(@rsrvTTL*@psize_kb)) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Usage = str((@rsrvTTL*@psize_kb)/(@data_size * @psize_kb) * 100,6,2) + " % Used"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;from #tableCount&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;where id != @log_id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                select&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                DataSegTTL = str(@data_size * @psize_kb, 10, 0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                LogReserved = str(rsrv*@psize_kb) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                FreeSpace = str((@data_size*@psize_kb)-(@rsrvTTL*@psize_kb)) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                Usage = str((((@rsrvTTL*@psize_kb)/(@data_size * @psize_kb)) * 100),6,2) + " % Used"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                from #tableCount&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                where id = @log_id&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                if @@error != 0 return &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;         end        &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;        print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                select @message = "TOTAL SPACE RESERVED PER SEGMENT" &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;        print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;          select&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;          s.name "SegName",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;          Reserved = ltrim(str(convert(float,sum(rsrv))*@psize_kb,10,0)+" KB")&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;          from syssegments s, #tableCount t&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;          where s.segment = t.segment&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;          group by s.name&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;          order by s.segment&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;                print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;       /* how much space the current db uses on each device */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select size = convert(float, high-low+1) * @psize_kb,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;alloc = convert(float, sum(size)) * @psize_kb,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;device = name,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;total_alloc = convert(float, 0)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;into #devSum&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from master..sysusages, master..sysdevices&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;where vstart &gt;= low and vstart &lt;= high and cntrltype = 0 &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;and dbid = db_id()&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;group by name&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* update total usage for each device. */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;update #devSum&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;set total_alloc = ( select sum(su.size) from master..sysusages su,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    master..sysdevices sd&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    where vstart &gt;= low and vstart &lt;= high and cntrltype = 0&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    and #devSum.device = sd.name&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    )&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    update #devSum&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    set total_alloc = total_alloc * @psize_kb&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;    if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* add summary lines to the device sum table */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;insert #devSum&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select sum(size), sum(alloc), "TOTAL", sum(total_alloc)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;from #devSum&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;/* now print stats */&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select @message = "      DISK ACTUAL USAGE BY DEVICE FOR: " + db_name()&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;select DeviceName = device,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       Size = str(size, 10, 0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       ThisDb = str(alloc, 10, 0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       OtherDb = str(total_alloc - alloc, 10, 0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       UnAlloc = str(size - total_alloc, 10 ,0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       Usage = str(total_alloc/size *100,6,2) + " % Used"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       from #devSum&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       where device != "TOTAL"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       order by device&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;print @message&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        select TOTAL = device,&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               Size = str(size, 10, 0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               ThisDb = str(alloc, 10, 0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               OtherDb = str(total_alloc - alloc, 10, 0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               UnAlloc = str(size - total_alloc, 10 ,0) + " KB",&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;       Usage = str(total_alloc/size *100,6,2) + " % Used"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               from #devSum &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               where device = "TOTAL" &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;               if @@error != 0 return&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        select @message = " " + replicate("=",68)&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;        print @message &lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;drop table #devSum&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;drop table #tableCount&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;return 0&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;go&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;EXEC sp_procxmode 'dbo.sp_dba_dbspace','unchained'&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;go&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;IF OBJECT_ID('dbo.sp_dba_dbspace') IS NOT NULL&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;    PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;ELSE&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;    PRINT '&lt;&lt;&lt;&gt;&gt;&gt;'&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;go&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;USE sybsystemprocs&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;go&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;GRANT EXECUTE ON dbo.sp_dba_dbspace TO public&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; mso-outline-level:1"&gt;go&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-3268257821323290472?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/3268257821323290472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/06/check-table-space.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/3268257821323290472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/3268257821323290472'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/06/check-table-space.html' title='check table space'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-7737770026722655529</id><published>2009-06-07T07:24:00.002-07:00</published><updated>2009-06-07T07:25:33.976-07:00</updated><title type='text'>Sybase IPG Group White Paper</title><content type='html'>&lt;h1 align="left" style="text-align:left"&gt;&lt;span lang="EN-GB" style="font-family: Arial;text-decoration:none;text-underline:none"&gt;&lt;o:p&gt;Sybase IPG Group White Paper&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-size:16.0pt;mso-bidi-font-size: 12.0pt;font-family:Arial"&gt;Series :&lt;span style="mso-tab-count:2"&gt;            &lt;/span&gt;Sybase IQ 12 Technical Series&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-size:16.0pt;mso-bidi-font-size: 12.0pt;font-family:Arial"&gt;&lt;span style="mso-tab-count:3"&gt;                        &lt;/span&gt;Index Selection Criteria&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoHeader" align="right" style="margin-top:186.0pt;margin-right:0in; margin-bottom:0in;margin-left:0in;margin-bottom:.0001pt;text-align:right; tab-stops:.5in"&gt;&lt;span lang="EN-GB" style="font-size:24.0pt;mso-bidi-font-size: 12.0pt"&gt;Sybase IQ 12.5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoHeader" align="right" style="margin-bottom:200.0pt;text-align:right; tab-stops:.5in"&gt;&lt;span lang="EN-GB" style="font-size:24.0pt;mso-bidi-font-size: 12.0pt"&gt;Index Selection Criteria&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" align="right" style="text-align:right"&gt;&lt;span lang="EN-GB"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:109.5pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\jagot\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg" title="iq_logo"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;img width="146" height="146" src="file:///C:/DOCUME~1/jagot/LOCALS~1/Temp/msohtml1/01/clip_image002.jpg" shapes="_x0000_i1025" /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" align="right" style="text-align:right"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="font-size:12.0pt"&gt;Richard Soundy&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="font-size:12.0pt"&gt;&lt;br /&gt;&lt;span style="mso-tab-count:2"&gt;                        &lt;/span&gt;&lt;b&gt;Sybase IPG (Analytics) Group for EMEA&lt;br /&gt;&lt;span style="mso-tab-count:2"&gt;                        &lt;/span&gt;November 2003&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;b&gt;&lt;span lang="EN-GB" style="font-size:14.0pt;font-family:&amp;quot;Palatino Linotype&amp;quot;; mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:Arial; mso-ansi-language:EN-GB;mso-fareast-language:EN-US;mso-bidi-language:AR-SA; mso-bidi-font-style:italic"&gt;&lt;br /&gt; &lt;/span&gt;&lt;/b&gt;  &lt;h2&gt;&lt;span lang="EN-GB"&gt;Abstract&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;This document details the basic steps for the determination of the required indexes for a Sybase IQ 12.5 database.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It is not considered that this document is in any way a complete blueprint for the required indexes, it is intended more to be a layout or a basis for the layout.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="EN-GB"&gt;In addition this document only seeks to provide the information for the 12.5 version of the IQ product.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It is very likely that future releases will require a different choice of indexes, or maybe provide a different set of index to select from.&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;span lang="EN-GB"&gt;Initial Information Requirements&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;In order to determine the “best” initial fit of indexes for a specific database and application the following information will need to be derived.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It is understood that for a new system some if not much of this information will not be available, and in this event the best information should be obtained.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;In all cases the monitoring of the performance of the server/database/application will be required to correct any errors in the initial index determination.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;The tools and techniques used for this monitoring are outside the scope of this document, and are a subject for future documentation.&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span lang="EN-GB"&gt;Table Related Information Required.&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;For each and every table the following information needs to be obtained:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:.5in;margin-bottom:.0001pt;text-indent:-17.85pt;mso-list:l1 level1 lfo3; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family: &amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family:&amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Number of Rows in the table using the following bands:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:1.0in;margin-bottom:.0001pt;text-indent:-1.0in;mso-text-indent-alt: -17.85pt;mso-list:l1 level3 lfo3;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                                &lt;/span&gt;i.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Less than 2,000 rows&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:1.0in;margin-bottom:.0001pt;text-indent:-1.0in;mso-text-indent-alt: -17.85pt;mso-list:l1 level3 lfo3;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                              &lt;/span&gt;ii.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Between 2,000 and 1,000,000 rows&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-1.0in;mso-text-indent-alt: -.25in;mso-list:l1 level3 lfo3;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                            &lt;/span&gt;iii.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Greater than 1,000,000 rows.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;The first two bands above (less than 1,000,000 rows) relates, in the majority of data warehouse designs to dimension or look-up tables, the final band to the fact or event tables.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;The reasons for the split are two fold.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;An IQ system will only access a table of less than 2,000 rows with Default or Fast Projection Indexes&lt;a style="mso-footnote-id:ftn1" href="file:///C:/ted/IQ/Docs/iqIndexSelection.doc#_ftn1" name="_ftnref1" title=""&gt;&lt;sup&gt;&lt;span style="mso-special-character:footnote"&gt;&lt;sup&gt;&lt;span lang="EN-GB" style="font-size:11.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Palatino Linotype&amp;quot;; mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;; mso-ansi-language:EN-GB;mso-fareast-language:EN-US;mso-bidi-language:AR-SA"&gt;[1]&lt;/span&gt;&lt;/sup&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/a&gt;.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Any enumerated indexes are only of use to the Optimizer, and are not used by the Run-Time Engine at all.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This is not to say that the enumerated indexes are of no use, in fact to the contrary, they provide priceless information to the optimizer in planning the query.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Also given the small size of the table(s) the indexes are also of similar size.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;The banding of 2,000 to 1,000,000 rows is given by the relative sizes of the Low Fast (LF) and High Group (HG) index types.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It is considered that these two index types are merely reflections of each other.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This is very wrong.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;They are internally very different, have very different performance capabilities, and have differing load and storage costs.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This document is not the place to go in to the structures of the HG or LF indexes, however the following two examples show the differing sizes of the two index types, which leads to the reasons behind the indexing guidelines presented further on in this document.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;If we consider a table of 10,000 rows, which has a column that has a cardinality of 1,000&lt;a style="mso-footnote-id: ftn2" href="file:///C:/ted/IQ/Docs/iqIndexSelection.doc#_ftn2" name="_ftnref2" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB" style="font-size:11.0pt;mso-bidi-font-size: 12.0pt;font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-ansi-language:EN-GB;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"&gt;[2]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, we should consider the differing storage sizes for the two index types under discussion (LF and HG).&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;An LF index will have 1 page of storage for the Index ID page and 1 bitmap for each and every discrete value the column is storing.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;For a 10,000-row table, given a page size of 218 Kbytes&lt;a style="mso-footnote-id:ftn3" href="file:///C:/ted/IQ/Docs/iqIndexSelection.doc#_ftn3" name="_ftnref3" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB" style="font-size:11.0pt;mso-bidi-font-size: 12.0pt;font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-ansi-language:EN-GB;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"&gt;[3]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, the bitmaps will be 1 page in size.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Hence the &lt;i&gt;size&lt;/i&gt; of the LF index will be 1,001 pages.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It should be noted that this will not use 64 times 1,001 Kbytes of disk space as the compression routines will shrink this to a smaller number.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;However to access a given &lt;i&gt;value&lt;/i&gt; the system will have to read 2 pages (ID + 1 bitmap).&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;For the HG index the calculation is somewhat different.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;The HG will still have and ID page (which will also contain the B-Tree component of the index), but the G-Array component will be stored in some 2- 3 pages.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This is because a G-Array page can hold some 8,000 row-id values; hence 10,000 row-ids (rows) can be stored in 2 to 3 pages.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;So the overall size of the HG index will be 4 pages.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Also the access to a given value will still only be 2 I/Os (pages).&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;Given that the optimizer will select (all other thing being equal) the fast search index (LF or HG) that is &lt;i&gt;physically&lt;/i&gt; smaller the optimizer will &lt;b&gt;always&lt;/b&gt; select the HG index.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Hence for a table of 10,000 rows an HG is far more efficient than an LF.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;There is a question of skewed data&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;- but even this does not effect the overall size of the HG index to any great degree, as this will only add a couple of pages to the overall size of the index.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;The difference in the load time between an LF and an HG index is for all intents and purposes irrelevant for a table of only 10,000 rows.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;The break even point on the relative size of the two index types is easily calculated for each table, but the larger the table, the more the likelihood is that it will be dynamic, and hence favour the use of the LF index for low cardinality columns.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;We can continue to provide sizing costs for the two indexes, but the logic is clear, for smaller tables the Hg index should be considered to be the “index of choice”.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;So where is the break point, well there is no firm “number-of-rows” at which the LF becomes a “better” index than the HG.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;But we would consider somewhere in the few million rows this takes place.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Of course other questions need be answered, for example should the table have a very low volatility&lt;a style="mso-footnote-id:ftn4" href="file:///C:/ted/IQ/Docs/iqIndexSelection.doc#_ftn4" name="_ftnref4" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span style="mso-special-character:footnote"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB" style="font-size:11.0pt;mso-bidi-font-size: 12.0pt;font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-ansi-language:EN-GB;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"&gt;[4]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; of the size compression is not an issue then you might wish to use the HG for low cardinality columns up to 10 or 20 million row tables.&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span lang="EN-GB"&gt;Column Related Information Required&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;For each and every column the following information should be obtained:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:.5in;margin-bottom:.0001pt;text-indent:-17.85pt;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family: &amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family:&amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;The cardinality of the column&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:.5in;margin-bottom:.0001pt;text-indent:-17.85pt;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family: &amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family:&amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;The data type of the column&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:.5in;margin-bottom:.0001pt;text-indent:-17.85pt;mso-list:l0 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family: &amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family:&amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;The expected &lt;i&gt;use&lt;/i&gt; of the column&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:1.0in;margin-bottom:.0001pt;text-indent:-1.0in;mso-text-indent-alt: -17.85pt;mso-list:l0 level3 lfo2;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                                &lt;/span&gt;i.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Simple searches (equality/inequality, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;EXISTS&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;IN&lt;/span&gt;&lt;span lang="EN-GB"&gt;)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:1.0in;margin-bottom:.0001pt;text-indent:-1.0in;mso-text-indent-alt: -17.85pt;mso-list:l0 level3 lfo2;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                              &lt;/span&gt;ii.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Range Searches (&lt;, &gt;, between)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:1.0in;margin-bottom:.0001pt;text-indent:-1.0in;mso-text-indent-alt: -17.85pt;mso-list:l0 level3 lfo2;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                            &lt;/span&gt;iii.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Aggregation functions (&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;SUM()&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;AVG()&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;DISTINCT&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;COUNT&lt;/span&gt;&lt;span lang="EN-GB"&gt;)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:1.0in;margin-bottom:.0001pt;text-indent:-1.0in;mso-text-indent-alt: -17.85pt;mso-list:l0 level3 lfo2;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                            &lt;/span&gt;iv.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Intra-table comparison&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-top:0in;margin-right:0in;margin-bottom:0in; margin-left:1.0in;margin-bottom:.0001pt;text-indent:-1.0in;mso-text-indent-alt: -17.85pt;mso-list:l0 level3 lfo2;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                              &lt;/span&gt;v.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Free Text searches (&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;CONTAINS&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;LIKE&lt;/span&gt;&lt;span lang="EN-GB"&gt;)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:1.0in;text-indent:-1.0in;mso-text-indent-alt: -.25in;mso-list:l0 level3 lfo2;tab-stops:list 1.0in"&gt;&lt;span lang="EN-GB" style="mso-fareast-font-family:&amp;quot;Palatino Linotype&amp;quot;;mso-bidi-font-family: &amp;quot;Palatino Linotype&amp;quot;"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                            &lt;/span&gt;vi.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;Ordering and grouping (&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;ORDER BY&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;GROUP BY&lt;/span&gt;&lt;span lang="EN-GB"&gt;)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;This information is required to determine the LF/HG and other index requirements.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This is also deemed to be the most difficult information to gather for a &lt;i&gt;new&lt;/i&gt; system.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;If the Sybase IQ database is to accelerate of replace an existing system, there should be no barrier to any of the above information.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="EN-GB"&gt;As the volume of this information is likely to be high it is suggested that some form of schema design tool is adopted to hold the information.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;A product such as Sybase Power Designer is recommended for this area as it provides many other features in addition to its documentation functions.&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;span lang="EN-GB"&gt;Database Index Selection&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;The following list needs to be applied to &lt;b&gt;each and every&lt;/b&gt; column in each and every table (with the possible exception of tables of less than 2,000 rows) in the database.&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top:0in" start="1" type="1"&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;For each column the cardinality needs to be applied to the &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;CREATE TABLE&lt;/span&gt;&lt;span lang="EN-GB"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;      mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;IQ UNIQUE&lt;/span&gt;&lt;span lang="EN-GB"&gt;      constraint.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This will provide the &lt;i&gt;best&lt;/i&gt;      version of the FP index (1-byte FP, 2-byte FP or Flat FP).&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Note that the &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;MINIMIZE_STORAGE&lt;/span&gt;&lt;span lang="EN-GB"&gt; option will auto-generate an &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;IQ      UNIQUE&lt;/span&gt;&lt;span lang="EN-GB"&gt; value of 255 for all columns for which &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;IQ      UNIQUE&lt;/span&gt;&lt;span lang="EN-GB"&gt; is not specified.&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;Note: for a column that has a data type of &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;FLOAT&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;REAL&lt;/span&gt;&lt;span lang="EN-GB"&gt; or &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;; mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;DOUBLE&lt;/span&gt;&lt;span lang="EN-GB"&gt; then the only indexes that can be applied are flat FP.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;For a column of data type &lt;/span&gt;&lt;span lang="EN-GB" style="font-family: &amp;quot;Courier New&amp;quot;"&gt;BIT&lt;/span&gt;&lt;span lang="EN-GB"&gt; there is a &lt;i&gt;custom&lt;/i&gt; index structure automatically generated under it, hence there is no requirement for any further indexes to be placed upon it.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;A column of data type &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;VARCHAR()&lt;/span&gt;&lt;span lang="EN-GB"&gt; with a length greater than 255 can only have a Flat FP and (if required) a Word (WRD) index placed on it.&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top:0in" start="2" type="1"&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;If a column is a &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:      &amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;PRIMARY KEY&lt;/span&gt;&lt;span lang="EN-GB"&gt; or &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;UNIQUE      &lt;/span&gt;&lt;span lang="EN-GB"&gt;then this should be specified within the &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;CREATE      TABLE&lt;/span&gt;&lt;span lang="EN-GB"&gt; statement, this will auto generate a unique      HG index on the column, allowing improved storage, better join processing      and more statistics available to the optimizer.&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;If a column is a &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:      &amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;FOREIGN KEY&lt;/span&gt;&lt;span lang="EN-GB"&gt; then this should also be defined in the &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;CREATE      TABLE&lt;/span&gt;&lt;span lang="EN-GB"&gt; statement, also allowing automatic      construction of an HG index, this is vital for both the optimizer and for      join performance.&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;If a table has a multi-column &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;PRIMARY&lt;/span&gt;&lt;span lang="EN-GB"&gt; or &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;      mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;FOREIGN KEY&lt;/span&gt;&lt;span lang="EN-GB"&gt;, this can be specified, and the system will auto-generate the      correct type of Multi-Column HG index on the columns (at this point it      should be noted that the individual columns within the key will not have      an HG index placed upon them – so it is the responsibility of the designer      to ensure that if these columns are used for searches or whatever then the      appropriate indexes are placed upon them).&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;For any and every other join column (column that is used in a      join – but not in a &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;      mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;PRIMARY KEY/FOREIGN KEY&lt;/span&gt;&lt;span lang="EN-GB"&gt; join), then this column should also have an HG index placed      upon it.&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoBodyText"&gt;&lt;span lang="EN-GB"&gt;At this point all of the above information applies to columns of any cardinality and to tables of any size.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;The following steps may require the column cardinality and the table size to be considered.&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top:0in" start="6" type="1"&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;For a column that is going to be used for searching (Equality,      inequality) for certain aggregations (&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;COUNT&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;DISTINCT&lt;/span&gt;&lt;span lang="EN-GB"&gt;), for grouping and ordering, then either an HG or an LF index      is required.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;For a table of less      than around 1 million rows (see discussion above) a HG index is more      efficient for all cardinalities.&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;For a table greater in size than this use an LF for columns with a      cardinality of less than around 1,500 and an HG of columns that have a      cardinality greater than this.&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;For a column that has a data type of &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;DATE&lt;/span&gt;&lt;span lang="EN-GB"&gt;, &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;TIME&lt;/span&gt;&lt;span lang="EN-GB"&gt; or &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;      mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;DATETIME&lt;/span&gt;&lt;span lang="EN-GB"&gt;,      then it is suggested that the DATE, TIME and DTTM indexes are      applied.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This will provide for both      range searches and date function searches (&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;DATEPART()&lt;/span&gt;&lt;span lang="EN-GB"&gt;      etc.).&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;For a non-date/time column that is involved in range searches      and/or &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;      mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;SUM()&lt;/span&gt;&lt;span lang="EN-GB"&gt; and &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;"&gt;AVG()&lt;/span&gt;&lt;span lang="EN-GB"&gt; aggregation functions it is suggested that an HNG index is      applied.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This &lt;i&gt;may&lt;/i&gt; not be      required if the column has a high percentage of NULL values (greater than      10% of the rows).&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Also the use of      HNG columns should be monitored, as HG and LF can provide (in some cases)      a faster range search capability.&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;Any column that is compared with another column &lt;b&gt;in the same      table&lt;/b&gt; should have a compare (CMP) index applied to the comparison pair      of columns.&lt;/span&gt;&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in"&gt;&lt;span lang="EN-GB"&gt;Any &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;VARCHAR()&lt;/span&gt;&lt;span lang="EN-GB"&gt; or &lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;quot;Courier New&amp;quot;"&gt;CHAR()&lt;/span&gt;&lt;span lang="EN-GB"&gt; columns that are likely to be used for word searches should      have an word (WRD) index applied to them.&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;b&gt;&lt;span lang="EN-GB" style="font-size:14.0pt;font-family:&amp;quot;Palatino Linotype&amp;quot;; mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family:Arial; mso-ansi-language:EN-GB;mso-fareast-language:EN-US;mso-bidi-language:AR-SA; mso-bidi-font-style:italic"&gt;&lt;br /&gt; &lt;/span&gt;&lt;/b&gt;  &lt;h2&gt;&lt;span lang="EN-GB"&gt;Conclusion&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;That is really all that is required for the implementation of indexes to an IQ database.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Naturally there are always exceptions (for both table sizes cardinality [HG vs. LF]) and the performance of the system &lt;b&gt;must&lt;/b&gt; be monitored to determine if further indexes are required or maybe some indexes to be removed.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;For further information on the structure and function of the various index types then the Sybase IQ manual set can be consulted, in addition the Sybase Professional Services Groups can be used both as implementers and trainers in some of the more esoteric functionality of the Sybase IQ index sets.&lt;/span&gt;&lt;/p&gt;  &lt;h3 style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;Richard Soundy&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;November 2003&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;st1:city st="on"&gt;&lt;st1:place st="on"&gt;&lt;span lang="EN-GB"&gt;London&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span lang="EN-GB"&gt;.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoHeader" style="margin-bottom:0in;margin-bottom:.0001pt;tab-stops: .5in"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoHeader" style="margin-bottom:0in;margin-bottom:.0001pt;tab-stops: .5in"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1026" type="#_x0000_t75" style="'width:414.75pt;height:116.25pt'"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\jagot\LOCALS~1\Temp\msohtml1\01\clip_image003.png" title="Sybase_4col"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;img width="553" height="155" src="file:///C:/DOCUME~1/jagot/LOCALS~1/Temp/msohtml1/01/clip_image004.jpg" shapes="_x0000_i1026" /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="AddressBlockbackcover"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;color:navy"&gt;Sybase, Inc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="AddressBlockbackcover"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;color:navy"&gt;Worldwide Headquarters&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="AddressBlockbackcover"&gt;&lt;st1:street st="on"&gt;&lt;st1:address st="on"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;   color:navy"&gt;One Sybase Drive&lt;/span&gt;&lt;/b&gt;&lt;/st1:address&gt;&lt;/st1:street&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt; color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="AddressBlockbackcover"&gt;&lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;   color:navy"&gt;Dublin&lt;/span&gt;&lt;/b&gt;&lt;/st1:city&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;color:navy"&gt;, &lt;st1:state st="on"&gt;CA&lt;/st1:state&gt;  &lt;st1:postalcode st="on"&gt;94568-7902&lt;/st1:postalcode&gt; &lt;st1:country-region st="on"&gt;USA&lt;/st1:country-region&gt;&lt;/span&gt;&lt;/b&gt;&lt;/st1:place&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="AddressBlockbackcover"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;color:navy"&gt;Tel: +800 8 SYBASE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="AddressBlockbackcover"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;color:navy"&gt;www.sybase.com&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="mso-element:footnote-list"&gt;&lt;br /&gt;  &lt;hr align="left" size="1" width="33%"&gt;    &lt;div style="mso-element:footnote" id="ftn1"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn1" href="file:///C:/ted/IQ/Docs/iqIndexSelection.doc#_ftnref1" name="_ftn1" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-special-character:footnote"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;font-family: &amp;quot;Palatino Linotype&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;mso-ansi-language:EN-GB;mso-fareast-language:EN-US; mso-bidi-language:AR-SA"&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB"&gt; In this document I generally refer to Default Indexes as Fast Projection or FP indexes.&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn2"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn2" href="file:///C:/ted/IQ/Docs/iqIndexSelection.doc#_ftnref2" name="_ftn2" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-special-character:footnote"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;font-family: &amp;quot;Palatino Linotype&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;mso-ansi-language:EN-GB;mso-fareast-language:EN-US; mso-bidi-language:AR-SA"&gt;[2]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB"&gt; The column supports the storage of 1,000 different values.&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn3"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn3" href="file:///C:/ted/IQ/Docs/iqIndexSelection.doc#_ftnref3" name="_ftn3" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-special-character:footnote"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;font-family: &amp;quot;Palatino Linotype&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;mso-ansi-language:EN-GB;mso-fareast-language:EN-US; mso-bidi-language:AR-SA"&gt;[3]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB"&gt; The default IQ Page Size for an IQ 12.5 Database&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="mso-element:footnote" id="ftn4"&gt;  &lt;p class="MsoFootnoteText"&gt;&lt;a style="mso-footnote-id:ftn4" href="file:///C:/ted/IQ/Docs/iqIndexSelection.doc#_ftnref4" name="_ftn4" title=""&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-special-character:footnote"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;font-family: &amp;quot;Palatino Linotype&amp;quot;;mso-fareast-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;mso-ansi-language:EN-GB;mso-fareast-language:EN-US; mso-bidi-language:AR-SA"&gt;[4]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB"&gt; A table that is low volatility does not change very often; hence the loading time is not of issue.&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-7737770026722655529?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/7737770026722655529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/06/sybase-ipg-group-white-paper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/7737770026722655529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/7737770026722655529'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/06/sybase-ipg-group-white-paper.html' title='Sybase IPG Group White Paper'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-1560478054718881330</id><published>2009-06-07T07:24:00.001-07:00</published><updated>2009-06-07T07:24:43.520-07:00</updated><title type='text'>Sybase IQ as a Data Warehousing Database Solution</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;color:blue; mso-fareast-language:EN-GB"&gt;Sybase IQ as a Data Warehousing Database Solution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;There are a number of points to look at when deciding whether to use Sybase IQ as a database platform.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It is specialised the target audience is inherently limited by feature set.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;Some background - Sybase IQ is the Sybase Data Warehouse product offering.  It is not like ASE or Oracle or MS SQL Server in that it has been designed from the ground up for analytic and not OLTP based applications.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language: EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Key Business benefits:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo3; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-family: Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings; color:blue;mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Scalability: can provide access for many simultaneous users to terabytes of information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo3; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-family: Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings; color:blue;mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Speed: delivers query responses to users in seconds rather than minutes or hours.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo3; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-family: Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings; color:blue;mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Flexibility: gives users the ability to create any type of ad-hoc query.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo3; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-family: Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings; color:blue;mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Low TCO: reduces storage with data compression; compresses data from 50 to 80 percent; is far easier to maintain than traditional databases and does not require time and resource-intensive tuning to obtain excellent performance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;Key technical advantages:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;a)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Many times faster for both simple and complex selects (typically a factor of 100) as the optimiser takes more time so is more thorough.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size: 12.0pt;mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;b)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Storage efficiency - data is held in a compressed form so take up typically 1/3rd the space.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;c)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;All columns are indexed by default - other types of index can be added for additional performance.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;d)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Uses less system resources so requiring smaller hardware configurations.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;e)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Scales well to Terabytes.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;f)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;Large updates performed more efficiently (typically 100K row update &lt;1second).&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language: EN-GB"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;g)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Can operate in a cluster mode by adding additional 'read only' nodes for scaling.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;h)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Transact and ANSI SQL compatible.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language: EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;i)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;Can be fed data by Sybase Replication/CIS or File.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;j)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;Bulk load is very fast.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt; mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;k)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Uses table versioning so no transaction log to fill up, in addition updates are queued so no locking issues.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;l)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;No read locking as ‘selects’ read current version.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;m)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Inbuilt Index optimiser advises of indexes needed to enhance performance.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;n)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Little tuning necessary and very forgiving of badly written queries.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;o)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;No index rebuilds or statistics maintenance.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt; mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;p)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Internal event based scheduling.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;Main disadvantages:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;a)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;It is not suitable for an OLTP environment.&lt;/span&gt;&lt;span lang="EN-GB" style="mso-fareast-language:EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;b)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Query optimiser is more thorough and takes longer to compile queries so is not suitable where ultra quick response time is required.&lt;/span&gt;&lt;span lang="EN-GB" style="mso-fareast-language: EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;c)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Optimised for last row out not first as on OLTP systems&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;d)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Inefficient updating small numbers of records due to large page size (1 record similar time to 10,000 records).&lt;/span&gt;&lt;span lang="EN-GB" style="mso-fareast-language:EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;e)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Only one writer/updater process per table at the moment (all updaters on one node only).&lt;/span&gt;&lt;span lang="EN-GB" style="mso-fareast-language:EN-GB"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo2; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="color:blue; mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;f)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language: EN-GB"&gt;Is 99.9% compatible with Transact SQL so there is likely to be some reworking necessary to migrate ASE SQL.&lt;/span&gt;&lt;span lang="EN-GB" style="mso-fareast-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="color:blue"&gt;Other Points:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span lang="EN-GB" style="color:blue"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo4; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-family: Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings; color:blue"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue"&gt;Data is held in a column based format and no row based as is the case with conventional RDBMS’s.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo4; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-family: Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings; color:blue;mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue"&gt;DR is maintained by Database + either &lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Transactional or Differential dumps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo4; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-family: Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings; color:blue;mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Database dump time in the order of 200Gb+ per hour (Linux + SAN).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo4; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-size: 12.0pt;font-family:Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family: Wingdings;color:blue;mso-fareast-language:EN-GB"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue;mso-fareast-language:EN-GB"&gt;Many different types of indexes for precise data type support + will support time series in the next version.&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:12.0pt;color:blue;mso-fareast-language: EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo4; tab-stops:list .5in"&gt;&lt;span lang="EN-GB" style="font-family: Wingdings;mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings; color:blue"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="color:blue"&gt;Data load time in the order of 100k+ records per CPU per second.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-1560478054718881330?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/1560478054718881330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/06/sybase-iq-as-data-warehousing-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/1560478054718881330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/1560478054718881330'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/06/sybase-iq-as-data-warehousing-database.html' title='Sybase IQ as a Data Warehousing Database Solution'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-7056924906996648815</id><published>2009-03-11T02:25:00.000-07:00</published><updated>2009-03-11T02:30:03.514-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ocs'/><category scheme='http://www.blogger.com/atom/ns#' term='apps'/><category scheme='http://www.blogger.com/atom/ns#' term='Sybase'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>creating a ocs client the easy way</title><content type='html'>This is an easy script to help you create a ocs client on an apps box.&lt;br /&gt;&lt;br /&gt;Terry&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;!#/bin/bash&lt;br /&gt;PROJ=OCS&lt;br /&gt;VERSION=OCS1251_EBF12655&lt;br /&gt;cd /opt/sybase&lt;br /&gt;cp defaultpath.profile .profile &lt;br /&gt;cp defaultpath.kshrc .kshrc &lt;br /&gt;cp defaultpath.inputrc .inputrc &lt;br /&gt;cp defaultpath.vimrc .vimrc &lt;br /&gt;cp defaultpath.sqshrc .sqshrc &lt;br /&gt;cp defaultpath.forward .forward # ssh-keygen -t dsa &lt;&lt;EOF&lt;br /&gt;EOF&lt;br /&gt;mkdir .ssh&lt;br /&gt;cat  /shared/sybase-build/last/GENERIC/ssh/id_dsa.pub.oishare&gt;&gt;/opt/sybase/.ssh/authorized_keys&lt;br /&gt;cat  /shared/sybase-build/last/GENERIC/ssh/gh_sybase.pub&gt;&gt;/opt/sybase/.ssh/authorized_keys&lt;br /&gt;mkdir -p /opt/sybase/PROJ/OCS1251_EBF12655&lt;br /&gt;cd /opt/sybase/PROJ&lt;br /&gt;ln -s OCS1251_EBF12655 openclient&lt;br /&gt;cd /opt/sybase/PROJ/openclient&lt;br /&gt;PATH=/usr/bin:/opt/IB/bin:/usr/sfw/bin:/usr/sbin:/sbin:/usr/ucb:/usr/ccs/bin&lt;br /&gt;export PATH&lt;br /&gt;gtar -xvzf  /defaultpath/OCS1251-32bit.tar.gz&lt;br /&gt;gtar -xvzf  /defaultpath/OCS1251-32bit_EBF13428.tar.gz&lt;br /&gt;cp /defaultpath/.profile_OCS1251-32bit /opt/sybase/PROJ&lt;br /&gt;cp /defaultpath/goto_PROJ_OCLIENT /opt/sybase/PROJ&lt;br /&gt;cd /opt/sybase/PROJ&lt;br /&gt;cat goto_PROJ_OCLIENT&lt;br /&gt;cat goto_PROJ_OCLIENT  | sed 's/???/OCS/g' &gt; goto_PROJ_OCLIENT&lt;br /&gt;rm goto_PROJ_OCLIENT&lt;br /&gt;cd /opt/sybase&lt;br /&gt;ln -s PROJ/goto_PROJ_OCLIENT&lt;br /&gt;cd /opt/sybase/PROJ/openclient&lt;br /&gt;ln -s ../interfaces .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-7056924906996648815?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/7056924906996648815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/03/creating-ocs-client-easy-way.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/7056924906996648815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/7056924906996648815'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/03/creating-ocs-client-easy-way.html' title='creating a ocs client the easy way'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-1776604018649121807</id><published>2009-02-24T01:38:00.000-08:00</published><updated>2009-02-24T01:43:45.567-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quiecing a repserver'/><category scheme='http://www.blogger.com/atom/ns#' term='quiesce check'/><category scheme='http://www.blogger.com/atom/ns#' term='isql'/><category scheme='http://www.blogger.com/atom/ns#' term='admin who'/><category scheme='http://www.blogger.com/atom/ns#' term='admin heath'/><category scheme='http://www.blogger.com/atom/ns#' term='repserver'/><title type='text'>quiescing a replication system</title><content type='html'>to do this you will need to first suspend all the log transactions do this by&lt;br /&gt;&lt;br /&gt;isql -S server_rep -U repadmin -P password &lt;br /&gt;&lt;br /&gt;admin health&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;this well show false of quiese is not right&lt;br /&gt;next run&lt;br /&gt;suspend log transfer from all&lt;br /&gt;go&lt;br /&gt;then run &lt;br /&gt;admin quiesce_force_rsi&lt;br /&gt;go&lt;br /&gt;then run &lt;br /&gt;admin quiesce_check&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;this should now say the server is quiesce&lt;br /&gt;I would recomed doing this 2 to 3 times more before restoring the log transfer as sometime it does not work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-1776604018649121807?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/1776604018649121807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/02/quiescing-replication-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/1776604018649121807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/1776604018649121807'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/02/quiescing-replication-system.html' title='quiescing a replication system'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-3178789106484121005</id><published>2009-02-09T21:14:00.000-08:00</published><updated>2009-02-09T21:45:55.558-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ltm'/><category scheme='http://www.blogger.com/atom/ns#' term='dbcc checktable(syslogs)'/><category scheme='http://www.blogger.com/atom/ns#' term='resync'/><category scheme='http://www.blogger.com/atom/ns#' term='invalid'/><category scheme='http://www.blogger.com/atom/ns#' term='replication'/><category scheme='http://www.blogger.com/atom/ns#' term='settrun'/><category scheme='http://www.blogger.com/atom/ns#' term='valid'/><category scheme='http://www.blogger.com/atom/ns#' term='repserver'/><title type='text'>Truncation log is filling up and its to do with replication what should I do?</title><content type='html'>Firstly run login to the box&lt;br /&gt;/opt/sybase/TEST/dba/scripts : isql -S servername -Usa -P password1&lt;br /&gt;&lt;br /&gt;1&gt; sp_who&lt;br /&gt;2&gt; go&lt;br /&gt;&lt;br /&gt;0   1063 recv sleep   pwsys                          pwsys                          ln2p3310ap 0        ITS_FF_logins                  AWAITING COMMAND           0 &lt;br /&gt;      0   1064 recv sleep   jupiter_fft                    jupiter_fft                    IBLONPSP32 0        ImagineFFProd                  AWAITING COMMAND           0 &lt;br /&gt;      0   1074 recv sleep   herrnd                         herrnd                                    0        ImagineFFProd                  AWAITING COMMAND           0 &lt;br /&gt;      0   1075 recv sleep   pwsys                          pwsys                          ln2p3310ap 0        ITS_FF_logins                  AWAITING COMMAND           0 &lt;br /&gt;      0   1091 recv sleep   Pmccartm                       Pmccartm                       iblongsw22 0        ImagineFFProd                  AWAITING COMMAND           0 &lt;br /&gt;      0   1100 recv sleep   otc_book                       otc_book                       ln7p3371ap 0        MOP                            AWAITING COMMAND           0 &lt;br /&gt;      0   1120 recv sleep   pwsys                          pwsys                          ln2p3310ap 0        EOY_ITS_FF_logins              AWAITING COMMAND           0 &lt;br /&gt;      0   1122 sleeping     sysadmin                       sysadmin                                  0        master                         LOG SUSPEND &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;after that do a select * from syslogshold&lt;br /&gt;1&gt; use master&lt;br /&gt;2&gt; go&lt;br /&gt;1&gt; select * from syslogshold&lt;br /&gt;2&gt; go&lt;br /&gt; dbid   reserved    spid   page        xactid         masterxactid   starttime                  name                                                                xloid       &lt;br /&gt; ------ ----------- ------ ----------- -------------- -------------- -------------------------- ------------------------------------------------------------------- ----------- &lt;br /&gt;     12           0      0      102007 0x000000000000 0x000000000000        Feb 10 2009  3:13AM $replication_truncation_point                                                 0 &lt;br /&gt;     11           0      0      293304 0x000000000000 0x000000000000        Feb 10 2009  3:06AM $replication_truncation_point                                                 0 &lt;br /&gt;     10           0      0      374671 0x000000000000 0x000000000000        Feb 10 2009  3:13AM $replication_truncation_point                                                 0 &lt;br /&gt;      9           0      0      102145 0x000000000000 0x000000000000        Feb 10 2009  3:09AM $replication_truncation_point                                                 0 &lt;br /&gt;      8           0      0      565203 0x000000000000 0x000000000000        Feb 10 2009  3:14AM $replication_truncation_point                                                 0 &lt;br /&gt;      7           0      0     5465069 0x000000000000 0x000000000000        Feb 10 2009  3:09AM $replication_truncation_point                                                 0 &lt;br /&gt;      6           0      0     4154341 0x000000000000 0x000000000000        Feb 10 2009  3:06AM $replication_truncation_point                                                 0 &lt;br /&gt;      5           0    315     2219491 0xe3dd21000100 0x000000000000        Feb 10 2009  3:14AM $dmpxact                                                                    630 &lt;br /&gt;      5           0      0     2279742 0x000000000000 0x000000000000        Feb 10 2009  2:03AM $replication_truncation_point                                                 0 &lt;br /&gt;  31516           0     12        9571 0x632500000a00 0x000000000000        Feb 10 2009  3:14AM $audit_xact                                                                  24 &lt;br /&gt;&lt;br /&gt;you will see alot of replication_trncations_point you will find that you wont beable to truncated the log, best thing to do is ask the apps team if you can kill the spid causing the troubles and break replications&lt;br /&gt;&lt;br /&gt;when trying to truncate you will receve this error&lt;br /&gt;dump tran database with truncate_only&lt;br /&gt;2&gt; go&lt;br /&gt;DUMP TRANSACTION for database 'database' could not truncate the log. Either extend the log using ALTER DATABASE ... LOG ON command or eliminate the oldest active transaction in database 'database' shown in syslogshold table.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Breaking replication&lt;br /&gt;&lt;br /&gt;dbcc settrun(ltm, ignore) &lt;br /&gt;go&lt;br /&gt;sp_stop_repagent(database)&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;this should now start to clear the tranlog you can now run a dump tran database with truncate_only&lt;br /&gt;dump tran database with truncate_only&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;you will now need to do a resync&lt;br /&gt;&lt;br /&gt;exec sp_addalias replogin, dbo&lt;br /&gt;go&lt;br /&gt;dbcc settrunc (ltm,ignore)&lt;br /&gt;&lt;br /&gt;on warmstand by run &lt;br /&gt;&lt;br /&gt;exec RSSD_DB..rs_zeroltm  Primaryserver,DATABASE&lt;br /&gt;copy over the database load it and the resume connections&lt;br /&gt;log in to primary&lt;br /&gt;dbcc settrunc (ltm,valid)&lt;br /&gt;go&lt;br /&gt;sp_start_repagent (database)&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;log in to repserver &lt;br /&gt;resume connection to STANDBYDS.DATABASE&lt;br /&gt;and so on&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-3178789106484121005?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/3178789106484121005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/02/truncation-log-is-filling-up-and-its-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/3178789106484121005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/3178789106484121005'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/02/truncation-log-is-filling-up-and-its-to.html' title='Truncation log is filling up and its to do with replication what should I do?'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-5426977390389888957</id><published>2009-01-28T01:49:00.000-08:00</published><updated>2009-01-28T01:51:45.569-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='master'/><category scheme='http://www.blogger.com/atom/ns#' term='off'/><category scheme='http://www.blogger.com/atom/ns#' term='tempdb'/><category scheme='http://www.blogger.com/atom/ns#' term='move'/><title type='text'>How do I move tempdb off of the Master Device</title><content type='html'>1.1.3: How do I move tempdb off of the Master Device?&lt;br /&gt;There used to be a section in the FAQ describing how to drop all of tempdb'sdevices physically from the master device.  This can make recovery of theserver impossible in case of a serious error and so it strongly recommendedthat you do not do this but simply drop the segments as outlined below.Sybase TS Preferred Method of Moving tempdb off the Master Device.This is the Sybase TS method of removing most activity from the master device: 1. Alter tempdb on another device:     &lt;br /&gt;1&gt; alter database tempdb on ...     &lt;br /&gt;2&gt; go 2. Use the tempdb:     &lt;br /&gt;1&gt; use tempdb     &lt;br /&gt;2&gt; go 3. Drop the segments:     &lt;br /&gt;1&gt; sp_dropsegment "default", tempdb, master     &lt;br /&gt;2&gt; go     &lt;br /&gt;1&gt; sp_dropsegment "logsegment", tempdb, master     &lt;br /&gt;2&gt; go     &lt;br /&gt;1&gt; sp_dropsegment "system", tempdb, master     &lt;br /&gt;2&gt; go    Note that there is still some activity on the master device. On a three    connection test that I ran:          &lt;br /&gt;while ( 1 = 1 )       &lt;br /&gt;begin          &lt;br /&gt;create table #x (col_a int)          &lt;br /&gt;drop table #x       &lt;br /&gt;end       &lt;br /&gt;there was one write per second. Not bad.   An Alternative    (I recently did some bench marks comparing this method, the previous method    and a combination of both.  According to sp_sysmon there was no difference    &lt;br /&gt;in activity at all.  I leave it here just in case it proves useful to    &lt;br /&gt;someone.)   The idea of this handy script is to simply fill the first 2MB of tempdb thuseffectively blocking anyone else from using it. &lt;br /&gt;The slight gotcha with thisscript, since we're using model, is that all subsequent database creates willalso have tempdb_filler installed. &lt;br /&gt;This is easily remedied by dropping thetable after creating a new database.&lt;br /&gt;This script works because tempdb is rebuilt every time the ASE is rebooted.&lt;br /&gt;Very nice trick!/* this isql script creates a table in the model database. &lt;br /&gt;*//* Since tempdb is created from the model database when the    &lt;br /&gt;*//* server is started, this effectively moves the active        &lt;br /&gt;*//* portion of tempdb off of the master device.                 &lt;br /&gt;*/use modelgo/* note: 2k row size */create table tempdb_filler(a char(255) not null,b char(255) not null,c char(255) not null,d char(255) not null,e char(255) not null)go/* insert 1024 rows */declare @i intselect @i = 1while (@i &lt;= 1024)begin   insert into tempdb_filler values('a','b','c','d','e')   &lt;br /&gt;if (@i % 100 = 0) /* dump the transaction every 100 rows */      &lt;br /&gt;dump tran model with truncate_only   &lt;br /&gt;select @i=@i+1endgo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-5426977390389888957?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/5426977390389888957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/how-do-i-move-tempdb-off-of-master.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/5426977390389888957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/5426977390389888957'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/how-do-i-move-tempdb-off-of-master.html' title='How do I move tempdb off of the Master Device'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-8743373251700669818</id><published>2009-01-27T23:21:00.000-08:00</published><updated>2009-01-28T00:42:18.689-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dbcc checktable(syslogs)'/><category scheme='http://www.blogger.com/atom/ns#' term='sqltext'/><category scheme='http://www.blogger.com/atom/ns#' term='syslogshold'/><category scheme='http://www.blogger.com/atom/ns#' term='select'/><category scheme='http://www.blogger.com/atom/ns#' term='traceon'/><title type='text'>how to get the sql query behind a spid in sybase</title><content type='html'>The command you need to use to find the text of a spid say one that is blocking is dbcc sqltext.&lt;br /&gt;&lt;br /&gt;This can be used like this&lt;br /&gt;&lt;br /&gt;dbcc sqltext(&lt;spid1&gt;)&lt;br /&gt; you can also use this command to get see whats is happening in a block you can do this by&lt;br /&gt;&lt;br /&gt;use master&lt;br /&gt;go&lt;br /&gt;select * from syslogshold this will find the longest running transaction.&lt;br /&gt;go&lt;br /&gt;dbcc traceon(3604)&lt;br /&gt;go&lt;br /&gt;dbcc sqltext (104)&lt;br /&gt;go&lt;br /&gt;SQL Text: INSERT INTO JMA2_HstYtdSave ( Class, A_B, SUN_DB, Ent_ID, LAcct_ID, CC_ID, PJ_ID, Period, Amount, Type, Cat, LAcct, Acct_ID, CP_ID, LM_Gr, SU_CC_ID, FU_ID, CC, PE_BL_ID, Div_ID, BL_ID, BU_ID )\t\t VALUES ( 'Hst', 'A', 'DB7', '720', '800000001', '3110', ' ', 2008012, -0.050, 'H', 'FU', 'Head count Avg', '0010E', ' ', 'HC', ' ', 'CM30_105_0005', 'Money Market', 'woPE', 'IB', 'CM30', 'CM30_105' )&lt;br /&gt;DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-8743373251700669818?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/8743373251700669818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/how-to-get-sql-query-behind-spid-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/8743373251700669818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/8743373251700669818'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/how-to-get-sql-query-behind-spid-in.html' title='how to get the sql query behind a spid in sybase'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-9168336406148389394</id><published>2009-01-26T05:32:00.001-08:00</published><updated>2009-01-26T06:47:06.663-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='admin'/><category scheme='http://www.blogger.com/atom/ns#' term='rep'/><category scheme='http://www.blogger.com/atom/ns#' term='admin who_is_up'/><category scheme='http://www.blogger.com/atom/ns#' term='ase'/><category scheme='http://www.blogger.com/atom/ns#' term='admin who_is_down'/><category scheme='http://www.blogger.com/atom/ns#' term='Sybase'/><category scheme='http://www.blogger.com/atom/ns#' term='admin who'/><category scheme='http://www.blogger.com/atom/ns#' term='repserver'/><title type='text'>here are a list of repserver commands</title><content type='html'>Replication server Command followed by description&lt;br /&gt;&lt;br /&gt;abort switch&lt;br /&gt;Aborts the switch active command, unless Replication Server has gone too far in the active switch process to abort it.&lt;br /&gt;&lt;br /&gt;activate subscription&lt;br /&gt;For a subscription to a replication definition or a publication, starts the distribution of updates from the primary to the replicate database and sets the subscription status to ACTIVE.&lt;br /&gt;&lt;br /&gt;add partition&lt;br /&gt;Makes a partition available to Replication Server. A partition can be a disk partition or an operating system file. See create partition.&lt;br /&gt;&lt;br /&gt;admin disk_space&lt;br /&gt;Displays use of each disk partition accessed by the Replication Server.&lt;br /&gt;&lt;br /&gt;admin echo&lt;br /&gt;Returns the string entered by the user.&lt;br /&gt;&lt;br /&gt;admin get_generation&lt;br /&gt;Retrieves the generation number for a primary database.&lt;br /&gt;&lt;br /&gt;admin health&lt;br /&gt;Displays the status of the Replication Server.&lt;br /&gt;&lt;br /&gt;admin log_name&lt;br /&gt;Displays the path to the current log file.&lt;br /&gt;&lt;br /&gt;admin logical_status&lt;br /&gt;Displays status information for logical connections.&lt;br /&gt;&lt;br /&gt;admin pid&lt;br /&gt;Displays the process ID of the Replication Server.&lt;br /&gt;&lt;br /&gt;admin quiesce_check&lt;br /&gt;Determines if the queues in the Replication Server have been quiesced.&lt;br /&gt;&lt;br /&gt;admin quiesce_force_rsi&lt;br /&gt;Determines whether a Replication Server is quiescent and forces it to deliver and obtain acknowledgments for messages in RSI queues.&lt;br /&gt;&lt;br /&gt;admin rssd_name&lt;br /&gt;Displays the names of the data server and database for the RSSD.&lt;br /&gt;&lt;br /&gt;admin security_property&lt;br /&gt;Displays information about supported network-based security mechanisms and security services.&lt;br /&gt;&lt;br /&gt;admin security_setting&lt;br /&gt;Displays network-based security parameters and values for the Replication Server.&lt;br /&gt;&lt;br /&gt;admin set_log_name&lt;br /&gt;Closes the existing Replication Server log file and opens a new log file.&lt;br /&gt;&lt;br /&gt;admin show_connections&lt;br /&gt;Displays information about all connections from the Replication Server to data servers and to other Replication Servers.&lt;br /&gt;&lt;br /&gt;admin show_function_classes&lt;br /&gt;Displays the names of existing function-string classes and their parent classes, and indicates the number of levels of inheritance.&lt;br /&gt;&lt;br /&gt;admin show_route_versions&lt;br /&gt;Displays the version number of routes that originate at the Replication Server and routes that terminate at the Replication Server.&lt;br /&gt;&lt;br /&gt;admin show_site_version&lt;br /&gt;Displays the site version of the Replication Server.&lt;br /&gt;&lt;br /&gt;admin sqm_readers&lt;br /&gt;Displays the read and delete points of the threads that are reading a stable queue.&lt;br /&gt;&lt;br /&gt;admin stats&lt;br /&gt;Displays information and statistics about Replication Server counters.&lt;br /&gt;&lt;br /&gt;admin stats, backlog&lt;br /&gt;Reports the current transaction backlog in the stable queues.&lt;br /&gt;&lt;br /&gt;admin stats, { md | mem | mem_in_use }&lt;br /&gt;Reports information about memory usage.&lt;br /&gt;&lt;br /&gt;admin stats, reset&lt;br /&gt;Resets all counters that can be reset.&lt;br /&gt;&lt;br /&gt;admin stats, status&lt;br /&gt;Displays the flushing status for all counters.&lt;br /&gt;&lt;br /&gt;admin stats, { tps | cps | bps }&lt;br /&gt;Reports the number of transactions, commands, or bytes of throughput per second.&lt;br /&gt;&lt;br /&gt;admin time&lt;br /&gt;Displays the current time of Replication Server.&lt;br /&gt;&lt;br /&gt;admin translate&lt;br /&gt;Performs a datatype translation on a value, displaying the results in delimited literal format.&lt;br /&gt;&lt;br /&gt;admin version&lt;br /&gt;Displays the version number of the Replication Server software.&lt;br /&gt;&lt;br /&gt;admin who&lt;br /&gt;Displays information about threads running in the Replication Server.&lt;br /&gt;&lt;br /&gt;admin who_is_down&lt;br /&gt;Displays information about Replication Server threads that are not running.&lt;br /&gt;&lt;br /&gt;admin who_is_up&lt;br /&gt;Displays information about Replication Server threads that are running.&lt;br /&gt;&lt;br /&gt;allow connections&lt;br /&gt;Places Replication Server in recovery mode for specified databases.&lt;br /&gt;&lt;br /&gt;alter connection&lt;br /&gt;Changes the attributes of a database connection.&lt;br /&gt;&lt;br /&gt;alter database replication definition&lt;br /&gt;Changes an existing database replication definition.&lt;br /&gt;&lt;br /&gt;alter function&lt;br /&gt;Adds parameters to a user-defined function.&lt;br /&gt;&lt;br /&gt;alter function replication definition&lt;br /&gt;Changes an existing function replication definition.&lt;br /&gt;&lt;br /&gt;alter function string&lt;br /&gt;Replaces an existing function string.&lt;br /&gt;&lt;br /&gt;alter function string class&lt;br /&gt;Alters a function-string class, specifying whether it should be a base class or a derived class.&lt;br /&gt;&lt;br /&gt;alter logical connection&lt;br /&gt;Disables or enables the Distributor thread for a logical connection, changes attributes of a logical connection, and enables or disables replication of truncate table to the standby database.&lt;br /&gt;&lt;br /&gt;alter partition&lt;br /&gt;Alters the size of a partition.&lt;br /&gt;&lt;br /&gt;alter queue&lt;br /&gt;Specifies the behavior of the stable queue that encounters a large message of greater than 16K bytes. Applicable only when the Replication Server version is 12.5 or later and the site version is 12.1 or earlier.&lt;br /&gt;&lt;br /&gt;alter replication definition&lt;br /&gt;Changes an existing replication definition.&lt;br /&gt;&lt;br /&gt;alter route&lt;br /&gt;Changes the attributes of a route from the current Replication Server to a remote Replication Server.&lt;br /&gt;&lt;br /&gt;alter user&lt;br /&gt;Changes a user’s password.&lt;br /&gt;&lt;br /&gt;assign action&lt;br /&gt;Assigns Replication Server error-handling actions to data server errors received by the DSI thread.&lt;br /&gt;&lt;br /&gt;check publication&lt;br /&gt;Finds the status of a publication and the number of articles the publication contains.&lt;br /&gt;&lt;br /&gt;check subscription&lt;br /&gt;Finds the materialization status of a subscription to a replication definition or a publication.&lt;br /&gt;&lt;br /&gt;configure connection&lt;br /&gt;Changes the attributes of a database connection.&lt;br /&gt;&lt;br /&gt;configure logical connection&lt;br /&gt;Changes attributes of a logical connection.&lt;br /&gt;&lt;br /&gt;configure replication server&lt;br /&gt;Sets characteristics of the Replication Server, including network-based security.&lt;br /&gt;&lt;br /&gt;configure route&lt;br /&gt;Changes the attributes of a route from the current Replication Server to a remote Replication Server.&lt;br /&gt;&lt;br /&gt;create article&lt;br /&gt;Creates an article for a table or function replication definition and specifies the publication that is to contain the article.&lt;br /&gt;&lt;br /&gt;create connection&lt;br /&gt;Adds a database to the replication system and sets configuration parameters for the connection. To create a connection for an Adaptive Server database, use Sybase Central or rs_init.&lt;br /&gt;&lt;br /&gt;create database replication definition&lt;br /&gt;Creates a replication definition for replicating a database or a database object.&lt;br /&gt;&lt;br /&gt;create error class&lt;br /&gt;Creates an error class.&lt;br /&gt;&lt;br /&gt;create function&lt;br /&gt;Creates a user-defined function.&lt;br /&gt;&lt;br /&gt;create function replication definition&lt;br /&gt;Creates a function replication definition and user-defined function for a stored procedure that is to be replicated.&lt;br /&gt;&lt;br /&gt;create function string&lt;br /&gt;Adds a function string to a function-string class. Replication Server uses function strings to generate instructions for data servers.&lt;br /&gt;&lt;br /&gt;create function string class&lt;br /&gt;Creates a function-string class.&lt;br /&gt;&lt;br /&gt;create logical connection&lt;br /&gt;Creates a logical connection. Replication Server uses logical connections to manage warm standby applications.&lt;br /&gt;&lt;br /&gt;create partition&lt;br /&gt;Makes a partition available to Replication Server. A partition can be a disk partition or an operating system file.&lt;br /&gt;&lt;br /&gt;create publication&lt;br /&gt;Creates a publication for tables or stored procedures that are to be replicated as a group to one or more subscribing replicate databases.&lt;br /&gt;&lt;br /&gt;create replication definition&lt;br /&gt;Creates a replication definition for a table that is to be replicated.&lt;br /&gt;&lt;br /&gt;create route&lt;br /&gt;Designates the route to use for a connection from the current Replication Server to a remote Replication Server.&lt;br /&gt;&lt;br /&gt;create subscription&lt;br /&gt;Creates and initializes a subscription and materializes subscription data. The subscription may be for a database replication definition, a table replication definition, a function replication definition, or a publication.&lt;br /&gt;&lt;br /&gt;create user&lt;br /&gt;Adds a new user login name to a Replication Server.&lt;br /&gt;&lt;br /&gt;define subscription&lt;br /&gt;Adds a subscription to the Replication Server system tables, but does not materialize or activate the subscription. The subscription may be for a database replication definition, a table replication definition, a function replication definition, or for a publication. This command begins the process of bulk subscription materialization, or the process of refreshing a publication subscription.&lt;br /&gt;&lt;br /&gt;drop article&lt;br /&gt;Drops an article and optionally drops its replication definition.&lt;br /&gt;&lt;br /&gt;drop connection&lt;br /&gt;Removes a database from the replication system.&lt;br /&gt;&lt;br /&gt;drop database replication definition&lt;br /&gt;Drops an existing database replication definition.&lt;br /&gt;&lt;br /&gt;drop error class&lt;br /&gt;Drops an error class and any actions associated with it.&lt;br /&gt;&lt;br /&gt;drop function&lt;br /&gt;Drops a user-defined function and its function strings.&lt;br /&gt;&lt;br /&gt;drop function replication definition&lt;br /&gt;Drops a function replication definition and its user-defined function.&lt;br /&gt;&lt;br /&gt;drop function string&lt;br /&gt;Drops a function string for a function-string class.&lt;br /&gt;&lt;br /&gt;drop function string class&lt;br /&gt;Drops a function-string class.&lt;br /&gt;&lt;br /&gt;drop logical connection&lt;br /&gt;Drops a logical connection. Logical connections are used to manage warm standby applications.&lt;br /&gt;&lt;br /&gt;drop partition&lt;br /&gt;Removes a disk partition from the Replication Server.&lt;br /&gt;&lt;br /&gt;drop publication&lt;br /&gt;Drops a publication and all of its articles, and optionally drops the replication definitions for the articles.&lt;br /&gt;&lt;br /&gt;drop replication definition&lt;br /&gt;Drops a replication definition and its functions.&lt;br /&gt;&lt;br /&gt;drop route&lt;br /&gt;Closes the route to another Replication Server.&lt;br /&gt;&lt;br /&gt;drop subscription&lt;br /&gt;Drops a subscription to a database replication definition, table replication definition, function replication definition, article, or publication.&lt;br /&gt;&lt;br /&gt;drop user&lt;br /&gt;Drops a Replication Server user login name.&lt;br /&gt;&lt;br /&gt;grant&lt;br /&gt;Assigns permissions to users.&lt;br /&gt;&lt;br /&gt;ignore loss&lt;br /&gt;Allows Replication Server to accept messages after it detects a loss.&lt;br /&gt;&lt;br /&gt;move primary&lt;br /&gt;Changes the primary Replication Server for an error class or a function-string class.&lt;br /&gt;&lt;br /&gt;rebuild queues&lt;br /&gt;Rebuilds Replication Server stable queues.&lt;br /&gt;&lt;br /&gt;resume connection&lt;br /&gt;Resumes a suspended connection.&lt;br /&gt;&lt;br /&gt;resume distributor&lt;br /&gt;Resumes a suspended Distributor thread for a connection to a database.s&lt;br /&gt;&lt;br /&gt;resume log transfer&lt;br /&gt;Allows the RepAgent to connect to the Replication Server.&lt;br /&gt;&lt;br /&gt;resume queue&lt;br /&gt;Restarts a stable queue stopped after being passed a message larger than 16K bytes. Applicable only when the Replication Server version is 12.5 or later and the site version has not been similarly upgraded.&lt;br /&gt;&lt;br /&gt;resume route&lt;br /&gt;Resumes a suspended route.&lt;br /&gt;&lt;br /&gt;revoke&lt;br /&gt;Revokes permissions from users.&lt;br /&gt;&lt;br /&gt;set autocorrection&lt;br /&gt;Prevents failures that would otherwise be caused by missing or duplicate rows in a replicated table.&lt;br /&gt;&lt;br /&gt;set log recovery&lt;br /&gt;Specifies databases whose logs are to be recovered from offline dumps.&lt;br /&gt;&lt;br /&gt;set proxy&lt;br /&gt;Switches to another user.&lt;br /&gt;&lt;br /&gt;shutdown&lt;br /&gt;Shuts down a Replication Server.&lt;br /&gt;&lt;br /&gt;suspend connection&lt;br /&gt;Suspends a connection to a database.&lt;br /&gt;&lt;br /&gt;suspend distributor&lt;br /&gt;Suspends the Distributor thread for a connection to a primary database.&lt;br /&gt;&lt;br /&gt;suspend log transfer&lt;br /&gt;Disconnects a RepAgent from a Replication Server and prevents a RepAgent from connecting.&lt;br /&gt;&lt;br /&gt;suspend route&lt;br /&gt;Suspends a route to another Replication Server.&lt;br /&gt;&lt;br /&gt;switch active&lt;br /&gt;Changes the active database in a warm standby application.&lt;br /&gt;&lt;br /&gt;sysadmin apply_truncate_table&lt;br /&gt;Turns on or off the “subscribe to truncate table” option for all existing subscriptions to a particular table, enabling or disabling replication of truncate table.&lt;br /&gt;&lt;br /&gt;sysadmin dropdb&lt;br /&gt;Drops a database from the ID Server.&lt;br /&gt;&lt;br /&gt;sysadmin dropldb&lt;br /&gt;Drops a logical database from the ID Server.&lt;br /&gt;&lt;br /&gt;sysadmin drop_queue&lt;br /&gt;Deletes a stable queue. Use this command to drop a failed materialization queue.&lt;br /&gt;&lt;br /&gt;sysadmin droprs&lt;br /&gt;Drops a Replication Server from the ID Server.&lt;br /&gt;&lt;br /&gt;sysadmin dump_file&lt;br /&gt;Specifies an alternative log file name for use when dumping a Replication Server stable queue.&lt;br /&gt;&lt;br /&gt;sysadmin dump_queue&lt;br /&gt;Dumps the contents of a Replication Server stable queue.&lt;br /&gt;&lt;br /&gt;sysadmin erssd&lt;br /&gt;Displays ERSSD name, schedule, backup directory, and ERSSD file locations. Used with options, this command performs unscheduled backups and moves ERSSD files.&lt;br /&gt;&lt;br /&gt;sysadmin fast_route_upgrade&lt;br /&gt;Updates the route version to the site version of the lower of the primary or replicate Replication Server.&lt;br /&gt;&lt;br /&gt;sysadmin hibernate_off&lt;br /&gt;Turns off hibernation mode for the Replication Server and returns it to an active state.&lt;br /&gt;&lt;br /&gt;sysadmin hibernate_on&lt;br /&gt;Turns on hibernation mode for (or suspends) the Replication Server.&lt;br /&gt;&lt;br /&gt;sysadmin log_first_tran&lt;br /&gt;Writes the first transaction in a DSI queue into the exceptions log.&lt;br /&gt;&lt;br /&gt;sysadmin purge_all_open&lt;br /&gt;Purges all open transactions from an inbound queue of a Replication Server.&lt;br /&gt;&lt;br /&gt;sysadmin purge_first_open&lt;br /&gt;Purges the first open transaction from the inbound queue of a Replication Server.&lt;br /&gt;&lt;br /&gt;sysadmin purge_route_at_replicate&lt;br /&gt;Removes all references to a primary Replication Server from a replicate Replication Server.&lt;br /&gt;&lt;br /&gt;sysadmin restore_dsi_saved_segments&lt;br /&gt;Restores backlogged transactions.&lt;br /&gt;&lt;br /&gt;sysadmin set_dsi_generation&lt;br /&gt;Changes a database generation number in the Replication Server to prevent the application of transactions in the DSI stable queue after a replicate database is restored.&lt;br /&gt;&lt;br /&gt;sysadmin site_version&lt;br /&gt;Sets the site version number for the Replication Server. This lets you use the software features in the corresponding release, and prevents you from downgrading to an earlier release.&lt;br /&gt;&lt;br /&gt;sysadmin sqm_purge_queue&lt;br /&gt;Purges all messages from a stable queue.&lt;br /&gt;&lt;br /&gt;sysadmin sqm_unzap_command&lt;br /&gt;Undeletes a message in a stable queue.&lt;br /&gt;&lt;br /&gt;sysadmin sqm_zap_command&lt;br /&gt;Deletes a single message in a stable queue.&lt;br /&gt;&lt;br /&gt;sysadmin sqt_dump_queue&lt;br /&gt;Dumps the transaction cache for an inbound queue or a DSI queue.&lt;br /&gt;&lt;br /&gt;sysadmin system_version&lt;br /&gt;Displays or sets the system-wide version number for the replication system, allowing you to use the software features in the corresponding release level.&lt;br /&gt;&lt;br /&gt;validate publication&lt;br /&gt;Sets the status of a publication to VALID, allowing new subscriptions to be created for the publication.&lt;br /&gt;&lt;br /&gt;validate subscription&lt;br /&gt;For a subscription to a replication definition or a publication, sets the subscription status to VALID. This command is part of the bulk materialization process, or part of the process of refreshing a publication subscription.&lt;br /&gt;&lt;br /&gt;wait for create standby&lt;br /&gt;A blocking command that allows a client session in the Replication Server to wait for the standby database creation process to complete.&lt;br /&gt;&lt;br /&gt;wait for delay&lt;br /&gt;Specifies a time interval at which this command is blocked.&lt;br /&gt;&lt;br /&gt;wait for switch&lt;br /&gt;A blocking command that allows a client session in the Replication Server to wait for the switch to the new active database to complete.&lt;br /&gt;&lt;br /&gt;wait for time&lt;br /&gt;Specifies a time of day at which to unblock this command.&lt;br /&gt;&lt;br /&gt;&lt;!-- AddThis Button BEGIN --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;var addthis_pub="terryjago";&lt;/script&gt;&lt;br /&gt;&lt;a onmouseover="return addthis_open(this, '', '[URL]', '[TITLE]')" onmouseout="addthis_close()" href="http://www.addthis.com/bookmark.php" onclick="return addthis_sendto()"&gt;&lt;img border="0" width="125" alt="Bookmark and Share" style="border:0" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" height="16"/&gt;&lt;/a&gt;&lt;script src="http://s7.addthis.com/js/152/addthis_widget.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-9168336406148389394?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/9168336406148389394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/here-are-list-of-repserver-commands.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/9168336406148389394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/9168336406148389394'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/here-are-list-of-repserver-commands.html' title='here are a list of repserver commands'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-4463553344659068363</id><published>2009-01-23T19:48:00.000-08:00</published><updated>2009-01-26T06:48:54.548-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='aquadata'/><category scheme='http://www.blogger.com/atom/ns#' term='ddl'/><category scheme='http://www.blogger.com/atom/ns#' term='dba'/><category scheme='http://www.blogger.com/atom/ns#' term='Create Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Sybase'/><category scheme='http://www.blogger.com/atom/ns#' term='dbartisan'/><title type='text'>a little too if you dont use dbaritsan or a tool like that</title><content type='html'>This will extract your db's ddl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;create procedure sp_gendbddll @dbname varchar(32) = null&lt;br /&gt;as&lt;br /&gt;&lt;br /&gt;declare @db_name varchar(30),&lt;br /&gt; @dbid  smallint,&lt;br /&gt; @segmap  smallint,&lt;br /&gt; @segs  varchar(4),&lt;br /&gt; @dev_frag varchar(30),&lt;br /&gt; @frag_size char(10),&lt;br /&gt; @sql_string varchar(255),&lt;br /&gt; @alter_status tinyint,&lt;br /&gt; @counter int,&lt;br /&gt; @seq_no  int,&lt;br /&gt;    @numdbs     int&lt;br /&gt;&lt;br /&gt;set nocount on&lt;br /&gt;&lt;br /&gt;if @dbname is null select @dbname = "%"&lt;br /&gt;&lt;br /&gt;-- Match databases if given else do them all&lt;br /&gt;--&lt;br /&gt;select @numdbs = count(*) from master.dbo.sysdatabases where name like @dbname&lt;br /&gt;&lt;br /&gt;-- DB exists ?&lt;br /&gt;--&lt;br /&gt;if @numdbs = 0&lt;br /&gt;begin&lt;br /&gt; /* 17590, "The specified database does not exist." */&lt;br /&gt; raiserror 17590&lt;br /&gt; return (1)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;-- Initialize dbids twmp table from sysdatabases&lt;br /&gt;--&lt;br /&gt;select dbid into #dbids from master.dbo.sysdatabases where name like @dbname&lt;br /&gt;&lt;br /&gt;declare @curdbid smallint  /* the one we're currently working on */&lt;br /&gt;declare @dbdesc varchar(102)  /* the total description for the db */&lt;br /&gt;declare @bitdesc varchar(30)  /* the bit description for the db */&lt;br /&gt;&lt;br /&gt;-- Set @curdbid to the first dbid.&lt;br /&gt;--&lt;br /&gt;select @curdbid = min(dbid) from #dbids&lt;br /&gt;&lt;br /&gt;create table #db_info(&lt;br /&gt;    seq_no  int  not null,&lt;br /&gt;    sql_string varchar(255) null&lt;br /&gt;    )&lt;br /&gt;&lt;br /&gt;-- Iterate through by dbid&lt;br /&gt;--&lt;br /&gt;while @curdbid is not NULL&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;    /************************************************&lt;br /&gt;     * Temporary table to hold individual fragments *&lt;br /&gt;     * of SQL_STRING, numbered to preserve their *&lt;br /&gt;     * correct sequence                             *&lt;br /&gt;     ************************************************/&lt;br /&gt;&lt;br /&gt;    delete #db_info&lt;br /&gt;&lt;br /&gt;    -- Initialize variables&lt;br /&gt;    select @alter_status = 0&lt;br /&gt;    select @counter = 0&lt;br /&gt;    select @seq_no = 0&lt;br /&gt;    select @db_name = db_name(@curdbid)&lt;br /&gt;&lt;br /&gt;    /* Declare a cursor to allow processing of each row individually */&lt;br /&gt;    /* Select statement extracts relevant info from the system tables */&lt;br /&gt;    /* ORDER BY clause is critical in order to ensure that all fragments */&lt;br /&gt;    /* are processed in the correct sequence    */&lt;br /&gt;&lt;br /&gt;    declare get_db_info cursor for&lt;br /&gt;    select db.dbid, usg.segmap, "device fragment"=substring(dev.name,1,15), "size(MB)" = str(usg.size/512.,10,0)&lt;br /&gt;    from master.dbo.sysusages usg,&lt;br /&gt;     master.dbo.sysdevices dev,&lt;br /&gt;     master.dbo.sysdatabases db&lt;br /&gt;    where vstart between low and high&lt;br /&gt;    and cntrltype = 0&lt;br /&gt;    and db.dbid  = @curdbid&lt;br /&gt;    and db.dbid  =usg.dbid&lt;br /&gt;    order by db.dbid,usg.lstart,dev.name&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    -- Prepare initial SQL string&lt;br /&gt;    select @sql_string = 'create database ' + @db_name + ' on '&lt;br /&gt;&lt;br /&gt;    -- Store initial SQL_STRING in temporary table and&lt;br /&gt;    -- number it to allow later extraction in the correct&lt;br /&gt;    -- sequence&lt;br /&gt;    insert into #db_info (seq_no, sql_string) values (@seq_no, @sql_string)&lt;br /&gt;&lt;br /&gt;    -- Increment the sequence number&lt;br /&gt;    select @seq_no = @seq_no + 1&lt;br /&gt;&lt;br /&gt;    -- Open the cursor and fetch the first row&lt;br /&gt;    open get_db_info&lt;br /&gt;&lt;br /&gt;    fetch get_db_info into @dbid,@segmap,@dev_frag,@frag_size&lt;br /&gt;&lt;br /&gt;    if (@@sqlstatus=2)&lt;br /&gt;    begin&lt;br /&gt;     select "No information found for database"&lt;br /&gt;     close get_db_info&lt;br /&gt;     deallocate cursor get_db_info&lt;br /&gt;     return&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    while (@@sqlstatus = 0)&lt;br /&gt;    begin&lt;br /&gt;&lt;br /&gt;     if @alter_status = 0 /* Still part of original 'create database ...' command */&lt;br /&gt;     begin&lt;br /&gt;      if @segmap = 4 /* Must refer to log device */&lt;br /&gt;         begin&lt;br /&gt;       select @sql_string = '    log on ' + @dev_frag + ' = ' +&lt;br /&gt;         ltrim(convert(varchar(20),@frag_size)) + char(10) + 'go' + char(10)&lt;br /&gt;       select @alter_status = 1&lt;br /&gt;      end&lt;br /&gt;      else  /* Must refer to data device */&lt;br /&gt;      begin&lt;br /&gt;       if @counter = 0 /* 1st data device of "create database ..." */&lt;br /&gt;          begin&lt;br /&gt;           select @sql_string = '    ' + @dev_frag + ' = ' + ltrim(convert(varchar(20),@frag_size))&lt;br /&gt;           select @counter = @counter + 1 &lt;br /&gt;          end&lt;br /&gt;       else  /* Additional data device for "create database ..." */&lt;br /&gt;          begin&lt;br /&gt;           select @sql_string = '   ,' + @dev_frag + ' = ' + ltrim(convert(varchar(20),@frag_size))&lt;br /&gt;          end&lt;br /&gt;      end&lt;br /&gt;     end&lt;br /&gt;     else   /* Must be an alter database command */&lt;br /&gt;     begin&lt;br /&gt;&lt;br /&gt;      select @sql_string = 'alter database ' + @db_name&lt;br /&gt;&lt;br /&gt;      insert into #db_info (seq_no, sql_string) values (@seq_no, @sql_string)&lt;br /&gt;&lt;br /&gt;      select @seq_no = @seq_no + 1&lt;br /&gt;&lt;br /&gt;            -- Log = 4 or data&lt;br /&gt;            --&lt;br /&gt;      if @segmap = 4&lt;br /&gt;       select @sql_string = '    log on ' + @dev_frag + ' = ' +&lt;br /&gt;          ltrim(convert(varchar(20),@frag_size)) + char(10) + 'go' + char(10)&lt;br /&gt;      else&lt;br /&gt;       select @sql_string = '    on ' + @dev_frag + ' = ' +&lt;br /&gt;          ltrim(convert(varchar(20),@frag_size)) + char(10) + 'go' + char(10)&lt;br /&gt;     end&lt;br /&gt;&lt;br /&gt;     insert into #db_info (seq_no, sql_string) values (@seq_no, @sql_string)&lt;br /&gt;&lt;br /&gt;     select @seq_no = @seq_no + 1&lt;br /&gt;&lt;br /&gt;     -- Get next row&lt;br /&gt;     fetch get_db_info into @dbid,@segmap,@dev_frag,@frag_size&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    close get_db_info&lt;br /&gt;    deallocate cursor get_db_info&lt;br /&gt;&lt;br /&gt;    -- Select each piece of SQL from temporary table ordering by */&lt;br /&gt;    -- sequence number      */&lt;br /&gt;    --&lt;br /&gt;    declare print_createdb_cursor cursor for&lt;br /&gt;     select sql_string&lt;br /&gt;     from #db_info&lt;br /&gt;     order by seq_no&lt;br /&gt;     for read only&lt;br /&gt;&lt;br /&gt;    open print_createdb_cursor&lt;br /&gt;&lt;br /&gt;    fetch print_createdb_cursor into @sql_string&lt;br /&gt;&lt;br /&gt;    while (@@sqlstatus = 0)&lt;br /&gt;    begin&lt;br /&gt;     print @sql_string&lt;br /&gt;     fetch print_createdb_cursor into @sql_string&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    close print_createdb_cursor&lt;br /&gt;    deallocate cursor print_createdb_cursor&lt;br /&gt;&lt;br /&gt;    -- Get next dbid.&lt;br /&gt; --&lt;br /&gt; select @curdbid = min(dbid) from #dbids where dbid &gt; @curdbid&lt;br /&gt;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;drop table #db_info&lt;br /&gt;drop table #dbids&lt;br /&gt;&lt;br /&gt;return(0)&lt;br /&gt;&lt;!-- AddThis Button BEGIN --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;var addthis_pub="terryjago";&lt;/script&gt;&lt;br /&gt;&lt;a onmouseover="return addthis_open(this, '', '[URL]', '[TITLE]')" onmouseout="addthis_close()" href="http://www.addthis.com/bookmark.php" onclick="return addthis_sendto()"&gt;&lt;img border="0" width="125" alt="Bookmark and Share" style="border:0" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" height="16"/&gt;&lt;/a&gt;&lt;script src="http://s7.addthis.com/js/152/addthis_widget.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-4463553344659068363?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/4463553344659068363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/little-too-if-you-dont-use-dbaritsan-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/4463553344659068363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/4463553344659068363'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/little-too-if-you-dont-use-dbaritsan-or.html' title='a little too if you dont use dbaritsan or a tool like that'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-8996792342364457420</id><published>2009-01-20T16:13:00.000-08:00</published><updated>2009-01-26T06:49:39.366-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mismatch'/><category scheme='http://www.blogger.com/atom/ns#' term='login'/><category scheme='http://www.blogger.com/atom/ns#' term='suid'/><category scheme='http://www.blogger.com/atom/ns#' term='drop user'/><category scheme='http://www.blogger.com/atom/ns#' term='fixsuid'/><category scheme='http://www.blogger.com/atom/ns#' term='add user'/><category scheme='http://www.blogger.com/atom/ns#' term='not working'/><category scheme='http://www.blogger.com/atom/ns#' term='dba'/><category scheme='http://www.blogger.com/atom/ns#' term='public'/><title type='text'>Fix SUIDs</title><content type='html'>In ASE you may face problems with users not being able to login, this is probably down to logind IDS and database IDS getting mismatched this often happens when a database dump is taken from one server and is loaded to another. You can solve this by either recreating the users in the same odered as they were created in the original server or drop and recreate all the IDS in the database. However there is a script that can do this for you.&lt;br /&gt;&lt;br /&gt;sp_configure 'allow update',1&lt;br /&gt;go&lt;br /&gt;use database&lt;br /&gt;go&lt;br /&gt;begin tran&lt;br /&gt;update sysusers&lt;br /&gt;set suid=suser_id(user_name(uid))&lt;br /&gt;from sysusers&lt;br /&gt;where uid between 2 and 16000&lt;br /&gt;and suser_id(user_name(uid)) is not null&lt;br /&gt;go&lt;br /&gt;sp_helpuser&lt;br /&gt;go&lt;br /&gt;/* if no mismatch, commit, else rollback */&lt;br /&gt;commit tran&lt;br /&gt;go&lt;br /&gt;use master&lt;br /&gt;go&lt;br /&gt;sp_configure 'allow update',0&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;or create this in a store prod like this&lt;br /&gt;IF OBJECT_ID('dbo.sp_dba_fixallsuid') IS NOT NULL&lt;br /&gt;BEGIN&lt;br /&gt;    DROP PROCEDURE dbo.sp_dba_fixallsuid&lt;br /&gt;    IF OBJECT_ID('dbo.sp_dba_fixallsuid') IS NOT NULL&lt;br /&gt;        PRINT '&lt;&lt;&lt; FAILED DROPPING PROCEDURE dbo.sp_dba_fixallsuid &gt;&gt;&gt;'&lt;br /&gt;    ELSE&lt;br /&gt;        PRINT '&lt;&lt;&lt; DROPPED PROCEDURE dbo.sp_dba_fixallsuid &gt;&gt;&gt;'&lt;br /&gt;END&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;create proc sp_dba_fixallsuid&lt;br /&gt;as&lt;br /&gt;&lt;br /&gt;declare @invalids int&lt;br /&gt;declare @dbid int&lt;br /&gt;declare @dbo int&lt;br /&gt;declare @dbname char(100)&lt;br /&gt;declare @invalid_offset int&lt;br /&gt;&lt;br /&gt;select @dbname=db_name()&lt;br /&gt;select @dbid=db_id()&lt;br /&gt;&lt;br /&gt;set nocount on&lt;br /&gt;&lt;br /&gt;if (@dbname not in ("master","model","sybsystemprocs","tempdb"))&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; /* Identify the dodgy users */&lt;br /&gt;&lt;br /&gt; select invalid_user_names_found=t.name from&lt;br /&gt; sysusers t&lt;br /&gt; where  t.name not in (select name  from master..syslogins r&lt;br /&gt; where r.suid = t.suid) and t.suid &gt; 0 and t.uid &gt; 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; /* Get spare suid range for invalids */&lt;br /&gt; select @invalid_offset = max(suid) + 10 from master..syslogins&lt;br /&gt;&lt;br /&gt; /* Set all suids to be invalid (this prevents duplicates) */&lt;br /&gt; update sysusers&lt;br /&gt; set suid=suid + @invalid_offset where suid &gt; 0 and suid &lt; @invalid_offset and name &lt;&gt; 'dbo'&lt;br /&gt;&lt;br /&gt; update sysusers &lt;br /&gt; set suid=(select m.suid from master..syslogins m where sysusers.name=m.name)&lt;br /&gt; where name in (select name from master..syslogins)&lt;br /&gt;&lt;br /&gt; /* Fix the dbo in case he has changed */&lt;br /&gt;&lt;br /&gt; select @dbo=suid from master..sysdatabases m where m.dbid=@dbid&lt;br /&gt; update sysusers set suid=@dbo where name = 'dbo'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; select dbo_set_to = m.name from master..syslogins m where  m.suid=@dbo&lt;br /&gt; select still_invalid_after_fix=name from sysusers   where suid &gt; @invalid_offset&lt;br /&gt;&lt;br /&gt; /* Inform of the number of alaises unprocessed */&lt;br /&gt;&lt;br /&gt; select aliases_unprocessed = count(*) from sysalternates&lt;br /&gt;&lt;br /&gt;end&lt;br /&gt;else&lt;br /&gt; print "Not allowed in a system database."&lt;br /&gt;&lt;br /&gt;return (0)&lt;br /&gt;&lt;br /&gt;go&lt;br /&gt;EXEC sp_procxmode 'dbo.sp_dba_fixallsuid','unchained'&lt;br /&gt;go&lt;br /&gt;IF OBJECT_ID('dbo.sp_dba_fixallsuid') IS NOT NULL&lt;br /&gt;    PRINT '&lt;&lt;&lt; CREATED PROCEDURE dbo.sp_dba_fixallsuid &gt;&gt;&gt;'&lt;br /&gt;ELSE&lt;br /&gt;    PRINT '&lt;&lt;&lt; FAILED CREATING PROCEDURE dbo.sp_dba_fixallsuid &gt;&gt;&gt;'&lt;br /&gt;go&lt;br /&gt;USE sybsystemprocs&lt;br /&gt;go&lt;br /&gt;GRANT EXECUTE ON dbo.sp_dba_fixallsuid TO public&lt;br /&gt;go&lt;br /&gt;&lt;!-- AddThis Button BEGIN --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;var addthis_pub="terryjago";&lt;/script&gt;&lt;br /&gt;&lt;a onmouseover="return addthis_open(this, '', '[URL]', '[TITLE]')" onmouseout="addthis_close()" href="http://www.addthis.com/bookmark.php" onclick="return addthis_sendto()"&gt;&lt;img border="0" width="125" alt="Bookmark and Share" style="border:0" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" height="16"/&gt;&lt;/a&gt;&lt;script src="http://s7.addthis.com/js/152/addthis_widget.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- AddThis Button END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-8996792342364457420?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/8996792342364457420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/fix-suids.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/8996792342364457420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/8996792342364457420'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/fix-suids.html' title='Fix SUIDs'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-6651490170237427934</id><published>2009-01-19T16:28:00.001-08:00</published><updated>2009-01-19T16:42:43.009-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='datadev'/><category scheme='http://www.blogger.com/atom/ns#' term='vxprint'/><category scheme='http://www.blogger.com/atom/ns#' term='go'/><category scheme='http://www.blogger.com/atom/ns#' term='vx'/><category scheme='http://www.blogger.com/atom/ns#' term='size'/><category scheme='http://www.blogger.com/atom/ns#' term='raw device'/><category scheme='http://www.blogger.com/atom/ns#' term='physname'/><title type='text'>Adding raw devices to Sybase:</title><content type='html'>First you want to link the raw device you can do this by going to the device path&lt;br /&gt;Do this on the primary and then make sure it is the same on the warm standby if not ask the UNIX team to create some more devices. &lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;/opt/sybase/proj/devices/servername&lt;br /&gt;&lt;br /&gt;How to link the files example&lt;br /&gt;ln -s /dev/vx/rdsk/sybdg/servername_datadev15 datadev15&lt;br /&gt;&lt;br /&gt;then do the same on the warm standby if it is not already done. &lt;br /&gt;As they need to look the same when creating the new database.&lt;br /&gt;&lt;br /&gt;Then do a g and then SQL on both the boxes and create the devices to do this use the disk nit command. &lt;br /&gt;This looks like this&lt;br /&gt;&lt;br /&gt;disk init name = 'datadev15',&lt;br /&gt;physname = '/opt/sybase/proj/devices/servername/datadev18',&lt;br /&gt;size = '6144M'&lt;br /&gt;go&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-6651490170237427934?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/6651490170237427934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/adding-raw-devices-to-sybase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/6651490170237427934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/6651490170237427934'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/adding-raw-devices-to-sybase.html' title='Adding raw devices to Sybase:'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-7635675888081369330</id><published>2009-01-19T16:28:00.000-08:00</published><updated>2009-01-19T17:42:48.151-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='datadev'/><category scheme='http://www.blogger.com/atom/ns#' term='vxprint'/><category scheme='http://www.blogger.com/atom/ns#' term='go'/><category scheme='http://www.blogger.com/atom/ns#' term='vx'/><category scheme='http://www.blogger.com/atom/ns#' term='size'/><category scheme='http://www.blogger.com/atom/ns#' term='raw device'/><category scheme='http://www.blogger.com/atom/ns#' term='physname'/><title type='text'>Adding raw devices to Sybase:</title><content type='html'>First you want to link the raw device you can do this by going to the device path&lt;br /&gt;Do this on the primary and then make sure it is the same on the warm standby if not ask the UNIX team to create some more devices. &lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;/opt/sybase/proj/devices/servername&lt;br /&gt;&lt;br /&gt;How to link the files example&lt;br /&gt;ln -s /dev/vx/rdsk/sybdg/servername_datadev15 datadev15&lt;br /&gt;&lt;br /&gt;then do the same on the warm standby if it is not already done. &lt;br /&gt;As they need to look the same when creating the new database.&lt;br /&gt;&lt;br /&gt;Then do a g and then SQL on both the boxes and create the devices to do this use the disk nit command. &lt;br /&gt;This looks like this&lt;br /&gt;&lt;br /&gt;disk init name = 'datadev15',&lt;br /&gt;physname = '/opt/sybase/proj/devices/servername/datadev18',&lt;br /&gt;size = '6144M'&lt;br /&gt;go&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-7635675888081369330?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/7635675888081369330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/adding-raw-devices-to-sybase_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/7635675888081369330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/7635675888081369330'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/adding-raw-devices-to-sybase_19.html' title='Adding raw devices to Sybase:'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-2744378572595792615</id><published>2009-01-19T16:14:00.000-08:00</published><updated>2009-01-19T16:27:34.143-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='log suspend'/><category scheme='http://www.blogger.com/atom/ns#' term='dbcc checktable(syslogs)'/><category scheme='http://www.blogger.com/atom/ns#' term='tranlog'/><category scheme='http://www.blogger.com/atom/ns#' term='pagesize'/><category scheme='http://www.blogger.com/atom/ns#' term='dev appsteam'/><category scheme='http://www.blogger.com/atom/ns#' term='lock'/><category scheme='http://www.blogger.com/atom/ns#' term='kill'/><category scheme='http://www.blogger.com/atom/ns#' term='block'/><category scheme='http://www.blogger.com/atom/ns#' term='syslogshold'/><category scheme='http://www.blogger.com/atom/ns#' term='spid'/><category scheme='http://www.blogger.com/atom/ns#' term='sa'/><title type='text'>sybase locks and blocks</title><content type='html'>here are some basic tips on clearing a block in a database in sybase&lt;br /&gt;&lt;br /&gt;log in to the sybase database&lt;br /&gt;&lt;br /&gt;isql -S sybasesever -U dbo_user -P sdsdsrere123&lt;br /&gt;&lt;br /&gt;1&gt; sp_who&lt;br /&gt;2&gt; go&lt;br /&gt;&lt;br /&gt;      0    211 recv sleep   zbi_trade_dbo                  zbi_trade_dbo                  tk0u2314ap 0        apps_gm                        AWAITING COMMAND           0 &lt;br /&gt;      0    213 recv sleep   read_genfeed                   read_genfeed                   ibtkygsw32 0        Clearing                       AWAITING COMMAND           0 &lt;br /&gt;      0    218 sleeping     dbo_swiftcentral               dbo_swiftcentral               tk0d2311ap 0        SwiftCentral                   LOG SUSPEND                0 &lt;br /&gt;      0    224 sleeping     dbo_swiftcentral               dbo_swiftcentral               tk0d2311ap 0        SwiftCentral                   &lt;strong&gt;LOG SUSPEND&lt;/strong&gt;                0 &lt;br /&gt;&lt;br /&gt;you will see a log suspend or you might not you might see a block the next best thing to do is to use the master and select * from syslogshold to see if there are any long running transactions you can also to a sp_lock in the database. the transaction below is doing an insert in this case I would just truncate the log as this is a log suspend as you can see below this has cleaned up the tranlog. If that does not work then you can kill the spid &lt;br /&gt;&lt;br /&gt;use master&lt;br /&gt;go&lt;br /&gt;select * from syslogshold&lt;br /&gt;1&gt; select * from syslogshold&lt;br /&gt;2&gt; go&lt;br /&gt; dbid   reserved    spid   page        xactid         masterxactid   starttime                  name                                                                xloid       &lt;br /&gt; ------ ----------- ------ ----------- -------------- -------------- -------------------------- ------------------------------------------------------------------- ----------- &lt;br /&gt;  31516           0      9        6514 0x721900001600 0x000000000000        Jan 20 2009  9:18AM insert                                                                 18 &lt;br /&gt;&lt;br /&gt;(1 row affected)&lt;br /&gt;&lt;br /&gt;dump tran database with truncate_only&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;1&gt; use database&lt;br /&gt;2&gt; go&lt;br /&gt;1&gt; Dbcc checktable(syslogs)&lt;br /&gt;2&gt; go&lt;br /&gt;Checking syslogs: Logical pagesize is 2048 bytes&lt;br /&gt;The total number of data pages in this table is 3420.&lt;br /&gt;*** NOTICE: Space used on the log segment is 3470 pages (6.78 MB), 27.11%.&lt;br /&gt;*** NOTICE: Space reserved on the log segment is 0 pages (0.00 MB), 0.00%.&lt;br /&gt;*** NOTICE: Space free on the log segment is 9330 pages (18.22 MB), 72.89%.&lt;br /&gt;Table has 25403 data rows.&lt;br /&gt;DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.&lt;br /&gt;&lt;br /&gt;if this does not work and the tranlog is still full &lt;br /&gt;kill 9 where 9 is spid&lt;br /&gt;this will then put the transaction in to rollback. Remember to speak to your apps team or dev team I would not just kill the spid.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-2744378572595792615?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/2744378572595792615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/sybase-locks-and-blocks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/2744378572595792615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/2744378572595792615'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/sybase-locks-and-blocks.html' title='sybase locks and blocks'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-1554629043379170108</id><published>2009-01-19T16:08:00.000-08:00</published><updated>2009-01-19T16:13:37.589-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='constraint'/><category scheme='http://www.blogger.com/atom/ns#' term='primary key'/><category scheme='http://www.blogger.com/atom/ns#' term='create table'/><category scheme='http://www.blogger.com/atom/ns#' term='null'/><category scheme='http://www.blogger.com/atom/ns#' term='not null'/><category scheme='http://www.blogger.com/atom/ns#' term='datetime'/><category scheme='http://www.blogger.com/atom/ns#' term='clustered'/><category scheme='http://www.blogger.com/atom/ns#' term='varchar'/><category scheme='http://www.blogger.com/atom/ns#' term='nonclustered'/><category scheme='http://www.blogger.com/atom/ns#' term='Intro'/><title type='text'>Creating a table in Sybase</title><content type='html'>Now you have your database and users setup we should look at creating tables. &lt;br /&gt;remember before when I said about creating objects remember to put dbo before your table name otherwise the object will be created with your user ie jagot.table.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CREATE TABLE dbo.table&lt;br /&gt;(&lt;br /&gt;    assetManagerCode    varchar(30)     NOT NULL,&lt;br /&gt;    assetManagerName    varchar(100)    NULL,&lt;br /&gt;    assetManagerNameJpy univarchar(100) NULL,&lt;br /&gt;    address1            univarchar(100) NULL,&lt;br /&gt;    address2            univarchar(100) NULL,&lt;br /&gt;    attention           univarchar(50)  NULL,&lt;br /&gt;    telephoneNo         varchar(20)     NULL,&lt;br /&gt;    faxNo               varchar(20)     NULL,&lt;br /&gt;    insertedBy          varchar(30)     NOT NULL,&lt;br /&gt;    insertTimestamp     datetime        NOT NULL,&lt;br /&gt;    updatedBy           varchar(30)     NULL,&lt;br /&gt;    updatedTimestamp    datetime        NULL,&lt;br /&gt;    CONSTRAINT PKAssetManagerDetails&lt;br /&gt;    PRIMARY KEY NONCLUSTERED (assetManagerCode)&lt;br /&gt;)&lt;br /&gt;LOCK ALLPAGES&lt;br /&gt;go&lt;br /&gt;CREATE NONCLUSTERED INDEX IndexAssetManagerName&lt;br /&gt;    ON dbo.AssetManagerDetails(assetManagerName)&lt;br /&gt;go&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-1554629043379170108?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/1554629043379170108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/creating-table-in-sybase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/1554629043379170108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/1554629043379170108'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/creating-table-in-sybase.html' title='Creating a table in Sybase'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-6850376980727734702</id><published>2009-01-19T15:54:00.000-08:00</published><updated>2009-01-19T16:28:16.911-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='master'/><category scheme='http://www.blogger.com/atom/ns#' term='create user'/><category scheme='http://www.blogger.com/atom/ns#' term='dbo'/><category scheme='http://www.blogger.com/atom/ns#' term='password'/><category scheme='http://www.blogger.com/atom/ns#' term='alias'/><category scheme='http://www.blogger.com/atom/ns#' term='add user'/><title type='text'>Creating a user and aliasing the user to dbo</title><content type='html'>I would not recommend logging in and out and doing all the changes with sa, so I would recommend creating and aliasing a dbo user. I would recommend being careful when creating objects with a user always specify dbo before creating tables and so on&lt;br /&gt;&lt;br /&gt;to create a user&lt;br /&gt;&lt;br /&gt;USE master&lt;br /&gt;go&lt;br /&gt;EXEC sp_addlogin 'dbo_user','PASSWORD','database','us_english',"user Dbo",null,null,null&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;USE database&lt;br /&gt;go&lt;br /&gt;EXEC sp_addalias 'dbo_user','dbo'&lt;br /&gt;go&lt;br /&gt;drop dbo_user&lt;br /&gt;go&lt;br /&gt;EXEC sp_addalias 'dbo_user','dbo'&lt;br /&gt;go&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-6850376980727734702?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/6850376980727734702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/creating-user-and-aliasing-user-to-dbo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/6850376980727734702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/6850376980727734702'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/creating-user-and-aliasing-user-to-dbo.html' title='Creating a user and aliasing the user to dbo'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-1442922284549157222</id><published>2009-01-19T15:47:00.001-08:00</published><updated>2009-01-19T20:30:21.469-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dump'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='load'/><category scheme='http://www.blogger.com/atom/ns#' term='Create Database'/><category scheme='http://www.blogger.com/atom/ns#' term='DR'/><title type='text'>Dumping and loading a database</title><content type='html'>Now you know how to create a database maybe you have a DR server you wish to copy the database too.&lt;br /&gt;Or maybe you just wish to back the database up as this is good practise just in case you loose data or your database become corrupt.&lt;br /&gt;&lt;br /&gt;dump database database to '/dump/dbname.dmp&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;or if your database is compressed also you might want to strip the database over a number of volumes.&lt;br /&gt;&lt;br /&gt;Dump database database to `compress::/fox/dump/dbname/:database.dmp&lt;br /&gt;Strip /dbdump/proj/dump/dbname/:database.dmp　１,&lt;br /&gt;Strip /dbdump/proj/dump/dbname/:databasedmp　２,&lt;br /&gt;Strip /dbdump/proj/dump/dbname/:database.dmp　3,&lt;br /&gt;Strip /dbdump/proj/dump/dbname/:database.dmp　4&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This goes for loading too&lt;br /&gt;&lt;br /&gt;if you are copying this to a dr site then&lt;br /&gt;scp database hostname:/dump/proj/dbname/&lt;br /&gt;&lt;br /&gt;load database dbname from '/dump/dbname.dump&lt;br /&gt;or if you have a compressed database with strips&lt;br /&gt;&lt;br /&gt;load database database from `compress::/fox/dump/dbname/:database.dmp&lt;br /&gt;Strip /dbdump/proj/dump/dbname/:database.dmp　１,&lt;br /&gt;Strip /dbdump/proj/dump/dbname/:databasedmp　２,&lt;br /&gt;Strip /dbdump/proj/dump/dbname/:database.dmp　3,&lt;br /&gt;Strip /dbdump/proj/dump/dbname/:database.dmp　4&lt;br /&gt;go &lt;br /&gt;online database database&lt;br /&gt;remember to online the database&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-1442922284549157222?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/1442922284549157222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/dumping-and-loading-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/1442922284549157222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/1442922284549157222'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/dumping-and-loading-database.html' title='Dumping and loading a database'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-896343290583251356</id><published>2009-01-19T15:42:00.000-08:00</published><updated>2009-01-19T15:47:03.384-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='master'/><category scheme='http://www.blogger.com/atom/ns#' term='datadev'/><category scheme='http://www.blogger.com/atom/ns#' term='devices'/><category scheme='http://www.blogger.com/atom/ns#' term='sp_changedbowner'/><category scheme='http://www.blogger.com/atom/ns#' term='Create Database'/><title type='text'>Creating a database in Sybase</title><content type='html'>Sybase is a little diffrent to mssql in that you need to create sybase on devices.&lt;br /&gt;&lt;br /&gt;In sybase you have data devices and log devices. &lt;br /&gt;&lt;br /&gt;to create a database use this sytax.&lt;br /&gt;I useually create devices called datadev and logdev as this will distiqush the too.&lt;br /&gt;&lt;br /&gt;I would always say to set the dbowner to sa too so you know the jobs will have all the rights to the database&lt;br /&gt;&lt;br /&gt;USE master&lt;br /&gt;go&lt;br /&gt;CREATE DATABASE database&lt;br /&gt;    ON datadev1=1000&lt;br /&gt;    LOG ON logdev1=250&lt;br /&gt;go&lt;br /&gt;ALTER DATABASE database&lt;br /&gt;    ON datadev2=1000&lt;br /&gt;go&lt;br /&gt;ALTER DATABASE database&lt;br /&gt;    ON datadev2=348&lt;br /&gt;go&lt;br /&gt;USE database&lt;br /&gt;go&lt;br /&gt;EXEC sp_changedbowner 'sa'&lt;br /&gt;go&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-896343290583251356?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/896343290583251356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/creating-database-in-sybase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/896343290583251356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/896343290583251356'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/creating-database-in-sybase.html' title='Creating a database in Sybase'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7453440235623176638.post-4268432691653963247</id><published>2009-01-08T20:45:00.000-08:00</published><updated>2009-01-19T15:42:32.581-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Terry'/><category scheme='http://www.blogger.com/atom/ns#' term='Start'/><category scheme='http://www.blogger.com/atom/ns#' term='Sybase'/><category scheme='http://www.blogger.com/atom/ns#' term='Intro'/><title type='text'>Intro to me and Sybase</title><content type='html'>I have been working with databases now for around 10 years. I have about 4 years experience with Sybase and about 7 years with ms products from Access to SQL server 2008.&lt;br /&gt;&lt;br /&gt;If you would like my CV please send me a mail to Terry.Jago@gmail.com&lt;br /&gt;&lt;br /&gt;I wont start at installing sybase as if you are looking at my site you would have already installed it for some time now I have being to think of where to start on this site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7453440235623176638-4268432691653963247?l=sybase-help.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sybase-help.blogspot.com/feeds/4268432691653963247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sybase-help.blogspot.com/2009/01/intro-to-me-and-sybase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/4268432691653963247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7453440235623176638/posts/default/4268432691653963247'/><link rel='alternate' type='text/html' href='http://sybase-help.blogspot.com/2009/01/intro-to-me-and-sybase.html' title='Intro to me and Sybase'/><author><name>JapanGuide</name><uri>http://www.blogger.com/profile/16876114767286535250</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/__zFxCqPcmaI/SWVE3iOxX3I/AAAAAAAAABw/JJEqyZUYOZE/S220/n223201339_466465_2377.jpg'/></author><thr:total>0</thr:total></entry></feed>
