SQLServer移動資料檔案

chenoracle發表於2018-07-12

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' );

SQLServer移動資料檔案

---手動 移動檔案到指定目錄下

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' ); 

SQLServer移動資料檔案

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' );

SQLServer移動資料檔案

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 引數的後面

SQLServer移動資料檔案

-dD:\sqlserver2012\0\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf

改成

-dD:\sqlserver2012\data\master\ master.mdf

SQLServer移動資料檔案

SQLServer移動資料檔案

-lD:\sqlserver2012\0\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

改成

-lD:\sqlserver2012\data\master\mastlog.ldf

SQLServer移動資料檔案

SQLServer移動資料檔案

6 透過右鍵單擊例項名稱並選擇 停止 來停止 SQL Server 例項

SQLServer移動資料檔案

7 master . mdf mastlog . ldf 檔案移動到新位置

手動複製檔案到新的目錄

SQLServer移動資料檔案

8 重新啟動 SQL Server 例項

SQLServer移動資料檔案

9 透過執行以下查詢 驗證 master 資料庫的檔案更改

SELECT name , physical_name AS CurrentLocation , state_desc 

FROM sys . master_files 

WHERE database_id = DB_ID ( 'master' ); 

SQLServer移動資料檔案

10 此時 SQL Server 應正常執行 但是 Microsoft 建議還調整 HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Microsoft SQL Server\ instance_ID\ Setup 處的登錄檔項 其中 instance_ID 類似於 MSSQL13 . MSSQLSERVER 在該配置單元中 SQLDataRoot 值更改為新路徑 未能更新登錄檔可能會導致修補和升級失敗

SQLServer移動資料檔案

……

SQLServer移動資料檔案

 

遷移問題:

無法找到檔案

確保修改路徑已經生效,保路徑和名稱正確;

拒絕訪問

許可權問題

SQLServer移動資料檔案 遷移後的檔案,

右鍵 --- 屬性 --- 安全 ---Authenticated Users--- 完全控制

SQLServer移動資料檔案

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2157762/,如需轉載,請註明出處,否則將追究法律責任。

相關文章