清除所有表記錄,有點像reset,保留constraints與identities.
--disable constraints & triggers
exec sp_msforeachtable 'alter table ? nocheck constraint all'
exec sp_msforeachtable 'alter table ? disable trigger all'
--perform deleteoperation
onall
table
for cleanup
exec sp_msforeachtable 'delete ?'
--enable constraints & triggers again
exec sp_msforeachtable 'alter table ? check constraint all'
exec sp_msforeachtable 'alter table ? enable trigger all'
--reset identityon tables with
identity
column
exec sp_msforeachtable 'if objectproperty(object_id(''?''), '
'tablehasidentity'
') = 1
begin dbcc checkident (''?'',reseed,0) end'
2. 列出db中表的大小,所佔磁碟大小。
createprocedure [dbo].[getdbtablesize]
as
begin
set nocount on;
declare @cmdstr varchar(100)
--createtemporary
table
createtable #temptable
(
[table_name] varchar(50),
row_count int,
table_size varchar(50),
data_space_used varchar(50),
index_space_used varchar(50),
unused_space varchar(50)
)
--create stored procedure string
select @cmdstr = 'sp_msforeachtable ''sp_spaceused "?"'
''
--populate tempoary table
insert into #temptable exec(@cmdstr)
--determine sorting method
select * from #temptable orderby table_name
--delete temporay table
droptable #temptable
end
3.清除指定db的事務日誌。開發過程中我們把db的日誌搞得很大
backup log [mydatabase] with truncate_only
go
dbcc shrinkdatabase ([mydatabase], 10, truncateonly)
go
當然另乙個好主意是要備份它們:
backup
log [mydatabase] todisk = n'c:\backups\mydatabase_log.trn'
with
noformat, noinit, name = n'mydatabase_log', skip, rewind, nounload,
stats = 10
4.列出db中表的數量:
use yourdbname
selectcount(*) from information_schema.tables
where table_type = 'base table'
5.按當前時期備份database,你可以用它當做job來執行。
declare @currentday varchar(10)
set @currentday = datepart(day,getdate())
if len(@currentday) = 1
begin
set @currentday = '0' + @currentday
end
declare @currentmonth varchar(10)
set @currentmonth = datepart(month,getdate())
if len(@currentmonth) = 1
begin
set @currentmonth = '0' + @currentmonth
end
declare @currentyear varchar(10)
set @currentyear = datepart(year,getdate())
declare @filename varchar(100)
set @filename = 'd:\dbbackup\' + @currentyear
+ '_' + @currentmonth + '_' + @currentday + '.bak'
backupdatabase yourdatabase to
disk = @filename with noformat, init,
name = n'mydatabase -full database backup', skip, norewind, nounload, stats = 10
go
author : petter liu
希望對您有幫助。
幾個有用的巨集
分類 c c 1.列印錯誤資訊 如果程式的執行必須要求某個巨集被定義,在檢查到巨集沒有被定義是可以使用 error,warning列印錯誤 警告 資訊,如 ifndef unix error this section will only work on unix systems endif 只有 u...
幾個有用的巨集
1.列印錯誤資訊 如果程式的執行必須要求某個巨集被定義,在檢查到巨集沒有被定義是可以使用 error,warning列印錯誤 警告 資訊,如 ifndef unix error this section will only work on unix systems endif 只有 unix 巨集被...
Xmind幾個有用的技巧
xmind是乙個很好的思維導圖工具,是學習研究總結的好幫手。xmind功能很豐富,這裡只是簡要列出幾個比較有用的技巧。選中乙個xmind元素 專業名詞叫 主題 後,一般在右下角會出現 屬性 如果你不想老是看到單調的格式,一定要善用屬性。具體細節就選中乙個xmind元素,自己試試吧!這個問題曾經讓筆者...