欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用sql語句實(shí)現(xiàn)分離和附加數(shù)據(jù)庫(kù)的方法

 更新時(shí)間:2010年03月13日 12:16:18   作者:  
對(duì)于分離一個(gè)數(shù)據(jù)庫(kù)來說,我們可以用Manage Studio界面或者存儲(chǔ)過程。但是對(duì)于每一種方法都必須保證沒有用戶使用這個(gè)數(shù)據(jù)庫(kù).接下來所講的都是對(duì)于用命令來分離或附加一個(gè)數(shù)據(jù)庫(kù)。
對(duì)于用Manage Studio自己看著界面操作就可以應(yīng)付了。
分離數(shù)據(jù)庫(kù):
對(duì)于用存儲(chǔ)過程來分離數(shù)據(jù)庫(kù),如果發(fā)現(xiàn)無法終止用戶鏈接,可以使用ALTER DATABASE命令,并利用一個(gè)能夠中斷已存在鏈接的終止選項(xiàng)來把數(shù)據(jù)庫(kù)設(shè)置為SINGLE_USER模式,設(shè)置為SIGLE_USER代碼如下:
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE下面是分離數(shù)據(jù)庫(kù)的CMD命令
EXEC sp_detach_db DatabaseName一旦一個(gè)數(shù)據(jù)庫(kù)分離成功,從SQL Server角度來看和刪除這個(gè)數(shù)據(jù)庫(kù)沒有什么區(qū)別。
附加數(shù)據(jù)庫(kù):
對(duì)于附加數(shù)據(jù)庫(kù),可以使用sp_attach_db存儲(chǔ)過程,或者使用帶有FOR ATTACH選項(xiàng)的CREATE DATABASE命令,在SQL Server2005或更高的版本中推薦使用后者,前者是為了向前兼容,它正在逐漸淘汰,而后者更提供更多對(duì)文件的控制。
CREATE DATABASE databasename
ON (FILENAME = 'D:\Database\dbname.mdf')
FOR ATTACH | FOR ATTACH_REBUILD_LOG
然而對(duì)于這樣的附加,我們要注意幾個(gè)地方。因?yàn)樯婕暗街亟ㄈ罩尽?
1.對(duì)于一個(gè)讀/寫數(shù)據(jù)庫(kù),如果含有一個(gè)可用的日志文件,無論使用FOR ATTACH ,還是使用FOR ATTACH_REBULD_LOG,都是一樣,都不會(huì)對(duì)此數(shù)據(jù)庫(kù)重建日志文件。如果日志文件不可用或者物理上沒有該日志文件,使用FOR ATTACH或FOR ATTACH_REBULID_LOG都會(huì)重建日志文件,所以如果我們復(fù)制一個(gè)帶有大量日志文件的數(shù)據(jù)庫(kù)到另一臺(tái)服務(wù)器中,就可以只復(fù)制.mdf文件,不用復(fù)制日志文件,然后使用FOR ATTACH_REBULD_LOG選項(xiàng)重建日志。條件是這臺(tái)服務(wù)器將主要使用或只用改數(shù)據(jù)庫(kù)的副本進(jìn)行讀操作。
2.對(duì)于一個(gè)只讀數(shù)據(jù)庫(kù),就有點(diǎn)區(qū)別了,如果日志文件不可用,那么就不能更新主文件,所以也就不能重建日志,因此當(dāng)我們附加一個(gè)只讀數(shù)據(jù)庫(kù)是,必須在FOR ATTACH從句中指定日志文件。
如果使用附加數(shù)據(jù)庫(kù)重建了日志文件。使用FOR ATTACH_REBUILD_LOG會(huì)中斷日志備份鏈,進(jìn)行這種操作之前最好做一次數(shù)據(jù)庫(kù)完全備份。
使用sp_detach_db存儲(chǔ)過程一個(gè)好處就是可以保證一個(gè)數(shù)據(jù)庫(kù)是被干凈的關(guān)閉,那日志文件就不是附加數(shù)據(jù)庫(kù)所必須的,我們可以使用FOR ATTACH_REBUILD_LOG命令重建日志,得到一個(gè)最小的日志文件。也算是一種快速收縮一個(gè)大日志文件的方法。
Author:興百放
Web:Http://xbf321.cnblogs.com

相關(guān)文章

最新評(píng)論