블로그 이미지
LifeisSimple

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2010. 7. 23. 15:28 Brain Trainning/DataBase
http://msdn.microsoft.com/ko-kr/library/dd299416(v=SQL.100).aspx

모든 권리는 마이크로소프트에 있다는...

설치 비디오

SQL Server 2008 설치 비디오를 사용하여 다음과 같은 목표를 수행할 수 있습니다.

  • 제품 및 구성 요소 기술 학습
  • 설치와 관련된 다양한 작업 수행 방법 확인
  • SQL Server 2008 관련 지식을 확장하는 데 유용한 관련 도움말 항목 확인

'Brain Trainning > DataBase' 카테고리의 다른 글

SP_Helpindex2  (0) 2010.08.11
DB 파일 사용상태 쿼리  (0) 2010.08.06
[SSRS] Microsoft Video  (0) 2010.07.23
[SSAS] Microsoft Video  (0) 2010.07.23
[SSIS] Microsoft Video  (0) 2010.07.23
posted by LifeisSimple
2010. 7. 23. 15:26 Brain Trainning/DataBase
http://msdn.microsoft.com/ko-kr/library/dd299413(v=SQL.100).aspx

모든 권리는 마이크로소프트에 있다능... 

SQL Server 2008 온라인 설명서
Reporting Services 비디오

새 항목: 2008년 12월 4일

SQL Server 2008 Reporting Services 비디오를 통해 달성할 수 있는 목표는 다음과 같습니다.

  • 제품 및 구성 요소 기술 학습
  • 다양한 작업 수행 방법 확인
  • Reporting Services에 대한 지식을 넓히는 데 도움이 되는 관련 도움말 항목 발견

'Brain Trainning > DataBase' 카테고리의 다른 글

DB 파일 사용상태 쿼리  (0) 2010.08.06
MSSQL 2008 설치 Video (Microsoft)  (0) 2010.07.23
[SSAS] Microsoft Video  (0) 2010.07.23
[SSIS] Microsoft Video  (0) 2010.07.23
디스크공간 / 여유공간  (0) 2010.07.18
posted by LifeisSimple
2010. 7. 23. 15:25 Brain Trainning/DataBase
http://msdn.microsoft.com/ko-kr/library/dd299422(v=SQL.100).aspx

모든 권리는 마이크로소프트에 있다는... 

Analysis Services 비디오(SQL Server 2008)

Analysis Services 비디오를 통해 달성할 수 있는 목표는 다음과 같습니다.

  • 제품 및 구성 요소 기술 학습
  • 다양한 작업 수행 방법 확인
  • Analysis Services에 대한 지식을 넓히는 데 도움이 되는 관련 도움말 항목 발견

'Brain Trainning > DataBase' 카테고리의 다른 글

MSSQL 2008 설치 Video (Microsoft)  (0) 2010.07.23
[SSRS] Microsoft Video  (0) 2010.07.23
[SSIS] Microsoft Video  (0) 2010.07.23
디스크공간 / 여유공간  (0) 2010.07.18
디스크 여유공간 체크 및 메일보내기~  (0) 2010.07.18
posted by LifeisSimple
2010. 7. 23. 15:22 Brain Trainning/DataBase

'Brain Trainning > DataBase' 카테고리의 다른 글

[SSRS] Microsoft Video  (0) 2010.07.23
[SSAS] Microsoft Video  (0) 2010.07.23
디스크공간 / 여유공간  (0) 2010.07.18
디스크 여유공간 체크 및 메일보내기~  (0) 2010.07.18
Categories of DMOs  (0) 2010.07.16
posted by LifeisSimple
2010. 7. 18. 22:45 Brain Trainning/DataBase

use master
go

if object_id('dbo.usp_fixeddrives') is not null
    drop procedure dbo.usp_fixeddrives
go  

create procedure dbo.usp_fixeddrives
as

/*
*********************************************************************
Author      : Bouarroudj Mohamed
E-mail      : mbouarroudj@sqldbtools.com
Date        : March 2005
Description : xp_fixeddrives wrapper

Note : you can add handling error as following (see BOL): 

    exec @hr = sp_OAMethod @ObjectToken,'GetDrive', @odrive OUT, @drive  
    if @hr <> 0 
    begin
        -- Obtains OLE Automation error information
        exec sp_OAGetErrorInfo ...
        handle error
    end
*********************************************************************
*/

set nocount on

---------------------------------------------------------------------
-- Declarations
---------------------------------------------------------------------

declare
    @ObjectToken     int,
    @drive           char(1),
    @odrive          int,
    @TotalSize       varchar(20),
    @MB              bigint 

---------------------------------------------------------------------
-- Initializations
---------------------------------------------------------------------

set @MB = 1048576

create table #Driveslist
(
    Drive         char(1) NOT NULL,
    FreeSpaceMB   int NULL,
    TotalSizeMB   int NULL
)

---------------------------------------------------------------------
-- Processing
---------------------------------------------------------------------

insert #Driveslist(Drive, FreeSpaceMB) 
exec master.dbo.xp_fixeddrives

exec sp_OACreate 'Scripting.FileSystemObject', @ObjectToken OUT  --Creates an instance of the OLE object on an instance of SQL Server.

declare DriveslistCur cursor local fast_forward
for 
select Drive from #Driveslist

open DriveslistCur

fetch next from DriveslistCur into @drive

while @@FETCH_STATUS = 0
begin
    -- Calls a method GetDrive
    exec sp_OAMethod @ObjectToken, 'GetDrive', @odrive OUT, @drive  
        
    -- Gets a property TotalSize
    exec sp_OAGetProperty @odrive,'TotalSize', @TotalSize OUT

    update #Driveslist
    set TotalSizeMB = @TotalSize / @MB
    where drive = @drive
        
    fetch next from DriveslistCur into @drive
end

close DriveslistCur
deallocate DriveslistCur

exec sp_OADestroy @ObjectToken

select 
    drive,
    TotalSizeMB as 'Total(MB)',
    FreeSpaceMB as 'Free(MB)',
    CAST(TotalSizeMB/1024.0 as decimal(10,2)) 'Total(GB)',
    CAST(FreeSpaceMB/1024.0 as decimal(10,2))'Free(GB)',
    CAST((FreeSpaceMB/(TotalSizeMB * 1.0)) * 100.0 as int) as 'Free(%)'
from #Driveslist
order by drive

drop table #Driveslist

return
go

exec dbo.xp_fixeddrives
go
exec dbo.usp_fixeddrives
go

이런 좋은 쿼리가 있네요... 출처는 주석에~

'Brain Trainning > DataBase' 카테고리의 다른 글

[SSAS] Microsoft Video  (0) 2010.07.23
[SSIS] Microsoft Video  (0) 2010.07.23
디스크 여유공간 체크 및 메일보내기~  (0) 2010.07.18
Categories of DMOs  (0) 2010.07.16
SQL Server 2005 DBCC Command Quick Reference  (0) 2010.07.16
posted by LifeisSimple
2010. 7. 18. 22:44 Brain Trainning/DataBase
declare @MB_Free int
create table #FreeSpace(
 Drive char(1), 
 MB_Free int)

insert into #FreeSpace exec xp_fixeddrives

select @MB_Free = MB_Free from #FreeSpace where Drive = 'C'

-- Free Space on C drive Less than Threshold
if @MB_Free < 40300
  exec master.dbo.xp_sendmail 
     @recipients ='koon74@naver.com',
     @subject ='C Drive 여유공간 임계치 이하',
     @message = 'Free space on C Drive 
                 has dropped below 1 gig'
                 
                 
다음 Query는 SQL Server에서 메일을 발송하는 예제입니다. 이 쿼리는 IIS-SMTP 서비스가 실행되고 있어야 합니다. 아래 코드는 CDONTS 컴포넌의 객체를 생성하여 보내는 방법입니다.


DECLARE @SenderAddress varchar(100)
DECLARE @RecipientAddress varchar(100)
DECLARE @Subject varchar(200)
DECLARE @Body varchar(8000)
DECLARE @oMail int --Object reference
DECLARE @resultcode int

SET @SenderAddress = 'serverinfo@serverinfo.pe.kr'
SET @RecipientAddress= 'webmaster@serverinfo.pe.kr'
SELECT @Subject = '이벤트 발생날짜 ' + CAST(getdate() AS varchar(12))
SET  @Body = 'This is the body of my email'

