IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉貼|軟件發(fā)布

您當前所在位置: 首頁數(shù)據(jù)庫Oracle → 遷移數(shù)據(jù)庫文件

遷移數(shù)據(jù)庫文件

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  SQL查詢與修改數(shù)據(jù)庫邏輯文件名,移動數(shù)據(jù)庫存儲路徑示例 收藏

  ----------------------------------------------------------------------------------

  -- Subject: SQL查詢與修改數(shù)據(jù)庫邏輯文件名,移動數(shù)據(jù)庫存儲路徑示例

  ----------------------------------------------------------------------------------

  USE mydb

  GO

  --1.查詢當前數(shù)據(jù)庫的邏輯文件名

  SELECT FILE_NAME(1) AS 'File Name 1', FILE_NAME(2) AS 'File Name 2';

  --或通過以下語句查詢:

  --SELECT name FROM sys.database_files

  /*

  File Name 1?? File Name 2

  ------------------- --------------------

  mydb??? mydb_log

  (1 行受影響)

  */

  --2.修改數(shù)據(jù)文件或日志文件的邏輯名稱

  ALTER DATABASE [mydb]

  MODIFY FILE ( NAME = mydb, NEWNAME = new_mydb )

  ALTER DATABASE [mydb]

  MODIFY FILE ( NAME = mydb_log, NEWNAME = new_mydb_log )

  --查詢更改后的名稱:

  SELECT FILE_NAME(1) AS 'File Name 1', FILE_NAME(2) AS 'File Name 2';

  /*

  File Name 1?? File Name 2

  ------------------- --------------------

  new_mydb????? new_mydb_log

  (1 行受影響)

  */

  --3.若要將數(shù)據(jù)文件或日志文件移至新位置,先OFFLINE把文件MOVE到相應的位置,然后再ONLINE

  --? 詳細參考以下步驟

  --3.1 查詢數(shù)據(jù)文件或日志文件當前存放路徑:

  SELECT physical_name FROM sys.database_files

  /*

  physical_name

  -------------------------------------------------------------------------------------------

  D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\mydb.mdf

  D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\mydb_log.ldf

  (2 行受影響)

  */

  --3.2 移動路徑

  USE [master]

  GO

  --3.2.1 關閉所有進程

  DECLARE @str VARCHAR(500);

  SET @str = '';

  SELECT @str = @str + 'KILL '+RTRIM(spid)+';'+CHAR(13)+CHAR(10)

  FROM master.dbo.sysprocesses

  WHERE dbid=DB_ID('mydb');

  EXEC(@str);

  GO

  --3.2.2 設置數(shù)據(jù)庫脫機

  ALTER DATABASE [mydb] SET? OFFLINE

  GO

  --3.2.3 移動數(shù)據(jù)文件與日志文件(為確保數(shù)據(jù)安全,建議改move為copy,復制成功后再刪除源文件)

  EXEC master..xp_cmdshell 'move "D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\mydb.mdf" "E:\DBTEST"',NO_OUTPUT

  EXEC master..xp_cmdshell 'move "D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\mydb_log.LDF" "E:\DBTEST"',NO_OUTPUT

  GO

  --3.2.4 設置新的存儲路徑

  ALTER DATABASE [mydb] MODIFY FILE (NAME = new_mydb,FILENAME = 'E:\DBTEST\mydb.mdf')

  ALTER DATABASE [mydb] MODIFY FILE (NAME = new_mydb_log,FILENAME = 'E:\DBTEST\mydb_log.ldf')

  GO

  --3.2.5 設置數(shù)據(jù)庫聯(lián)機

  ALTER DATABASE [mydb] SET ONLINE

  GO

  --3.2.6 查詢新的路徑

  USE mydb

  GO

  SELECT physical_name FROM sys.database_files

  /*

  physical_name

  ------------------------------

  E:\DBTEST\mydb.mdf

  E:\DBTEST\mydb_log.ldf

  (2 行受影響)

  */

  如果報"SQL Server 阻止了對組件 'xp_cmdshell' 的 過程'sys.xp_cmdshell' 的訪問

  解決方法:執(zhí)行下面的語句

  -- To allow advanced options to be changed.

  EXEC sp_configure 'show advanced options', 1

  GO

  -- To update the currently configured value for advanced options.

  RECONFIGURE

  GO

  -- To enable the feature.

  EXEC sp_configure 'xp_cmdshell', 1

  GO

  -- To update the currently configured value for this feature.

  RECONFIGURE

  GO

  執(zhí)行完之后就不會再報SQL Server 阻止了對組件 'xp_cmdshell' 的 過程'sys.xp_cmdshell' 的訪問的錯誤了最新回復

關鍵詞標簽:數(shù)據(jù)庫

相關閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務器設置Oracle全文檢索 為UNIX服務器設置Oracle全文檢索

相關下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法