sql2008delete
① sql2008 delete 表數據後 資料庫物理大小沒變,該怎麼處理
刪除數據是不會收縮文件的物理空間的。
刪除數據後的空閑空間,將會留給以後數據增長時使用。
如果想要收縮文件的物理空間大小,可以使用收縮資料庫和收縮文件。
對應是DBCC SHRINKDB和DBCC SHRINKFILE兩個命令,具體使用方法請見聯機叢書。
② SQL Server 2008資料庫中的記錄用delete語句刪除後能否恢復
呵呵,如果你有刪除之前做過備份,那麼可以從備份裡面恢復。
如果你的資料庫模式是完全或者大容量日誌,也可能可以恢復,據說可以從日誌中恢復數據,但是,我不知道方法。
一般操作之前,可以先按delete的條件select一次數據,符合要求後再改成delete。或者乾脆先將要delete的數據select
into一張臨時表,檢查無誤後再drop掉臨時表。
③ SQL SERVER 2008數據還原(誤操作delete、update等)
如果你以前有做過全備份,現在再做一個日誌備份。
然後,還原全備 with restore方式,再還原日誌備份到你刪除前的時間點。
你可以還原到一個新資料庫上,然後看一下數據是否還原了,如果還原了,把數據更新到原資料庫的表上就可以了。
④ SQL2008刪除部分數據語句
createtablett10(Nodeidint);
--將1到100插入表中
insertintott10
selectnumberfrommaster.dbo.spt_values
wherenumber>0andnumber<=100andtype='p'
--查看數據
select*fromtt10
⑤ 如何刪除sql server 2008 表的數據
在sql
server
2008management
studio,用相關賬號登錄,找到你所要清空數據的表所在的資料庫,然後選中資料庫右鍵選擇新建查詢,進入查詢界面窗口,選擇輸入以下sql語句就可以了。
如果沒有其他表的外鍵關聯這個表的主鍵,可以用下面的語句(效率比較高)
truncate
table
tablename
如果有的話,就用
delete
from
tablename
⑥ SQL 中delete語句可以刪除表么
sql中delete語句不能刪除表,只能刪除表中的所有行數據。
delete from 表名
想要徹底刪除表,可以用drop語句。
drop 表名
拓展資料:
drop,delete區別
1、drop (刪除表):刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以後要新增數據是不可能的,除非新增一個表。
drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger)索引(index);依賴於該表的存儲過程/函數將被保留,但其狀態會變為:invalid。
2、delete (刪除表中的數據):delete 語句用於刪除表中的行。delete語句執行刪除的過程是每次從表中刪除一行,並且同時將該行的刪除操作作為事務記錄在日誌中保存, 以便進行進行回滾操作。
3、執行速度,一般來說: drop> delete。
4、delete語句是資料庫操作語言(dml),這個操作會放到 rollback segement 中,事務提交之後才生效;如果有相應的 trigger,執行的時候將被觸發。drop 是資料庫定義語言(ddl),操作立即生效,原數據不放到 rollback segment 中,不能回滾,操作不觸發 trigger。
⑦ SQL 2008 觸發器中UPDATE、DELETE
1.CREATE TRIGGER TEST1
ON A FOR UPDATE
AS
DECLARE @A,@B,@C,@D,@E,@F,@G
SELECT @B=B,....@G=G FROM INSERTED WHERE A=@A
UPDATE B SET A=@A,,,,G=@G,[KEY] = 2 WHERE @A=A
GO
2.CREATE TRIGGER TEST2
ON A FOR DELETE
AS
declare @A
SELECT @A = A FROM DELETED
UPDATE B SET [KEY] = 3
GO
第一個我不知道能不能完成你的功能 沒有測試
⑧ sql2008刪除表裡面全部數據
如果這個表沒有被其它表外鍵引用,可以採用一樓的方法:
truncate table shop_one;
如果這個表被其它表外鍵引用,就不能使用truncate table來刪除。只能使用delete 語句。
表有23W行數據,直接用delete from shop_one使得這個事務的時間很長,影響資料庫的並發性能。可以將刪除分成很多個小事務來完成,性能會比較好。
delete top(1000) from shop_one -- 首先刪除1000行
while @@ROWCOUNT = 1000 -- 如果還有數據,就循環刪除操作
delete top(1000) from shop_one; -- 每次最多刪除1000行。
⑨ sql2008 delete觸發器通過應用程序刪除數據時沒有觸發。
解決了,跟應用程序沒有關系,是數據的問題,觸發器的條件沒有滿足,雖然表中數據有變動,但是不在觸發范圍。