EXEC @resultcode = sp_OACreate 'CDONTS.NewMail', @oMail OUT
IF @resultcode = 0
BEGIN
   EXEC @resultcode = sp_OASetProperty @oMail, 'BodyFormat', 0
   EXEC @resultcode = sp_OASetProperty @oMail, 'MailFormat', 0
   EXEC @resultcode = sp_OASetProperty @oMail, 'Importance', 1
   EXEC @resultcode = sp_OASetProperty @oMail, 'From',@SenderAddress
   EXEC @resultcode = sp_OASetProperty @oMail, 'To',@RecipientAddress
   EXEC @resultcode = sp_OASetProperty @oMail, 'Subject',@Subject
   EXEC @resultcode = sp_OASetProperty @oMail, 'Body', @Body
   EXEC @resultcode = sp_OAMethod @oMail, 'Send', NULL
   EXEC sp_OADestroy @oMail
END 


출처 : http://www.wssplex.net

'Brain Trainning > DataBase' 카테고리의 다른 글

[SSIS] Microsoft Video  (0) 2010.07.23
디스크공간 / 여유공간  (0) 2010.07.18
Categories of DMOs  (0) 2010.07.16
SQL Server 2005 DBCC Command Quick Reference  (0) 2010.07.16
Top 10 SQL Server 2008 Features for ISV Applications  (1) 2010.07.14
posted by LifeisSimple
2010. 7. 16. 17:33 Brain Trainning/DataBase

Categories of DMOs

The DMOs are divided into different categories and named accordingly to be easy to find and distinguish. All DMO names start with the prefix dm_ (no difference between DMVs and DMFs). Next follows a prefix identifying the category a DMO belongs to. For instance, the prefix dm_io_ is used for dynamic management objects that return information regarding disk and network I/O. Another category is dm_clr_ which is used for DMOs that return information regarding the hosting of the CLR (.NET Common Language Runtime) in SQL Server. Below is a listing of the complete set of categories of dynamic management objects.

  • dm_broker_* - Service Broker
  • dm_clr_* - Common Language Runtime
  • dm_db_* - Database related
  • dm_db_index_* - Indexes
  • dm_db_mirroring_* - Database mirroring
  • dm_exec_* - Execution
  • dm_fts_* - Full-Text Search
  • dm_io_* - I/O
  • dm_os_* - SQL Operating System (SQLOS)
  • dm_qn_* - Query Notification
  • dm_repl_* - Replication
  • dm_tran_* - Transactions
The following query lists all the dynamic management objects that are available:

posted by LifeisSimple
2010. 7. 16. 17:31 Brain Trainning/DataBase

SQL Server 2005 DBCC Command Quick Reference

New, undocumented and retired DBCC Commands in SQL Server 2005

Seven new DBCC commands have been introduced by Microsoft's SQL Server development team.
Unfortunately little or no documentation is available on the new commands listed below, though some of them may be documented in the RTM release.
Those that are listed as being documented do not require a trace flag to be set before using them.
However, to use the undocumented commands, you will need to turn on trace flag 2588.
This has changed since SQL Server 7.0/2000, where the trace flag was 2520.

Please note that the following is a result of investigations with the beta 2 release of SQL Server 2005, the final RTM release may differ slightly.

As always, never use an undocumented DBCC command on a production server unless advised by Microsoft, and never use a documented one unless you understand how it may affect the performance of your server.

DBCC commands new to SQL Server 2005

Documented new commands

    freesessioncache () -- no parameters
    requeststats ({clear} | {setfastdecayrate, rate} | {setslowdecayrate, rate})

Undocumented new commands

    mapallocunit (I8AllocUnitId | {I4part, I2part})
    metadata ({'print' [, printopt = {0 |1}] | 'drop' | 'clone' [, '' | ....]}, {'object' [, 'type',...}, {Id | Name}, [{Ownerid | Ownername}], [{Dbid | Dbname}]])
    optimizer_whatif property, value
    persiststackhash (hashfile, BUFLATCH_TIMEOUT | ATTENTION | OUTOFLOCKS | LATCH_ATTN | OUTOFLOG | OUTOFMEM | SOS [, SKIPLAST | INCLUDELAST])
    semetadata (object id | name, index id | name [, partition id])

DBCC commands altered since SQL Server 2000

The following is presented as a list of pairs of commands. The first command is the old syntax, as used in SQL Server 2000. The second of each pair is the altered syntax new to SQL Server 2005. In most cases the commands have been extended to take advantage of passing an object ID instead of a name, but if your scripts use any of these commands, it's probably worth checking them out before you migrate to SS2K5.

2000 : checkalloc [('database_name'[, NOINDEX | REPAIR])] [WITH NO_INFOMSGS[, ALL_ERRORMSGS][, ESTIMATEONLY]]
2005 : checkalloc [('dbname'|dbid[, NOINDEX | REPAIR])] [WITH NO_INFOMSGS[,ALL_ERRORMSGS][, ESTIMATEONLY]]
Changes : SQL Server 2005 now accepts the dbid as well as the dbname

2000 : checkdb [('database_name'[, NOINDEX | REPAIR])] [WITH NO_INFOMSGS[, ALL_ERRORMSGS][, PHYSICAL_ONLY][, ESTIMATEONLY][, TABLOCK]
2005 : checkdb [('dbname | dbid'[, NOINDEX | REPAIR])] [WITH NO_INFOMSGS[,ALL_ERRORMSGS][, PHYSICAL_ONLY][, ESTIMATEONLY][, TABLOCK]]
Changes : SQL Server 2005 now accepts the dbid as well as the dbname

2000 : checkident ('table_name'[, { NORESEED | {RESEED [, new_reseed_value] } } ] )
2005 : checkident ('table_name'[, { NORESEED | {RESEED [, new_reseed_value] } } ] )
Changes :
Although the syntax is identical for SQL Server 2000 and 2005, there is a subtle change in the behaviour of this command.
In SQL Server 7.0 and 2000, running checkident would cause the identity column to be re-seeded, even if the table was empty.
In SQL Server 2005, if the table is empty when dbcc checkident is run, the reseed value will be ignored.

2000 : dbrepair ('dbname', DROPDB [, NOINIT])
2005 : dbrepair ('dbname', markdirty | {dropdevice, int} | {repairindex, int, int})
Changes : dropdevice syntax changed ; markdirty and repairindex options added
NB : It seems odd that this command has been extended with this release, as in the SQL Server 2005 setup help file, setupsql9.chm, it states that DROP DATABASE should be used instead of this command. It was included in SQL Server 2000 for backward compatibility only.

2000 : indexdefrag ({dbid | dbname | 0}, {tableid | tablename}, {indid | indname})
2005 : indexdefrag ({dbname | dbid | 0}, {tableid | tablename} [, {indid | indname} [, partition_number]])
Changes : An extra optional parameter has been added, partition_number

2000 : inputbuffer (spid)
2005 : inputbuffer (spid, [batchid])
Changes : An extra optional parameter has been added, batch_id

2000 : outputbuffer (spid)
2005 : outputbuffer (spid, [batchid])
Changes : An extra optional parameter has been added, batch_id

2000 : proccache
2005 : proccache ([compplan_ticks_threshold])
Changes : An optional parameter has been added, compplan_ticks_threshold

2000 : sqlperf (LOGSPACE)({IOSTATS | LRUSTATS | NETSTATS | RASTATS [, CLEAR]} | {THREADS} | {LOGSPACE})
2005 : sqlperf (LOGSPACE | IOSTATS | NETSTATS | RASTATS [, CLEAR]} | [THREADS] )
Changes : As for 2000, but LRUSTATS has been removed as an option.
NB : Microsoft only document the LOGSPACE parameter of this command - use any others at your own discretion.

2000 : updateusage ({'database_name'| 0} [, 'table_name' [, index_id]]) [WITH [NO_INFOMSGS] [,] COUNT_ROWS]
2005 : updateusage ({'dbname' | dbid | 0} [, {'table_name' | table_id} [,{index_id | 'index_name'}]]) [WITH [NO_INFOMSGS] [,] COUNT_ROWS]
Changes : Can now specify db_id, table_id, or the index name as parameters, instead of just the db/table/index name.

Also note that there is a problem with the output generated by the dbcc showcontig command under certain conditions in the beta version of SQL Server 2005, where more than one block of information per index is generated for tables that contain text columns.

DBCC commands retired since SQL Server 2000

Many of us have used them at one time or another and a few might even depend upon them. However, we can't say we have not been warned, and Microsoft have finally retired a whole raft of dbcc commands in SQL Server 2005.
Most of these were not particularly useful, but thoughtfully retained right up to SQL Server 2000 for backward compatibility with SQL Server 6.5 and earlier scripts.
The following dbcc commands are now dead and buried from SQL Server 2005 onwards:

