資料庫在使用一段時間後,時常會出現因數據刪除而造成資料庫中空閑空間太多的情況,這時就需要減少分配給資料庫文件和事務日誌文件的磁碟空間,以免浪費磁碟空間。當資料庫中沒有數據時,可以修改資料庫文件屬性直接改變其佔用空間,但當資料庫中有數據時,這樣做會破壞資料庫中的數據,因此需要族納使用壓縮的方式來縮減資料庫空間。可以在資料庫屬性選項中選擇「Autoshrink」選項,讓系統自動壓縮資料庫,也可以用人工的方法來壓縮。人工壓縮資料庫有以下兩種方式:
1、用EnterpriseManager壓縮資料庫
在EnterpriseManager中在所要壓縮的資料庫上單擊右鍵,從快捷菜單中的「所有任務(AllTasks)」中選擇「ShrinkDatabase(壓縮資料庫)」選項
、用Transact-SQL命令壓縮資料庫
可以使用DBCC和DBCCSHRINKFILE命令來壓縮資料庫。其中DBCC命令對資料庫進行壓縮,DBCCSHRINKFILE命令對資料庫中指定的文件進行壓縮。
(1)DBCC
DBCC命令語法如下:
DBCC(database_name[,target_percent]
[,{NOTRUNCATE|}])
各參數說明如下:
target_percent指定將資料庫壓縮後簡穗頃,未使用的空間占資料庫大小的百分之幾。如果指定的百分比過大,超過了壓縮前未使用空間所佔的比例,則資料庫不會被壓縮。並且壓縮後的資料庫不能比資料庫初始設定的容量小。
NOTRUECATE
將資料庫縮減後剩餘的空間保留在資料庫,中不返還給操作系統。如果不選擇此選項,則剩餘的空間返還給操作系統。
將資料庫縮減後剩餘的空間返還給操作系統。使用此命令時SQLServer將文件縮減到最後一個文件分配,區域但不移動任何數據文件。選擇此項後,target_percent選項就無效了。
壓縮資料庫mytest的未使用空間為資料庫大小的20%。
db(mytest,20)
運行結果如下:
DBCCexecutioncompleted.IfDBCCprintederrormessages,contactyoursystem.
(2)DBCCSHRINKFILE
DBCCSHRINKFILE命令壓縮當前資料庫中的文件。其語法如下:
DBCCSHRINKFILE({file_name|file_id}
{[,target_size]|
[,{EMPTYFILE|NOTRUNCATE|}]})
各參數說明如下:
file_id
指定要壓縮的文件的鑒別號(number,即ID)。文件的ID號可以通過FILE_ID()函數或如本章前面所講述的Sp_helpdb系統存儲過程來得到。
target_size
指定文件壓縮後的大小。以MB為單位。如果不指定此選項,SQLServer就會盡最大可能地縮減文件。
EMPTYFILE
指明此文件不再使用,將移動所有在此文件中攔陸的數據到同一文件組中的其它文件中去。執行帶此參數的命令後,此文件就可以用ALTERDATABASE命令來刪除了。
其餘參數NOTRUNCATE和與DBCC命令中的含義相同。
例6-15:壓縮資料庫mydb中的資料庫文件mydb_data2的大小到1MB。usemydbdbshrinkfile(mydb_data2,1)
Ⅱ SQL的表怎麼保存在u盤中 以便下次繼續使用
一、備份資料庫
1、打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server
2、SQL Server組-->雙擊打開你的伺服器-->雙擊打開資料庫目錄
3、選擇你的資料庫名稱(如論壇資料庫Forum)-->然後點上面菜單中的工具-->選擇備份資料庫
4、備份選項選擇完全備份,目的中的備份到如果原來有路徑和名稱則選中名稱點刪除,然後點添加,如果原來沒有路徑和名稱則直接選擇添加,接著指定路徑和文件名,指定後點確定返回備份窗口,接著點確定進行備份
二、還原資料庫
1、打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server
2、SQL Server組-->雙擊打開你的伺服器-->點圖標欄的新建資料庫圖標,新建資料庫的名字自行取
3、點擊新建好的資料庫名稱-->然後點上面菜單中的工具-->選擇恢復資料庫
4、在彈出來的窗口中的還原選項中選擇從設備-->點選擇設備-->點添加-->然後選擇你的備份文件名-->添加後點確定返回,這時候設備欄應該出現您剛才選擇的資料庫備份文件名,備份號默認為1(如果您對同一個文件做過多次備份,可以點擊備份號旁邊的查看內容,在復選框中選擇最新的一次備份後點確定)-->然後點擊上方常規旁邊的選項按鈕
5、在出現的窗口中選擇在現有資料庫上強制還原,以及在恢復完成狀態中選擇使資料庫可以繼續運行但無法還原其它事務日誌的選項。在窗口的中間部位的將資料庫文件還原為這里要按照你SQL的安裝進行設置(也可以指定自己的目錄),邏輯文件名不需要改動,移至物理文件名要根據你所恢復的機器情況做改動,如您的SQL資料庫裝在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那麼就按照您恢復機器的目錄進行相關改動改動,並且最後的文件名最好改成您當前的資料庫名(如原來是zw0001.mdf,現在的資料庫是zw0002,就改成zw0002.mdf),日誌和數據文件都要按照這樣的方式做相關的改動(日誌的文件名是.ldf結尾的),這里的恢復目錄您可以自由設置,前提是該目錄必須存在(如您可以指定d:\sqldata\zw0002.mdf或者d:\sqldata\zw0002.ldf),否則恢復將報錯
6、修改完成後,點擊下面的確定進行恢復,這時會出現一個進度條,提示恢復的進度,恢復完成後系統會自動提示成功,如中間提示報錯,請記錄下相關的錯誤內容並詢問對SQL操作比較熟悉的人員,一般的錯誤無非是目錄錯誤或者文件名重復或者文件名錯誤或者空間不夠或者資料庫正在使用中的錯誤,資料庫正在使用的錯誤您可以嘗試關閉所有關於SQL窗口然後重新打開進行恢復操作,如果還提示正在使用的錯誤可以將SQL服務停止然後重起看看,至於上述其它的錯誤一般都能按照錯誤內容做相應改動後即可恢復
Ⅲ SQL資料庫如何壓縮
可以使用DBCC
SHRINKDATABASE
和DBCC
SHRINKFILE
命令來壓縮資料庫。
其中DBCC
SHRINKDATABASE
命令對資料庫進行壓縮,DBCC
SHRINKFILE
命令對資料庫中指定的文件進行壓縮。
DBCC
SHRINKDATABASE
命令語法如下:
DBCC
SHRINKDATABASE
(database_name
[,
target_percent]
[,
{NOTRUNCATE
|
TRUNCATEONLY}]
)
各參數說明如下:
target_percent:
指定將資料庫壓縮後,未使用的空間占資料庫大小的百分之幾。如果指定的百分比過大,超過了壓縮前未使用空間所佔的比例,則資料庫不會被壓縮。並且壓縮後的資料庫不能比資料庫初始設定的容量小。
NOTRUECATE:
將資料庫縮減後剩餘的空間保留在資料庫,中不返還給操作系統
,如果不選擇此選項,則剩餘的空間返還給操作系統。
TRUNCATEONLY
:
將資料庫縮減後剩餘的空間返還給操作系統。使用此命令時SQL
Server
將文件縮減到最後一個文件分配,區域但不移動任何數據文件。選擇此項後,target_percent
選項就無效了。
Ⅳ SQL的表怎麼保存在u盤中 以便下次繼續使用
先把資料庫建好之後,找到放數據的文件夾,停掉服務管理器,
再把資料庫COPY,放到你U盤裡面,到另外一台電腦時,打開企業管理器,連接本地,右鍵附加資料庫,選擇mdf後綴名,點擊附加;就OK了
Ⅳ SQL SERVER 2005資料庫中的文件怎麼拷貝在U盤里
兩種方法:
1、在「SQL
Server
配置管理器」中將你的SQL
SERVER服務停止,然後將你安裝資料庫文件中的data文件夾下的
你的資料庫名.mdf和你的資料庫名.ldf文件夾拷給別人,最後拿到該文件的人,直接在mssql2005的「SQL
Server
Management
Studio」工具中,用附加資料庫的方式添加即可。
2、在你電腦上的「SQL
Server
Management
Studio」工具中找到你要用來傳的資料庫名,在上面點右鍵--任務--備份資料庫。為其指定一個目錄後,點保存。之後會生成一個文件,你直接將該文件拷貝給你要給的人。拿到這個備份文件的人,首先要在他電腦的「SQL
Server
Management
Studio」工具中新建一個空資料庫,且該資料庫名要和你電腦上的那個名稱一致,最後在這個資料庫名上點右鍵--任務--還原--資料庫,選中剛才的那個備份文件,點確定也可以還原
[引用]我找到mdf和idf文件,但是發的時候出現圖片上那個問題,謝謝了[/引用]
要先在「SQL
Server
配置管理器」中將你的SQL
SERVER服務停止,才能進行拷貝
Ⅵ sql怎麼導入u盤數據
從A復制數據友虛庫到B一般使用兩種方法:
1:
(1)在A上打開資料庫,在資料庫右鍵點擊備份,找一個地方(如桌面或U盤),打上文件名(不用後綴),如mysql,備份即可。
(2)打文件拷到B,打開B的資料庫,創建一個資料庫mysql,右鍵選擇還原,先在左邊第三個標簽下選擇在A上備份的數據,然後在第一個標簽下右邊選擇覆蓋。
(3)點擊還原,注意,有時候第一遍不會成功,要從頭重復操作兩次才會成功;有時候,資料庫的版本會有問題,如express版和企業版
2:
(1)直接在A中好簡燃找到資料庫文件一個mdf,一個日誌文咐高件,復制到U盤(有時會復制不成功,這時候可能需要關掉資料庫)
(2)在B上打開資料庫,選擇「附加」資料庫即可。
Ⅶ SQL資料庫如何壓縮
1、首先從開始菜單著手,打開開始菜單欄,在菜單欄上找到我們已經安裝的SQL server 2008,單擊打開它。
Ⅷ 我在sql中做的資料庫和表如何把它拷到我的U盤中去
你好!
這個很容易,
1、把右下角的sql
server服務管理器關掉
2、復制資料庫文件到改碼你的u盤(最少是兩個文件啊)
使用的時候:
在使用的時候,使用附加資料庫的方法就行旁消了
我的回答你還滿意運殲知嗎~~
Ⅸ SQL資料庫如何壓縮
具體方法有3種。
方法一:
第一步:
backup
log
database_name
with
no_log
或者
backup
log
database_name
with
truncate_only
--
no_log和truncate_only是在這里是同義的,隨便執行哪一句都可以。
第二步:
1.收縮特定資料庫的所有數據和日誌文件,執行:
dbcc
shrinkdatabase
(database_name,[,target_percent])
--
database_name是要收縮的資料庫名稱;target_percent是資料庫收縮後的資料庫文件中所要的剩餘可用空間百分比。
2.收縮一次一個特定資料庫中的數據或日誌文件,執行
dbcc
shrinkfile(file_id,[,target_size])
--
file_id是要收縮的文件的標識
(id)
號,若要獲得文件
id,請使用
file_id
函數或在當前資料庫中搜索
sysfiles;target_size是用兆位元組表示的所要的文件大小(用整數表示)。如果沒有指定,dbcc
shrinkfile
將文件大小減少到默認文件大小。兩個dbcc都可以帶上參數notruncate或truncateonly,具體意思查看聯機幫助.
方法二:
第一步:
先備份整個資料庫以備不測
。
第二步:
備份結束後,在query
analyzer中執行如下的語句:
exec
sp_detach_db
yourdbname,true
--卸除這個db在mssql中的注冊信息
第三步:
到日誌的物理文件所在的目錄中去刪除該日誌文件或者將該日誌文件移出該目錄
第四步:
在query
analyzer中執行如下的語句:
exec
sp_attach_single_file_db
yourdbname,'
d:\mssql\data\yourdbname_data.mdf
'
--以單文件的方式注冊該db,如果成功則mssql將自動為這個db生成一個500k的日誌文件。
方法三:
1.
進入企業管理器,選中資料庫,比如demo
2.
所有任務->分離資料庫
3.
到資料庫文件的存放目錄,將muonline_log.ldf文件刪除,以防萬一,你可以拷出去
4.
企業管理器->附加資料庫,選muonline,這個時候你會看見日誌文件這項是一個叉,不要緊,繼續,此時資料庫就會提示你該資料庫無日誌是否創建一個新的,確定就是了。
5.
記得資料庫重新附加後用戶要重新設置一下。
如果以後,不想要它變大:
sql2000下使用:
在資料庫上點右鍵->屬性->選項->故障恢復-模型-選擇-簡單模型。
或用sql語句:
alter
database
資料庫名
set
recovery
simple
Ⅹ 如何將SQLserver移動到u盤
SQL Server本身沒有移動的需要,我想你說的是數據移到U盤吧。非常簡單,在要企業管理器中,選擇你要移走的資料庫,選擇屬性看一下數據文件的位置,記下來。然後在要移動的資料庫商右擊所有任務》分離資料庫》確定後分離成功打開資料庫所在的目錄將資料庫拷貝出來就可以了再目標機器上附加資料庫就可以了同樣打開企業管理器》資料庫 右擊 所有任務》附加資料庫