SQLServer移動資料檔案
SQLServer 移動資料檔案
一
二 移動系統資料庫
一
在 SQL Server 中,透過在 語句的 FILENAME 子句中指定新的檔案位置,可以將使用者資料庫中的資料、日誌和全文目錄檔案移動到新位置。 此方法適用於在同一 SQL Server 例項中移動資料庫檔案。 若要將資料庫移動到另一個 SQL Server 例項或另一臺伺服器上,請使用 或 。
將資料庫chenjch 檔案遷移到同一伺服器其他目錄;
1. 離線準備遷移的資料庫。
--- 先全備資料庫
use master ;
--- 執行 offline 命令之前,確保 chenjch 資料庫沒有任何連線,否則會被阻塞;
ALTER DATABASE chenjch SET OFFLINE ;
2. 將檔案移動到新位置 。
SELECT name , physical_name AS CurrentLocation , state_desc
FROM sys . master_files
WHERE database_id = DB_ID ( N'chenjch' );
---手動 移動檔案到指定目錄下
3. 對於已移動的每個檔案 , 請執行以下語句 。
ALTER DATABASE chenjch MODIFY FILE ( NAME = chenjch , FILENAME = 'D:\sqlserver2012\data\chenjch\chenjch.mdf' );
--- 檔案 'chenjch' 在系統目錄中已修改。新路徑將在資料庫下次啟動時使用。
ALTER DATABASE chenjch MODIFY FILE ( NAME = chenjch_log , FILENAME = 'D:\sqlserver2012\data\chenjch\chenjch_log.ldf' );
--- 檔案 'chenjch_log' 在系統目錄中已修改。新路徑將在資料庫下次啟動時使用。
4. 執行以下語句 。
ALTER DATABASE chenjch SET ONLINE ;
5. 透過執行以下查詢來驗證檔案更改 。
SELECT name , physical_name AS CurrentLocation , state_desc
FROM sys . master_files
WHERE database_id = DB_ID ( N'chenjch' );
use chenjch
select count (*) from t1 ; ---100
二 移動系統資料庫
2.1 移動 master 資料庫
SELECT name , physical_name AS CurrentLocation , state_desc
FROM sys . master_files
WHERE database_id = DB_ID ( N'master' );
將
D:\sqlserver2012\0\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf
D:\sqlserver2012\0\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf
移動到
D:\sqlserver2012\data\master\ master.mdf
D:\sqlserver2012\data\master\ DATA\mastlog.ldf
1 在 “ 開始 ” 選單中 , 依次指向 “ 所有程式 ” 、 “ Microsoft SQL Server ” 和 “ 配置工具 ” , 然後單擊 “ SQL Server 配置管理器 ” 。
2 在 “ SQL Server 服務 ” 節點中 , 右鍵單擊 SQL Server 例項 ( 如 SQL Server ( MSSQLSERVER ) ), 並選擇 “ 屬性 ” 。
3 在 “ SQL Server ( instance_name ) 屬性 ” **** 對話方塊中 , 單擊 “ 啟動引數 ” 選項卡 。
4 在 “ 現有引數 ” 框中 , 選擇 – d 引數以移動 master 資料檔案 。 單擊 “ 更新 ” 以儲存更改 。
在 “ 指定啟動引數 ” 框中 , 將該引數更改為 master 資料庫的新路徑 。
5 在 “ 現有引數 ” 框中 , 選擇 – l 引數以移動 master 日誌檔案 。 單擊 “ 更新 ” 以儲存更改 。
在 “ 指定啟動引數 ” 框中 , 將該引數更改為 master 資料庫的新路徑 。
資料檔案的引數值必須跟在 - d 引數的後面 , 日誌檔案的引數值必須跟在 - l 引數的後面 。
將
-dD:\sqlserver2012\0\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf
改成
-dD:\sqlserver2012\data\master\ master.mdf
將
-lD:\sqlserver2012\0\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf
改成
-lD:\sqlserver2012\data\master\mastlog.ldf
6 透過右鍵單擊例項名稱並選擇 “ 停止 ” 來停止 SQL Server 例項 。
7 將 master . mdf 和 mastlog . ldf 檔案移動到新位置 。
手動複製檔案到新的目錄
8 重新啟動 SQL Server 例項 。
9 透過執行以下查詢 , 驗證 master 資料庫的檔案更改 。
SELECT name , physical_name AS CurrentLocation , state_desc
FROM sys . master_files
WHERE database_id = DB_ID ( 'master' );
10 此時 SQL Server 應正常執行 。 但是 Microsoft 建議還調整 HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Microsoft SQL Server\ instance_ID\ Setup 處的登錄檔項 , 其中 instance_ID 類似於 MSSQL13 . MSSQLSERVER 。 在該配置單元中 , 將 SQLDataRoot 值更改為新路徑 。 未能更新登錄檔可能會導致修補和升級失敗 。
……
遷移問題:
一 無法找到檔案
確保修改路徑已經生效,保路徑和名稱正確;
二 拒絕訪問
許可權問題
遷移後的檔案,
右鍵 --- 屬性 --- 安全 ---Authenticated Users--- 完全控制
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2157762/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 線上移動資料檔案
- ORACLE移動資料檔案Oracle
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- SQLserver 監控資料檔案SQLServer
- Oracle 資料檔案移動步驟Oracle
- 移動Oracle資料檔案的方法Oracle
- 在Oracle中移動資料檔案Oracle
- 在ORACLE移動資料庫檔案Oracle資料庫
- oracle中移動控制檔案、資料檔案、日誌檔案Oracle
- 移動資料檔案從ASM到檔案系統ASM
- 資料檔案,表空間的移動
- 在ASM Diskgroup間移動資料檔案ASM
- 移動資料檔案,平衡磁碟負載負載
- 在ORACLE中移動資料庫檔案Oracle資料庫
- 通過移動資料檔案來均衡檔案I/O
- 透過移動資料檔案來均衡檔案I/O
- 在Oracle中移動資料檔案、控制檔案和日誌檔案Oracle
- Sqlserver移動檔案路徑move datafile的三種方法SQLServer
- 移動資料檔名中含有特殊字元的資料檔案方法字元
- 資料檔案遷移
- 12c pdb線上移動資料檔案或者重新命名資料檔案
- oracle 修改資料檔案位置(路徑)(移動)Oracle
- Oracle資料庫新增和移動控制檔案Oracle資料庫
- Oracle 移動資料檔案的操作方法Oracle
- 移動資料庫物理檔案 Move Physical Files資料庫
- 在ORACLE中移動資料庫檔案(轉)Oracle資料庫
- 還原sqlserver資料庫備份檔案.bak的檔案SQLServer資料庫
- 移動資料檔案從檔案系統到ASM磁碟組中ASM
- sqlserver中無ldf檔案附加資料庫SQLServer資料庫
- Sqlserver資料庫使用 .bak 檔案還原資料庫SQLServer資料庫
- 資料檔案的遷移
- oracle 資料檔案遷移Oracle
- oracle資料檔案遷移Oracle
- 表空間online移動資料檔案
- dataguard之邏輯備庫移動資料檔案
- 在ORACLE中移動資料庫檔案在(轉)Oracle資料庫
- 移動檔案
- 移動資料檔案、系統表空間檔案、臨時表空間檔案