adduserobject (name)
balancefactor (variance_percent)
bufcount [(number_of_buffers)]
cacheprofile [( {actionid} [, bucketid])
checkdbts (dbid, newTimestamp)]
des [( {'dbname' | dbid} [, {'objname' | objid} ])]
dropuserobject ('object_name')
getvalue (name)
iotrace ( { 'dbname' | dbid | 0 | -1 }, { fileid | 0 }, bufsize, [ { numIOs | -1 } [, { timeout (sec) | -1 } [, printopt={ 0 | 1 }]]] )
lockobjectschema ('object_name')
matview ({'PERSIST' | 'ENDPERSIST' | 'FREE' | 'USE' | 'ENDUSE'})
memospy
memusage ([IDS | NAMES], [Number of rows to output])
monitorevents ('sink' [, 'filter-expression'])
newalloc (previously retired, use of checkalloc recommended instead)
perflog
pglinkage (dbid, startfile, startpg, number, printopt={0|1|2}, targetfile, targetpg, order={1|0})
procbuf [({'dbname' | dbid}[, {'objname' | objid}[, nbufs[, printopt = { 0 | 1 } ]]] )]
rebuild_log (dbname [, filename])
row_lock (dbid, tableid, set) - Not Needed
shrinkdb (previously retired, use of shrinkdatabase recommended instead)
tab ( dbid, objid )
tape_control {'query' | 'release'}[,('\\.\tape')]
textall [({'database_name'|database_id}[, 'FULL' | FAST] )]
textalloc ({'table_name'|table_id}[, 'FULL' | FAST])
upgradedb (db)
usagegovernor (command, value)
wakeup (spid)

DBCC commands included in SQL Server 2005, which will be retired at a later date

dbreindex
This will be replaced with the REBUILD option of the ALTER INDEX statement.

indexdefrag
This will be replaced with the REORGANIZE option of the ALTER INDEX statement.

showcontig
This command will be replace by the system function fn_indexinfo

Complete list of documented SQL Server 2005 DBCC commands

