SQL2008刪除所有資料表指令碼

2021-08-26 13:31:44 字數 938 閱讀 3979

應用場景:公升級access資料庫到mssql資料庫,id自增需要調整為跟access資料庫中的自增欄位一樣的編號,導致需要不斷的新增記錄跟刪除表重新測試.

技術要點:sql游標和變數使用。

注意場合:請注意刪除前一定要做資料庫備份,刪除資料後會導致資料庫中所有的資料表和表中的記錄資料丟失,沒備份千萬不要嘗試,刪除資料的後果請讀者自負。

操作步驟:請執行指令碼前一定要選中要刪除的資料庫,然後執行下面** 中的指令碼

**如下:

declare @currenttablename nvarchar(100)

declare @currenttableobjectid int

declare @deletetablesqlstring nvarchar(1000)

--select * from sys.all_objects where type='u' ;

declare tb cursor local for select name,object_id from sys.all_objects where type='u' ;

open tb

fetch next from tb into @currenttablename,@currenttableobjectid

while @@fetch_status=0

begin

set @deletetablesqlstring='drop table '+@currenttablename

exec sp_executesql @deletetablesqlstring;

print '刪除資料表'+@currenttablename +'完成'

fetch next from tb into @currenttablename,@currenttableobjectid

endclose tb

deallocate tb

SQL2008資料表空間大小查詢指令碼

盡量少用觸發器,否則資料庫增長很快,特別是關於登陸的資料表字段不要用出發器,一周左右能使得資料庫增長1g的空間.資料庫表空間大小查詢指令碼 if exists select from sys.objects where object id object id n dbo data and type ...

sql2008資料備份和還原,資料表匯出匯入

匯出備份 backup database testdb to disk d 資料庫遷移備份 testdb.bak 還原資料庫 restore database testdb from disk d program files microsoft sql server mssql10 50.mssql...

SQL批量刪除語句,SQL刪除所有資料

sp msforeachtable delete from execute sp msforeachtable truncate table 定義游標 declare tables cursor cursor for select name from sysobjects where type u ...