sql2005資料庫附加
因為資料庫附加到2005的時候,
資料庫文件已經自動升級到2005,
所以在2000下是無法再附加的(沒有向上兼容的)直接restore或附加是不行的,
用腳本+導數據肯定沒有問題。
2005轉到2000的步驟步驟
1.
生成for
2000版本的資料庫腳本
2005
的manger
studio
--
打開"對象資源管理器"(沒有的話按F8),
連接到你的實例
--
右鍵要轉到2000的庫
--
任務
--
生成腳本
--
在"腳本向導"的"選擇資料庫"中,
確定選擇的是要轉到2000的庫
--
勾選"為所選資料庫中的所有對象編寫腳本"
--
在接下來的"選擇腳本選項"中,
找到"為伺服器版本編寫腳本"項,
選擇"SQL
Server
2000"
--
其他選項根據需要設置
--
最後把腳本保存到一個
.sql
腳本文件
2.
在2000中創建目標資料庫
在查詢分析器(或2005的manger
studio在打開腳本文件),
連接到SQL
Server
2000,執行上面生成的腳本.以創建一個新的資料庫
3.
將數據從2005導到2000
2005
的manger
studio
--
打開"對象資源管理器"(沒有的話按F8),
連接到你的實例
--
右鍵要轉到2000的庫
--
任務
--
導出數據
--
在"SQL
Server
導入和導出向導"的"選擇數據源"步驟中,
確定選擇的是要導出的數
據庫
--
在"選擇目標"步驟中,
連接到
2000,
並選擇步驟2新建的庫
--
在"選擇源表和源視圖"中,
選擇所有的表
--
最後完成
B. SQL Server2005 附加資料庫的時候報錯 事務日誌已滿
日誌文件滿而造成SQL資料庫無法寫入文件時,可用兩種方法:
一種方法:清空日誌。
1.打開查詢分析器,輸入命令
DUMP TRANSACTION 資料庫名 WITH NO_LOG
2.再打開企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。
另一種方法有一定的風險性,因為SQL SERVER的日誌文件不是即時寫入資料庫主文件的,如處理不當,會造成數據的損失。
1: 刪除LOG
分離資料庫 企業管理器->伺服器->資料庫->右鍵->分離資料庫
2:刪除LOG文件
附加資料庫 企業管理器->伺服器->資料庫->右鍵->附加資料庫
此法生成新的LOG,大小隻有500多K。
注意:建議使用第一種方法。
如果以後,不想要它變大。
SQL2000下使用:
在資料庫上點右鍵->屬性->選項->故障恢復-模型-選擇-簡單模型。
或用SQL語句:
alter database 資料庫名 set recovery simple
另外,如上圖中資料庫屬性有兩個選項,與事務日誌的增長有關:
Truncate log on checkpoint
(此選項用於SQL7.0,SQL 2000中即故障恢復模型選擇為簡單模型)
當執行CHECKPOINT 命令時如果事務日誌文件超過其大小的70% 則將其內容清除在開發資料庫時時常將此選項設置為True
Auto shrink
定期對資料庫進行檢查當資料庫文件或日誌文件的未用空間超過其大小的25%時,系統將會自動縮減文件使其未用空間等於25% 當文件大小沒有超過其建立時的初始大小時不會縮減文件縮減後的文件也必須大於或等於其初始大小對事務日誌文件的縮減只有在對其作備份時或將Truncate log on checkpoint 選項設為True 時才能進行。