checkalloc [('dbname'|dbid[, NOINDEX | REPAIR])] [WITH NO_INFOMSGS[, ALL_ERRORMSGS][, ESTIMATEONLY]]
checkcatalog [('dbname'|dbid)] [WITH NO_INFOMSGS]
checkconstraints [( 'tab_name' | tab_id | 'constraint_name' | constraint_id )] [WITH ALL_CONSTRAINTS | ALL_ERRORMSGS]
checkdb [('dbname | dbid'[, NOINDEX | REPAIR])] [WITH NO_INFOMSGS[, ALL_ERRORMSGS][, PHYSICAL_ONLY][, ESTIMATEONLY][, TABLOCK]]
checkfilegroup [( [ {'filegroup_name' | filegroup_id} ] [, NOINDEX] )] [WITH NO_INFOMSGS[, ALL_ERRORMSGS][, PHYSICAL_ONLY][, ESTIMATEONLY][, TABLOCK]]
checkident ('table_name'[, { NORESEED | {RESEED [, new_reseed_value] } } ] )
checktable ('table_name'[, {NOINDEX | index_id | REPAIR}]) [WITH NO_INFOMSGS[, ALL_ERRORMSGS][, PHYSICAL_ONLY][, ESTIMATEONLY][, TABLOCK]]
cleantable ('dbname'|dbid, 'table_name'|table_id [, batch_size])
concurrencyviolation (reset | display | startlog | stoplog)
dbreindex ('table_name' [, index_name [, fillfactor]]) [WITH NO_INFOMSGS]
dbrepair ('dbname', markdirty | {dropdevice, int} | {repairindex, int, int})
dropcleanbuffers
free dll_name (FREE) e.g. DBCC xp_sample (FREE)
freeproccache
freesessioncache
help ('dbcc_command' | '?')
indexdefrag ({dbname | dbid | 0}, {tableid | tablename} [, {indid | indname} [, partition_number]])
inputbuffer (spid, [batchid])
opentran [({'dbname'| dbid})] [WITH TABLERESULTS[,NO_INFOMSGS]]
outputbuffer (spid, [batchid])
perfmon
pintable (database_id, table_id)
proccache ([compplan_ticks_threshold])
requeststats ({clear} | {setfastdecayrate, rate} | {setslowdecayrate, rate})
show_statistics ('table_name'[, 'target_name'])
showcontig ([table_id | table_name [, index_id | index_name]] [WITH FAST, ALL_INDEXES, TABLERESULTS [,ALL_LEVELS]])
shrinkdatabase ({'dbname'|dbid}, [freespace_percentage [, {NOTRUNCATE | TRUNCATEONLY}]])
shrinkfile ({fileid | 'filename'} {[, EMPTYFILE] | [[, compress_size] [, {NOTRUNCATE | TRUNCATEONLY}]]})
sqlperf (LOGSPACE)
traceoff [( tracenum [, tracenum ... ] )]
traceon [( tracenum [, tracenum ... ] )]
tracestatus (trace# [, ...trace#])
unpintable (dbid, table_id)
updateusage ({'dbname' | dbid | 0} [, {'table_name' | table_id} [, {index_id | 'index_name'}]]) [WITH [NO_INFOMSGS] [,] COUNT_ROWS]
useroptions

Complete list of undocumented SQL Server 2005 DBCC commands

activecursors [(spid)]
addextendedproc (function_name, dll_name)
addinstance (objectname, instancename)
auditevent (eventclass, eventsubclass, success, loginname, rolename, dbusername, loginid, objname, servername, providername)
autopilot (typeid [, dbid [, {maxQueryCost | tabid [, indid [, pages [, flag [, rowcounts]]]]} ]])
buffer ( {'dbname' | dbid} [, objid [, number [, printopt={0|1|2} ][, dirty | io | kept | rlock | ioerr | hashed ]]])
bytes ( startaddress, length )
cacheprofile ( actionid [, bucketid])
cachestats
callfulltext - system sp use only
checkprimaryfile ( {'FileName'} [, opt={0|1|2|3} ])
clearspacecaches ('dbname'|dbid, 'table_name'|table_id, 'index_name'|index_id [, partition_number])
collectstats (on | off)
cursorstats ([spid [,'clear']])
dbrecover (dbname [, IgnoreErrors])
dbreindexall (dbname|dbid[, type_bitmap])
debugbreak
deleteinstance (objectname, instancename)
detachdb ( 'dbname' [, fKeep_Fulltext_Index_File (0 | 1)] )
dropextendedproc (function_name)
config
dbinfo [('dbname')]
dbtable [({'dbname' | dbid})]
lock ([{'DUMPTABLE' | 'DUMPSTATS' | 'RESETSTATS' | 'HASH'}]|[{'STALLREPORTTHESHOLD', stallthreshold}])
log (dbname | dbid [,{0|1|2|3|4}[,['lsn','[0x]x:y:z']|['numrecs',num]|['xdesid','x:y']|['extent','x:y']|['pageid','x:y']|['objid',{x,'y'}]|['logrecs',{'lop'|op}...]|['output',x,['filename','x']]...]]])
page ( {'dbname' | dbid}, filenum, pagenum [, printopt={0|1|2|3} ])
pss [(uid[, spid[, printopt = { 1 | 0 }]] )]
resource
dumptrigger ({'BREAK', {0 | 1}} | 'DISPLAY' | {'SET', exception_number} | {'CLEAR', exception_number})
errorlog
extentinfo [({'dbname'| dbid | 0} [, {'tablename' | tableid} [, {'indexname' | indexid | -1} [, partition_number]]])]
fileheader [( {'dbname' | dbid} [, fileid])
fixallocation [({'ADD' | 'REMOVE'}, {'PAGE' | 'SINGLEPAGE' | 'EXTENT' | 'MIXEDEXTENT'}, filenum, pagenum [, objectid, indexid, partitionid, allocUnitId])
flush ('data' | 'log', dbname | dbid)
flushprocindb (dbid)
freeze_io (dbname | dbid)
icecapquery ('dbname' [, stored_proc_name [, #_times_to_icecap (-1 infinite, 0 turns off)]])
Use 'dbcc icecapquery (printlist)' to see list of SP's to profile.
Use 'dbcc icecapquery (icecapall)' to profile all SP's.
incrementinstance (objectname, countername, instancename, value)
ind ( { 'dbname' | dbid }, { 'objname' | objid }, { indid | 0 | -1 | -2 } [, partition_number] )
invalidate_textptr (textptr)
invalidate_textptr_objid (objid)
latch ( address [, 'owners'] [, 'stackdumps'])
loginfo [({'dbname' | dbid})]
mapallocunit (I8AllocUnitId | {I4part, I2part})
memobjlist [(memory object)]
memorymap
memorystatus
metadata ({'print' [, printopt = {0 |1}] | 'drop' | 'clone' [, '' | ....]}, {'object' [, 'type',...}, {Id | Name}, [{Ownerid | Ownername}], [{Dbid | Dbname}]])
no_textptr (table_id , max_inline)
optimizer_whatif property, value
persiststackhash (hashfile, BUFLATCH_TIMEOUT | ATTENTION | OUTOFLOCKS | LATCH_ATTN | OUTOFLOG | OUTOFMEM | SOS [, SKIPLAST | INCLUDELAST])
prtipage (dbname | dbid, objid | objname, indexid | indexname [, partition_number [, level]]). No partition specified uses the first partition. No level specified prints root page.
readpage ({'dbname'|dbid}, fileid, pageid, formatstr [, printopt = { 0 | 1} ])
renamecolumn (object_name, old_name, new_name)
ruleoff ({ rulenum | rulestring } [, { rulenum | rulestring } ]+)
ruleon ( rulenum | rulestring } [, { rulenum | rulestring } ]+)
semetadata (object id | name, index id | name [, partition id])
setcpuweight (weight)
setinstance (objectname, countername, instancename, value)
setioweight (weight)
showdbaffinity
showfilestats [(file_num)]
showoffrules
showonrules
showtableaffinity (table_id | table_name [, partition_number])
showtext ('dbname' | dbid, {textpointer | {fileid, pageid, slotid [,option]}})
showweights
sqlmgrstats
stackdump [( {uid[, spid [, batchid [, ecid]]} | {threadId, 'THREADID'}] )]
tec [( uid[, spid[, batchid[, ecid]] )]
thaw_io (dbname | dbid)
useplan [(number_of_plan)]
writepage ({'dbname' | dbid}, fileid, pageid, offset, length, data)

Acknowledgements and references:

SQL Server 2005 Express Edition
Except where noted below, the above investigation was carried out on the Beta 2 release of SQL Server 2005 Express Edition.
At the time of writing (November 2004) this product was available as a free download at http://www.microsoft.com/sql/

SQL Server 2005 Setup Help (c) Microsoft Corporation 2004.
The information about future discontinued DBCC commands was sourced from Microsoft's SQL Server 2005 setup help file.
It is recommended reading for anyone who writes commercial database software that depends upon the lower-level functionality provided by SQL Server, as it includes details of discontinued commands and configuration options.
This document can be found at C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\Help\1033\setupsql9.chm, after installing SQL Server 2005 Express Edition to the default installation directory.
Search on "dbcc" to find this information.

Jon Reade November 2004

'Brain Trainning > DataBase' 카테고리의 다른 글

디스크 여유공간 체크 및 메일보내기~  (0) 2010.07.18
Categories of DMOs  (0) 2010.07.16
Top 10 SQL Server 2008 Features for ISV Applications  (1) 2010.07.14
SQL Server 2008 T-SQL Enhancements  (0) 2010.07.14
SQL Patch 정보  (0) 2010.06.18
posted by LifeisSimple
2010. 7. 15. 15:29 Brain Trainning

Videos

Sessions with titles in bold are available for smooth streaming playback

Using Mike Swanson's downloader and renamer

If you’d like to download all of the keynote and session content, download a recent build of cURL (~250K), and extract it to your folder-of-choice. Then, download PDC09Downloader.zip (1.49KB) and extract the PDC09Downloader.bat file to the same folder. From a command prompt, start PDC09Downloader by passing it one of the following parameters: WMVHIGH, WMV, MP4, PPTX. Then wait. For files that aren’t available, cURL will download a file that is around 221 bytes in size (if you change the extension to .htm and open it, you’ll see that the file is simply an HTML "not found" error page).

To rename the files, first, download the PDC09 Renamer batch file (4.52KB). Then, extract the PDC09Renamer.bat file to the folder that contains your downloaded files, and from a command prompt, type PDC09Renamer WMV to rename all of the .WMV files to the full session title. By changing the parameter, you can also rename your PPTX and MP4 files.

Title WMV WMV High MP4 Slides
CL05 Embodiment: The Third Great Wave of Computing Applications
Butler Lampson
WMV WMVHigh MP4 Slides
CL06 Networking and Web Services in Silverlight
Yavor Georgiev
WMV WMVHigh MP4 Slides
CL07 Mastering Microsoft .NET RIA Services
Dinesh Kulkarni
WMV WMVHigh MP4 Slides
CL35 Custom Behaviors for Advanced Microsoft Silverlight UI Effects
Peter Blois
WMV WMVHigh MP4 Slides
CL09 How Microsoft Visual Studio 2010 Was Built with WPF 4
Paul Harrington
WMV WMVHigh MP4 Slides
CL10 Windows Presentation Foundation 4 Plumbing and Internals
Blake Stone
WMV WMVHigh MP4 Slides
CL11 Advanced WPF Application Performance Tuning and Analysis
Bart De Smet, Eric Harding
WMV WMVHigh MP4 Slides
CL12 Developing with the Windows API Code Pack for Microsoft .NET Framework
Yochay Kiriaty
WMV WMVHigh MP4 Slides
CL13 Windows Touch Deep Dive
Reed Townsend
WMV WMVHigh MP4 Slides
CL14 Advanced Graphics Functionality Using DirectX
Michael Oneppo
WMV WMVHigh MP4 Slides
CL15 Modern 3D Graphics Using Windows 7 and Direct3D 11 Hardware
Michael Oneppo
WMV WMVHigh MP4 Slides
CL16 Optimizing for Performance with the Windows Performance Toolkit
Michael Milirud
WMV WMVHigh MP4 Slides
CL17 Building Sensor- and Location-Aware Applications with Windows 7 and .NET Framework 4
Gavin Gear
WMV WMVHigh MP4 Slides
CL18 Windows Ribbon Technical Deep Dive
Ryan Demopoulos
WMV WMVHigh MP4 Slides
CL19 Building Line of Business Applications with Microsoft Silverlight 4
David Poll
WMV WMVHigh MP4
CL20 Improving and Extending the Sandbox with Microsoft Silverlight 4
Joe Stegman
WMV WMVHigh MP4
CL21 Building Amazing Business Applications with Microsoft Silverlight and Microsoft .NET RIA Services
Brad Abrams
WMV WMVHigh MP4 Slides
CL22 Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight
John Papa
WMV WMVHigh MP4 Slides
CL23 SketchFlow: Prototyping to the Rescue
Christian Schormann
WMV WMVHigh MP4
CL24 XAML Futures in Microsoft .NET Framework, Microsoft Silverlight and Tools
Michael Shim, Rob Relyea
WMV WMVHigh MP4 Slides
CL25 Become a Web Debugging Virtuoso with Fiddler
Eric Lawrence
WMV WMVHigh MP4 Slides
CL26 The "Audience API": Live Framework Present and Future
Todd Manion
WMV WMVHigh MP4 Slides
CL27 Multi-Touch on Microsoft Surface and Windows 7 for .NET Developers
Anson Tsao, Robert Levy
WMV WMVHigh MP4 Slides
CL28 New Developer Tools in Windows Embedded Standard 2011
Robert Smith, Ben Tucker
WMV WMVHigh MP4 Slides
CL29 Windows 7 and Windows Server 2008 R2 Kernel Changes (Continued from 1:30 Session)
Mark Russinovich
WMV WMVHigh MP4
CL30 Microsoft Expression Blend 3 for Developers: Tips, Tricks and Best Practices
DoRon Motter
WMV WMVHigh MP4 Slides
CL31 Mastering WPF Graphics and Beyond
David Teitlebaum
WMV WMVHigh MP4 Slides
CL32 Developing Testable Silverlight Applications
Keith Jones
WMV WMVHigh MP4 Slides
CL33 Windows Error Reporting
Kevin Hill
WMV WMVHigh MP4
CL34 Media Foundation: Supporting Hardware Codecs and Cameras
Stan Pennington
WMV WMVHigh MP4 Slides
CL36 Deep Dive on Bing Maps Silverlight Control
Keith Kinnan
WMV WMVHigh MP4 Slides
FT08 Code Visualization, UML, and DSLs
Cameron Skinner
WMV WMVHigh MP4 Slides
FT09 Scrum in the Enterprise and Process Customization with Microsoft Visual Studio 2010
Simon Bennett, Stuart Preston
WMV WMVHigh MP4 Slides
FT10 Evolving ADO.NET Entity Framework in .NET 4 and Beyond
Shyam Pather, Chris Anderson
WMV WMVHigh MP4 Slides
FT11 Future Directions for C# and Visual Basic
Luca Bolognese
WMV WMVHigh MP4 Slides
FT12 ADO.NET Data Services: What’s new with the RESTful data services framework
Pablo Castro
WMV WMVHigh MP4 Slides
FT13 What’s New for Windows Communication Foundation 4
Ed Pinto
WMV WMVHigh MP4 Slides
FT14 Workflow Services and Windows Server AppFabric
Mark Fussell
WMV WMVHigh MP4 Slides
FT16 Advanced Diagnostics, IntelliTrace™ and Test Automation
Habib Heydarian
WMV WMVHigh MP4 Slides
FT17 Spice Up Your Applications with Windows Workflow Foundation 4
Matt Winkler
WMV WMVHigh MP4 Slides
FT18 Microsoft ASP.NET Futures
Jonathan Carter, Scott Hunter
WMV WMVHigh MP4 Slides
FT19 C++ Forever: Interactive Applications in the Age of Manycore
Rick Molloy
WMV WMVHigh MP4 Slides
FT20 F# for Parallel and Asynchronous Programming
Luke Hoban
WMV WMVHigh MP4 Slides
FT21 PLINQ: LINQ, but Faster!
Ed Essey, Igor Ostrovsky
WMV WMVHigh MP4 Slides
FT22 Microsoft ASP.NET MVC 2: The New Stuff
Stephen Walther
WMV WMVHigh MP4 Slides
FT23 Extending the Microsoft Visual Studio 2010 Code Editor to Visualize Runtime Intelligence
Bill Leach, Gabriel Torok
WMV WMVHigh MP4 Slides
FT24 Building Extensible Rich Internet Applications with the Managed Extensibility Framework
Glenn Block
WMV WMVHigh MP4 Slides
FT25 Microsoft Application Server Technologies: Present and Future
Anil Nori
WMV WMVHigh MP4
FT26 Scaling Your Data Tier with Windows Server AppFabric
Murali Krishnaprasad
WMV WMVHigh MP4 Slides
FT27 Application Server Extensibility with Microsoft .NET 4 and Windows Server AppFabric
Nicholas Allen
WMV WMVHigh MP4
FT28 Microsoft .NET Micro Framework and Intelligent Devices
Lorenzo Tessiore
WMV WMVHigh MP4 Slides
FT29 Microsoft AJAX Library, jQuery, and Microsoft Visual Studio 2010
Stephen Walther
WMV WMVHigh MP4 Slides
FT30 Using Dynamic Languages to Build Scriptable Applications
Dino Viehland
WMV WMVHigh MP4 Slides
FT31 Dynamic Binding in C# 4
Mads Torgersen
WMV WMVHigh MP4 Slides
FT32 Code Like the Wind with Microsoft Visual Basic 2010
Lucian Wischik
WMV WMVHigh MP4 Slides
FT33 Microsoft Visual Basic IDE Tips and Tricks
Dustin Campbell
WMV WMVHigh MP4 Slides
FT34 Microsoft Project Code Name “M”: The Data and Modeling Language
Don Box, Jeff Pinkston
WMV WMVHigh MP4
FT35 Microsoft Visual C# IDE Tips and Tricks
DJ Park
WMV WMVHigh MP4 Slides
FT50 Building Data-Driven Applications Using Microsoft Project Code Name "Quadrant" and Microsoft Project Code Name "M"
Chris Sells, Douglas Purdy
WMV WMVHigh MP4 Slides
FT36 Future of Garbage Collection
Patrick Dussud
WMV WMVHigh MP4 Slides
FT52 Microsoft Perspectives on the Future of Programming
Butler Lampson, Erik Meijer, Don Box, Jeffrey Snover, Herb Sutter, Burton Smith
WMV WMVHigh MP4
FT53 Microsoft Visual Studio Lab Management to the Build Setup Rescue
Vinod Malhotra
WMVHigh MP4 Slides
FT54 Power Tools for Debugging
Sandeep Karanth, Kapil Vaswani
WMV WMVHigh MP4 Slides
FT55 Developing REST Applications with the .NET Framework
Henrik Nielsen
WMV WMVHigh MP4 Slides
FT56 Web Deployment Painkillers: Microsoft Visual Studio 2010 & MS Deploy
Vishal R. Joshi
WMV WMVHigh MP4 Slides
FT57 Microsoft ASP.NET 4 Core Runtime for Web Developers
Stefan Schackow
WMV WMVHigh MP4 Slides
FT58 What’s New in Microsoft ASP.NET 4 Web Forms and Dynamic Data
Scott Hunter
WMV WMVHigh MP4 Slides
FT59 ASP.NET MVC 2: Ninjas Still on Fire Black Belt Tips
Scott Hanselman
WMV WMVHigh MP4
FT60 A Lap Around Microsoft Visual Studio and Team Foundation Server 2010
Mario Rodriguez, Cameron Skinner
WMV WMVHigh MP4 Slides
KEY01 Day 1 Keynote
WMVHigh
KEY02 Day 2 Keynote
WMVHigh
SVR01 Accelerating Applications Using Windows HPC Server 2008
Ming Xu
WMV WMVHigh MP4 Slides
FT05 Automating "Done Done" in the Team Workflows with Microsoft Visual Studio Ultimate and Team Foundation Server 2010
Brian Randell, Jamie Cool
WMV WMVHigh MP4 Slides
SVC01 Lap Around the Windows Azure Platform
Manuvir Das
WMV WMVHigh MP4 Slides
FT02 Data Programming and Modeling for the Microsoft .NET Developer
Don Box, Chris Anderson
WMV WMVHigh MP4 Slides
PR03 Developer Patterns to Integrate Microsoft Silverlight 3.0 with Microsoft SharePoint 2010
Paul Stubbs
WMV WMVHigh MP4 Slides
PR01 Developing xRM Solutions Using Windows Azure
Andrew Bybee
WMV WMVHigh MP4 Slides
SVC03 Development Best Practices and Patterns for Using Microsoft SQL Azure Databases
Tony Petrossian
WMV WMVHigh MP4 Slides
FT03 Manycore and the Microsoft .NET Framework 4: A Match Made in Microsoft Visual Studio 2010
Stephen Toub
WMV WMVHigh MP4 Slides
CL02 Microsoft Silverlight 3: Advanced Performance and Profiling Techniques
Seema Ramchandani
WMV WMVHigh MP4 Slides
CL01 Microsoft Silverlight 4 Overview
Karen Corby
WMV WMVHigh MP4 Slides
PR05 Microsoft Unified Communications: Developer Platform Futures
Chris Mayo
WMV WMVHigh MP4 Slides
FT06 Accelerated Windows Application Development with Microsoft Visual C++ 2010
Boris Jabes
WMV WMVHigh MP4 Slides
SVC04 Petabytes for Peanuts! Making Sense out of “Ambient” Data.
David Campbell
WMV WMVHigh MP4 Slides
SVR03 Data Tier Applications in Visual Studio 2010
Sanjay Nagamangalam, S Murali
WMV WMVHigh MP4
CL03 DirectX11 DirectCompute
Chas Boyd
WMV WMVHigh MP4 Slides
FT07 The State of Parallel Programming
Burton Smith
WMV WMVHigh MP4 Slides
PR02 Overview of SharePoint 2010 Programmability
Mike Ammerlaan
WMV WMVHigh MP4 Slides
SVR02 Using Classification for Data Security and Data Management
Clyde Law
WMV WMVHigh MP4 Slides
CL04 Windows 7 and Windows Server 2008 R2 Kernel Changes
Mark Russinovich
WMV WMVHigh MP4 Slides
SVC02 Windows Identity Foundation Overview
Vittorio Bertocci
WMV WMVHigh MP4 Slides
FT04 Windows Workflow Foundation 4 from the Inside Out
Bob Schmidt
WMV WMVHigh MP4 Slides
PR06 Developing Solutions with Business Connectivity Services in Microsoft SharePoint Server 2010
Steve Fox
WMV WMVHigh MP4
PR07 Developing Solutions for Microsoft SharePoint Server 2010 Using the Client Object Model
Mike Ammerlaan
WMV WMVHigh MP4 Slides
PR09 Document Assembly and Manipulation on Microsoft SharePoint Server 2010 Using Word Automation Services and Open XML
Zeyad Rajabi
WMVHigh MP4 Slides
PR10 SharePoint Is Not Just On-Premise: Developing and Deploying Solutions to Microsoft SharePoint Online
Rob Howard
WMV WMVHigh MP4 Slides
PR11 Leveraging and Extending Microsoft SharePoint Server 2010 Identity Features
Venky Veeraraghavan
WMV WMVHigh MP4 Slides
PR12 It's All about the Services: Developing Custom Applications for Microsoft SharePoint Server 2010 Using Microsoft ASP.NET, WCF, and REST
Maxim Lukiyanov
WMV WMVHigh MP4 Slides
PR13 Integrating and Extending the Microsoft Office Communicator Experience with Windows Presentation Foundation and Microsoft Silverlight
David Ollason
WMV WMVHigh MP4 Slides
PR14 Unleashing the Power of Excel on the Web
Shahar Prish
WMV WMVHigh MP4 Slides
PR30 The Exchange 2010 Developer Story: Building Rich Exchange-enabled Applications for the Enterprise and the Cloud
Jason Henderson
WMV WMVHigh MP4 Slides
PR31 Managing the Solution Lifecycle for xRM Applications
Andrew Bybee
WMV WMVHigh MP4 Slides
PR33 Build a .NET Business Application in 60 Minutes with xRM and SharePoint
Barry Givens, Nikhil Hasija
WMV WMVHigh MP4 Slides
SVC06 Scaling out Web Applications with Microsoft SQL Azure Databases
David Robinson
WMV WMVHigh MP4 Slides
SVC08 Patterns for Building Scalable and Reliable Applications with Windows Azure
Brad Calder
WMV WMVHigh MP4 Slides
SVC09 Windows Azure Tables and Queues Deep Dive
Jai Haridas
WMV WMVHigh MP4 Slides
SVC10 Software + Services Identity Roadmap Update
Kim Cameron, Dmitry Sotnikov
WMV WMVHigh MP4 Slides
SVC12 Microsoft SQL Azure Database: Under the Hood
Jeff Currier
WMV WMVHigh MP4 Slides
SVC13 Windows Azure Present and Future
Manuvir Das
WMV WMVHigh MP4 Slides
SVC14 Windows Azure Blob and Drive Deep Dive
Brad Calder
WMV WMVHigh MP4 Slides
SVC15 Windows Azure Monitoring, Logging, and Management APIs
Matthew Kerner
WMV WMVHigh MP4 Slides
SVC16 Developing Advanced Applications with Windows Azure
Steve Marx
WMV WMVHigh MP4 Slides
SVC17 Enabling Single Sign-On to Windows Azure Applications
Hervey Wilson
WMV WMVHigh MP4 Slides
SVC18 Building Hybrid Cloud Applications with Windows Azure and the Service Bus
Clemens Vasters
WMV WMVHigh MP4 Slides
SVC19 REST Services Security Using the Access Control Service
Justin Smith
WMV WMVHigh MP4 Slides
SVC20 Bridging the Gap from On-Premises to the Cloud
Yousef Khalidi
WMV WMVHigh MP4 Slides
SVC30 Lessons Learned: Migrating Applications to the Windows Azure Platform
Wade Wegner
WMV WMVHigh MP4 Slides
SVC23 Using the Microsoft Sync Framework to Connect Apps to the Cloud
Mark Scurrell
WMV WMVHigh Slides
SVC25 Automating the Application Lifecycle with Windows Azure
Sriram Krishnan
WMV WMVHigh MP4 Slides
SVC26 How Microsoft SharePoint 2010 was Built with the Windows Identity Foundation
Sesha Mani
WMV WMVHigh MP4 Slides
SVC27 The Future of Database Development with SQL Azure
David Robinson
WMV WMVHigh MP4 Slides
SVC28 The ‘M’-Based System.Identity Model for Accessing Directory Services
Gert Drapers, Kim Cameron
WMV WMVHigh MP4 Slides
SVC29 Enrich your Applications with Data from Microsoft Project Code Name “Dallas”
Zach Owens
WMV WMVHigh MP4 Slides
SVC31 Lessons Learned: Building On-Premises and Cloud Applications with the Service Bus and Windows Azure
Todd Holmquist-Sutherland
WMV WMVHigh MP4 Slides
SVC32 Lessons Learned: Building Scalable Applications with the Windows Azure Platform
Simon Davies
WMV WMVHigh MP4 Slides
SVC33 Lessons Learned: Building Multi-Tenant Applications with the Windows Azure Platform
Ben Riga
WMV WMVHigh MP4 Slides
SVC36 Microsoft adPlatform Opportunities for Developers
Eric Totherow
WMV WMVHigh MP4 Slides
SVC37 Introduction to Building Applications with Windows Azure
David Lemphers
WMV WMVHigh MP4 Slides
SVC50 Building Java Applications with Windows Azure
Steve Marx
WMV WMVHigh MP4 Slides
SVC51 Developing PHP and MySQL Applications with Windows Azure
Mohit Srivastava, Tushar Shanbhag
WMV WMVHigh MP4 Slides
SVC52 SQL Azure Database: Present and Future
Dave Campbell, Tony Petrossian
WMV WMVHigh MP4 Slides
SVC53 Tips and Tricks for Using Visual Studio 2010 to Build Applications that Run on Windows Azure
Jim Nakashima
WMV WMVHigh MP4 Slides
SVC54 The Business of Windows Azure: What you should know about Windows Azure Platform pricing and SLAs
Dianne O'Brien
WMV WMVHigh MP4 Slides
SVR06 Extending Internet Information Services (IIS) 7.x
Will Sadler
WMV WMVHigh MP4 Slides
SVR07 Introduction to Microsoft SQL Server 2008 R2 StreamInsight
Torsten Grabs
WMV WMVHigh MP4 Slides
SVR08 Advanced Microsoft SQL Server 2008 R2 StreamInsight
Roman Schindlauer, Beysim Sezgin
WMV WMVHigh MP4 Slides
SVR09 Developing Rich Reporting Solutions with Microsoft SQL Server 2008 R2
Stella Chan
WMV WMVHigh MP4 Slides
SVR10 Lighting up Windows Server 2008 R2 Using the ConcRT on UMS
Dana Groff
WMV WMVHigh MP4 Slides
SVR11 Improving Application Compatibility and Quality for Windows Server 2008 R2
Frank Botello
WMV WMVHigh MP4 Slides
SVR12 Building Your Administration GUI over Windows PowerShell
Kenneth Hansen, Narayanan Lakshmanan
WMV WMVHigh MP4 Slides
SVR13 Windows PowerShell: An Automation Toolbox for Building Solutions That Span Small Businesses, Enterprises, and Cloud Services
Kenneth Hansen, Narayanan Lakshmanan
WMV WMVHigh MP4 Slides
SVR14 Building Live Media Viewing Experiences Using Internet Information Services (IIS) Smooth Streaming and the Smooth Streaming Player SDK
Vishal Sood
WMV WMVHigh MP4 Slides
SVR15 Microsoft BizTalk Server Futures and Roadmap
Balasubramanian Sriram
WMV WMVHigh MP4 Slides
SVR16 Connecting Applications with the Microsoft BizTalk Enterprise Service Bus Toolkit
Syed Rasheed, Dmitri Ossipov
WMV WMVHigh MP4 Slides
SVR17 Data-Intensive Computing on Windows HPC Server with the DryadLINQ Framework
John Vert
WMV WMVHigh MP4 Slides
SVR18 Developing Applications for Scale-Up Servers Running Windows Server 2008 R2
Pedro Teixeira
WMV WMVHigh MP4 Slides
SVR19 SQL Server Modeling Services: Using Metadata to Drive Application Design, Development and Management
James Baker, Shoshanna Budzianowski
WMV WMVHigh MP4 Slides
SVR31 Making Microsoft SQL Server 2008 Fly
Yavor Angelov
WMV WMVHigh MP4 Slides
SVR32 Microsoft Semantic Engine
Naveen Garg, Duncan Davenport
WMV WMVHigh MP4 Slides
SVR33 Building Location Aware Applications with the SQL Server Spatial Library
Olivier Meyer, Ed Katibah
WMV WMVHigh MP4 Slides
VTL01 Code Contracts and Pex: Power Charge Your Assertions and Unit Tests
Mike Barnett, Nikolai Tillmann
WMV WMVHigh MP4 Slides
VTL02 Axum: A .NET Language for Safe and Scalable Concurrency
Niklas Gustafsson
WMV WMVHigh MP4 Slides
VTL03 Infer.NET: Building Software with Intelligence
John Guiver, John Winn
WMV WMVHigh MP4 Slides
VTL04 Rx: Reactive Extensions for .NET
Erik Meijer
WMV WMVHigh MP4 Slides
VTL05 A New Approach to Exploring Information on the Web
Gary Flake
WMV WMVHigh MP4 Slides
VTL30 Managing Development to Inspire Innovation and Create Great User Experiences
Scott Stanfield, Bill Crow
WMV WMVHigh MP4 Slides
VTL31 Coming Together in the Cloud
Jeff Norris, Rick Boykin, Marc Mercuri
WMV WMVHigh MP4 Slides
VTL32 Concurrency Fuzzing & Data Races
Sebastian Burckhardt, Madan Musuvathi
WMV WMVHigh MP4

출처 : http://www.microsoftpdc.com/ <-- 꼭 IE로 열어야 에러가 안남... 흠..

'Brain Trainning' 카테고리의 다른 글

[MAC] Keynote 사용설명서....  (0) 2012.02.23
MS 워드를 활용한 블로그 글올리기  (1) 2011.01.09
가상화 관련 링크  (0) 2010.11.18
Shift-Space 로 한영전환 Reg  (0) 2010.06.07
각 나라별 사용 IP대역  (0) 2010.05.06
posted by LifeisSimple
2010. 7. 14. 14:08 Brain Trainning/DataBase

Top 10 SQL Server 2008 Features for ISV Applications

Author: Burzin Patel

Contributor: Kun Cheng

Reviewers: Sanjay Mishra, Denny Lee, Mike Ruthruff, Sharon Bjeletich, Mark Souza, Peter Carlin, Hermann Daeubler, Peter Scharlock, Wanda He

Microsoft® SQL Server® 2008 has hundreds of new and improved features, many of which are specifically designed for large scale independent software vendor (ISV) applications, which need to leverage the power of the underlying database while keeping their code database agnostic. This article presents details of the top 10 features that we believe are most applicable to such applications based on our work with strategic ISV partners. Along with the description of each feature, the main pain-points the feature helps resolve and some of the important limitations that need to be considered are also presented. The features are grouped into two categories: ones that do not require any application change (features 1-8) and those that require some application code change (features 9-10). The features are not prioritized in any particular order.

1  Data Compression

The disk I/O subsystem is the most common bottleneck for many database implementations. More disks are needed to reduce the read/write latencies; but this is expensive, especially on high-performing storage systems. At the same time, the need for storage space continues to increase due to rapid growth of the data, and so does the cost of managing databases (backup, restore, transfer, etc.).

Data compression introduced in SQL Server 2008 provides a resolution to address all these problems. Using this feature one can selectively compress any table, table partition, or index, resulting in a smaller on-disk footprint, smaller memory working-set size, and reduced I/O. Configurations that are bottlenecked on I/O may also see an increase in performance. In our lab test, enabling data compression for some ISV applications resulted in a 50-80% saving in disk space.

SQL Server supports two types of compressions: ROW compression, which compresses the individual columns of a table, and PAGE compression which compresses data pages using row, prefix, and dictionary compression. The compression results are highly dependent on the data types and data contained in the database; however, in general we’ve observed that using ROW compression results in lower overhead on the application throughput but saves less space. PAGE compression, on the other hand, has a higher impact on application throughput and processor utilization, but it results in much larger space savings. PAGE compression is a superset of ROW compression, implying that an object or partition of an object that is compressed using PAGE compression also has ROW compression applied to it. Compressed pages remain compressed in memory until rows/columns on the pages are accessed.

Both ROW and PAGE compression can be applied to a table or index in an online mode that is without any interruption to the application availability. However, partitions of a partitioned table cannot be compressed or uncompressed online. In our testing we found that using a hybrid approach where only the largest few tables were compressed resulted in the best overall performance, saving significant disk space while having a minimal negative impact on performance. We also found that compressing the smallest objects first minimized the need for additional disk space during the compression process.

To determine how compressing an object will affect its size you can use thesp_estimate_data_compression_savings system stored procedure. Database compression is only supported in SQL Server 2008 Enterprise and Developer editions. It is fully controlled at the database level and does not require any application change.

2  Backup Compression

The amount of data stored in databases has grown significantly in the last decade. resulting in larger database sizes. At the same time the demands for applications to be available 24x7 have forced the backup time-windows to shrink. In order to speed up the backup procedure, database backups are usually first streamed to fast disk-based storage and moved out to slower media later. Keeping such large disk-based backups online is expensive, and moving them around is time consuming.

With SQL Server 2008 backup compression, the backup file is compressed as it is written out, thereby requiring less storage, less disk I/O, and less time, and utilizing less network bandwidth for backups that are written out to a remote server. However, the additional processing results in higher processor utilization. In a lab test conducted with an ISV workload we observed a 40% reduction in the backup file size and a 43% reduction in the backup time.The compression is achieved by specifying the WITH COMPRESSION clause in the backup command (for more information, see SQL Server Books Online). To prevent having to modify all the existing backup scripts, there is also a global setting (using the Database Settings page of the Server Properties dialog box) to enable compression of all backups taken on that server instance by default; this eliminates the need to modify existing backup scripts. While the compression option on the backup command needs to be explicitly specified, the restore command automatically detects that a backup is compressed and decompresses it during the restore operation. Overall, backup compression is a very useful feature that does not require any change to the ISV application. For more information about tuning backup compression, see the technical note on Tuning the Performance of Backup Compression in SQL Server 2008.

Note: Creating compressed backups is only supported in SQL Server 2008 Enterprise and Developer editions; however, every SQL Server 2008 edition can restore a compressed backup.

3  Transparent Data Encryption

In most cases, organizations do well at securing their active data via the use of firewalls, physical security, and tightly controlled access policies. However, when the physical media such as the backup tape or disk on which the data resides is compromised, the above security measures are of no use, since a rogue user can simply restore the database and get full access to the data.

SQL Server 2008 offers a solution to this problem by way of Transparent Data Encryption (TDE). TDE performs real-time I/O encryption and decryption of the data and log files using a database encryption key (DEK). The DEK is a symmetric key secured by using a certificate stored in the master database of the server, or an asymmetric key protected by an Extensible Key Management (EKM) module.TDE is designed to protect data ‘at rest’; this means that the data stored in the .mdf, .ndf, and .ldf files cannot be viewed using a hex editor or some other such means. However, data that is not at rest, such as the results of a select statement in SQL Server Management Studio, continues to be visible to users who have rights to view the table. TDE should not be confused with column-level encryption, which is a separate feature that allows encryption of data even when it is not at rest.Encrypting a database is a one-time process that can be initiated via a Transact-SQL command and is executed as a background thread. You can monitor the encryption/decryption status using thesys.dm_database_encryption_keys dynamic management view (DMV).

In a lab test we conducted we were able to encrypt a 100-gigabyte (GB) database using the AES_128 encryption algorithm in about one hour. While the overheads of using TDE are largely dictated by the application workload, in some of the testing we conducted, the overhead was measured to be less than 5%.

One point worth mentioning is when backup compression is used to compress an encrypted database, the size of the compressed backup is larger than if the database were not encrypted; this is because encrypted data does not compress well.

TDE enables organizations to meet the demands of regulatory compliance and overall concern for data privacy.

TDE is only supported in the SQL Server 2008 Enterprise and Developer editions, and it can be enabled without changing an existing application.

4  Data Collector and Management Data Warehouse

Performance tuning and troubleshooting is a time-consuming task that usually requires deep SQL Server skills and an understanding of the database internals. Windows® System monitor (Perfmon), SQL Server Profiler, and dynamic management views helped with some of this, but they were often too intrusive or laborious to use, or the data was too difficult to interpret.

To provide actionable performance insights, SQL Server 2008 delivers a fully extensible performance data collection and warehouse tool also known as the Data Collector. The tool includes several out-of-the-box data collection agents, a centralized data repository for storing performance data called management data warehouse (MDW), and several precanned reports to present the captured data. The Data Collector is a scalable tool that can collect and assimilate data from multiple sources such as dynamic management views, Perfmon, Transact-SQL queries, etc., using a fully customizable data collection and assimilation frequency.  The Data Collector can be extended to collect data for any measurable attribute of an application. For example, in our lab test we wrote a custom Data Collector agent job (40 lines of code) to measure the processing throughput of the workload.

The diagram below depicts a typical Data Collector report.

Data Collector

The Performance data collection and warehouse feature is supported in all editions of SQL Server 2008.

5  Lock Escalation

Lock escalation has often caused blocking and sometimes even deadlocking problems for many ISV applications. Previous versions of SQL Server permitted controlling lock escalation (trace flags 1211 and 1224), but this was only possible at an instance-level granularity. While this helped some applications work around the problem, it caused severe issues for others. Another problem with the SQL Server 2005 lock escalation algorithm was that locks on partitioned tables were directly escalated to the table level, rather than the partition level.

SQL Server 2008 offers a solution for both these issues. A new option has been introduced to control lock escalation at a table level. If an ALTER TABLE command option is used, locks can be specified to not escalate, or to escalate to the partition level for partitioned tables. Both these enhancements help improve the scalability and performance without having negative side-effects on other objects in the instance. Lock escalation is specified at the database-object level and does not require any application change. It is supported in all editions of SQL Server 2008.

6   Plan Freezing

SQL Server 2005 enabled greater query performance stability and predictability by providing a new feature called plan guides to enable specifying hints for queries that could not be modified directly in the application (for more information, see the white paper Forcing Query Plans). While a very powerful feature, plan guides were often cumbersome to use due to the sensitivity of the plan guides to the formatting, and only supported SELECT DML operations when used in conjunction the USE PLAN query hint.

SQL Server 2008 builds on the plan guides mechanism in two ways: it expands the support for plan guides to cover all DML statements (INSERT, UPDATE, DELETE, MERGE), and introduces a new feature,Plan Freezing, that can be used to directly create a plan guide (freeze) for any query plan that exists in the SQL Server plan cache, for example:

sp_create_plan_guide_from_handle

@name =  N'MyQueryPlan',

@plan_handle = @plan_handle,

@statement_start_offset = @offset;

A plan guide created by either means have a database scope and are stored in the sys.plan_guidestable. Plan guides are only used to influence the query plan selection process of the optimizer and do not eliminate the need for the query to be compiled. A new function sys.fn_validate_plan_guidehas also been introduced to validate existing SQL Server 2005 plan guides and ensure their compatibility with SQL Server 2008. Plan freezing is available in the SQL Server 2008 Standard, Enterprise, and Developer editions.

7  Optimize for Ad hoc Workloads Option

Applications that execute many single use ad hoc batches (e.g., nonparameterized workloads) can cause the plan cache to grow excessively large and result in reduced efficiency. SQL Server 2005 offered the Parameterization Forced database option to address such scenarios, but that sometimes resulted in adverse side-effects on workloads that had a large skew in the data and had queries that were very sensitive to the underlying data.

SQL Server 2008 introduces a new option, optimize for ad hoc workloads, which is used to improve the efficiency of the plan cache. When this option is set to 1, the SQL Server engine stores a small stub for the compiled ad hoc plan in the plan cache instead of the entire compiled plan, when a batch is compiled for the first time. The compiled plan stub is used to identify that the ad hoc batch has been compiled before but has only stored a compiled plan stub, so that when this batch is invoked again the database engine compiles the batch, removes the compiled plan stub from the plan cache, and replaces it with the full compiled plan.

This mechanism helps to relieve memory pressure by not allowing the plan cache to become filled with large compiled plans that are not reused. Unlike the Forced Parameterization option, optimizing for ad hoc workloads does not parameterize the query plan and therefore does not result in saving any processor cycles by way of eliminating compilations. This option does not require any application change and is available in all editions of SQL Server 2008.

8  Resource Governor

Maintaining a consistent level of service by preventing runaway queries and guaranteeing resources for mission-critical workloads has been a challenge for SQL Server. In the past there was no way of guaranteeing a certain amount of resources to a set of queries and prioritizing the access; all queries had equal access to all the available resources.

SQL Server 2008 introduces a new feature, Resource Governor, which helps address this issue by enabling users to differentiate workloads and allocate resources as they are requested. The Resource Governor limits can easily be reconfigured in real time with minimal impact on the workloads that are executing. The allocation of the workload to a resource pool is configurable at the connection level, and the process is completely transparent to the application.

The diagram below depicts the resource allocation process. In this scenario three workload pools (Admin workload, OLTP workload, and Report workload) are configured, and the OLTP workload pool is assigned a high priority. In parallel two resource pools (Admin pool and Application pool) are configured with specific memory and processor (CPU) limits as shown. As final steps, the Admin workload is assigned to the Admin pool, and the OLTP and Report workloads are assigned to the Application pool.

Resource Governor

Below are some other points you need to consider when using resource governor:

·         Since Resource Governor relies on login credentials, host name, or application name as a resource pool identifier, most ISV applications that use a single login to connect multiple application users to SQL Server will not be able to use Resource Governor without reworking the application. This rework would require the application to utilize one of the resource identifiers from within the application to help differentiate the workload.

·         Database-level object grouping, in which the resource governing is done based on the database objects being referenced, is not supported.

·         Resource Governor only allows resource management within a single SQL Server instance. For multiple instances. Windows System Resource Manager should be considered.

·         Only processor and memory resources can be configured. I/O resource cannot be controlled.

·         Dynamically switching workloads between resource pools once a connection is made is not possible.

·         Resource Governor is only supported in SQL Server 2008 Enterprise and Developer editions and can only be used for the SQL Server database engine; SQL Server Analysis Services (SSAS), SQL Server Integration Services (SSIS), and SQL Server Reporting Services (SSRS) cannot be controlled.

9  Table-Valued Parameters

Often one of the biggest problems ISVs encountered while developing applications on earlier versions of SQL Server was the lack of an easy way to execute a set of UPDATE, DELETE, INSERT operations from a client as a single batch on the server. Executing the set of statements as singleton operations resulted in a round trip from the client to the server for each operation and could result in as much as a 3x slowdown in performance.

SQL Server 2008 introduces the table-valued parameter (TVP) feature, which helps resolve this problem. Using the new TVP data type, a client application can pass a potentially unlimited sized array of data directly from the client to the server in a single-batch operation. TVPs are first-class data types and are fully supported by the SQL Server tools and SQL Server 2008 client libraries (SNAC 10 or later). TVPs are read-only, implying that they can only be used to pass array-type data into SQL Server; they cannot be used to return array-type data.

The graph below plots the performance of executing a batch of insert statements using a parameter array (sequence of singleton operations) vs. executing the same batch using a TVP. For batches of 10 statements or less, parameter arrays perform better than TVPs. This is due to the one-time overhead associated with initiating the TVP, which outweighs the benefits of transferring and executing the inserts as a single batch on the server.

However, for batches larger than 10 statements, TVPs outperform parameter arrays, because the entire batch is transferred to the server and executed as a single operation. As can be seen in the graph for a batch of 250 inserts the amount of time taken to execute the batch is 2.5 times more when the operations are performed using a parameter array versus a TVP. The performance benefits scale almost linearly and when the size of the batch increases to 2,000 insert statements, executing the batch using a parameter array takes more than four times longer than using a TVP.

TVP Graph

TVPs can also be used to perform other functions such as passing a large batch of parameters to a stored procedure. TVPs are supported in all editions of SQL Server 2008 and require the application to be modified.

10  Filestream

In recent years there has been an increase in the amount of unstructured data (e-mail messages, documents, images, videos, etc.) created. This unstructured data is often stored outside the database, separate from its structured metadata. This separation can cause challenges and complexities in keeping the data consistent, managing the data, and performing backup/restores.

The new Filestream data type in SQL Server 2008 allows large unstructured data to be stored as files on the file system. Transact-SQL statements can be used to read, insert, update and manage the Filestream data, while Win32® file system interfaces can be used to provide streaming access to the data. Using the NTFS streaming APIs allows efficient performance of common file operations while providing all of the rich database services, including security and backup. In our lab tests we observed the biggest performance advantage of streaming access when the size of binary large objects (BLOBs) was greater than 256 kilobytes (KB). The Filestream feature is initially targeted to objects that do not need to be updated in place, as that is not yet supported.

Filestream is not automatically enabled when you install or upgrade SQL Server 2008. You need to enable it by using SQL Server Configuration Manager and SQL Server Management Studio. Filestream requires a special dedicated filegroup to be created to store the Filestream (varbinary(max)) data that has been qualified with the Filestream attribute. This filegroup points to an NTFS directory on a file system and is created similar to all the other filegroups. The Filestream feature is supported in all editions of SQL Server 2008, and it requires the application to be modified to leverage the Win32 APIs (if required) and to migrate the existing varbinary data.

SQL Server 2008 is a significant release that delivers many new features and key improvements, many of which have been designed specifically for ISV workloads and require zero or minimal application change.

This article presented an overview of only the top-10 features that are most applicable to ISV applications and help resolve key ISV problems that couldn’t easily be addressed in the past. For more information, including a full list of features and detailed descriptions, see SQL Server Books Online and the SQL Server web site.

 

Published Nov 24 2008, 01:24 PM by Burzin

Filed under: Maintenance, Query, Performance, OLTP, Table Valued Parameters, Transparent Data Encryption, Backup Compression, Filestream, Resource Governor, Encryption, Data Compression, MDW, Data Collector, TDE, Compression, Statistics


출처 : http://sqlcat.com/top10lists/archive/2008/11/24/top-10-sql-server-2008-features-for-isv-applications-burzin.aspx

'Brain Trainning > DataBase' 카테고리의 다른 글

Categories of DMOs  (0) 2010.07.16
SQL Server 2005 DBCC Command Quick Reference  (0) 2010.07.16
SQL Server 2008 T-SQL Enhancements  (0) 2010.07.14
SQL Patch 정보  (0) 2010.06.18
MSSql 2005 SP 적용  (0) 2010.06.18
posted by LifeisSimple