SQLServer 附加和分離數據庫小記

基礎知識

查詢現有數據庫列表

use master
go
select db_name(database_id) as [Database Name],type_desc as [File Type], physical_name as [Database File Location] from sys.master_files

附加數據庫(TSQL)

方法一

USE [master]
GO
create database <DatabaseName> ON
(name='LogicalName of the Data file', FileName='Data File Name'),
(name='LogicalName of the Log file', FileName='Log File Name')
FOR ATTACH;

方法二

USE [master]
GO
EXEC sp_attach_db @dbname = N'DatabaseName',   
    @filename1 =   '<Location of the database file>',   
    @filename2 =   '<Location of the Log file>';

分離數據庫(TSQL)

EXEC sp_detach_db 'AdventureWorks2012', 'true';  

實際應用

實際應用中,如果我們有多個數據庫,我們就需要批量附加,大概的思路如下:

  1. 選擇文件夾,遍歷文件夾下的所有mdf文件,並找到對應的ldf文件
  2. 構造單個的TSQL語句(附加或分離)
  3. 將構造好的TSQL語句執行即可

參考資料:
3. Different methods to attach SQL Server MDF files
4. sp_detach_db (Transact-SQL)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章