国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

用sql語句實現分離和附加數據庫的方法

2024-08-31 00:58:53
字體:
來源:轉載
供稿:網友
對于用Manage Studio自己看著界面操作就可以應付了。
分離數據庫:
對于用存儲過程來分離數據庫,如果發現無法終止用戶鏈接,可以使用ALTER DATABASE命令,并利用一個能夠中斷已存在鏈接的終止選項來把數據庫設置為SINGLE_USER模式,設置為SIGLE_USER代碼如下:
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE下面是分離數據庫的CMD命令
EXEC sp_detach_db DatabaseName一旦一個數據庫分離成功,從SQL Server角度來看和刪除這個數據庫沒有什么區別。
附加數據庫:
對于附加數據庫,可以使用sp_attach_db存儲過程,或者使用帶有FOR ATTACH選項的CREATE DATABASE命令,在SQL Server2005或更高的版本中推薦使用后者,前者是為了向前兼容,它正在逐漸淘汰,而后者更提供更多對文件的控制。
CREATE DATABASE databasename
ON (FILENAME = 'D:/Database/dbname.mdf')
FOR ATTACH | FOR ATTACH_REBUILD_LOG
然而對于這樣的附加,我們要注意幾個地方。因為涉及到重建日志。
1.對于一個讀/寫數據庫,如果含有一個可用的日志文件,無論使用FOR ATTACH ,還是使用FOR ATTACH_REBULD_LOG,都是一樣,都不會對此數據庫重建日志文件。如果日志文件不可用或者物理上沒有該日志文件,使用FOR ATTACH或FOR ATTACH_REBULID_LOG都會重建日志文件,所以如果我們復制一個帶有大量日志文件的數據庫到另一臺服務器中,就可以只復制.mdf文件,不用復制日志文件,然后使用FOR ATTACH_REBULD_LOG選項重建日志。條件是這臺服務器將主要使用或只用改數據庫的副本進行讀操作。
2.對于一個只讀數據庫,就有點區別了,如果日志文件不可用,那么就不能更新主文件,所以也就不能重建日志,因此當我們附加一個只讀數據庫是,必須在FOR ATTACH從句中指定日志文件。
如果使用附加數據庫重建了日志文件。使用FOR ATTACH_REBUILD_LOG會中斷日志備份鏈,進行這種操作之前最好做一次數據庫完全備份。
使用sp_detach_db存儲過程一個好處就是可以保證一個數據庫是被干凈的關閉,那日志文件就不是附加數據庫所必須的,我們可以使用FOR ATTACH_REBUILD_LOG命令重建日志,得到一個最小的日志文件。也算是一種快速收縮一個大日志文件的方法。
Author:興百放
Web:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平舆县| 兰州市| 瓮安县| 平塘县| 湾仔区| 镶黄旗| 贺兰县| 稻城县| 贺兰县| 乌拉特前旗| 望江县| 赣榆县| 酉阳| 肇庆市| 凤城市| 宣城市| 马尔康县| 广灵县| 新龙县| 新巴尔虎右旗| 康马县| 榕江县| 平塘县| 浮梁县| 新绛县| 阿勒泰市| 仁布县| 乌拉特中旗| 成安县| 勐海县| 镇巴县| 松潘县| 夏河县| 金寨县| 中卫市| 武威市| 邢台市| 临泽县| 绥棱县| 新乐市| 六盘水市|