首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 修改預設資料、記錄、備份路徑完整指南

     編輯:關於SqlServer

從登錄庫掌控 SQL Server 預設路徑

SQL Server 安裝時指定的資料/記錄/備份預設路徑,實際儲存在 Windows 登錄機碼中。透過 xp_regread 讀取、xp_regwrite 修改,即可在不重裝執行個體的情況下調整預設路徑,新建資料庫時即自動套用新位置。

查詢目前預設路徑

-- 資料檔預設路徑
DECLARE @DefaultData VARCHAR(100);
EXEC master..xp_regread 
    @rootkey = 'HKEY_LOCAL_MACHINE',
    @key = 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer',
    @value_name = 'DefaultData',
    @DefaultData = @DefaultData OUTPUT;
SELECT @DefaultData AS [資料檔預設路徑];

-- 記錄檔預設路徑
DECLARE @DefaultLog VARCHAR(100);
EXEC master..xp_regread 
    @rootkey = 'HKEY_LOCAL_MACHINE',
    @key = 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer',
    @value_name = 'DefaultLog',
    @DefaultLog = @DefaultLog OUTPUT;
SELECT @DefaultLog AS [記錄檔預設路徑];

-- 備份預設路徑
DECLARE @BackupDirectory VARCHAR(100);
EXEC master..xp_regread 
    @rootkey = 'HKEY_LOCAL_MACHINE',
    @key = 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer',
    @value_name = 'BackupDirectory',
    @BackupDirectory = @BackupDirectory OUTPUT;
SELECT @BackupDirectory AS [備份預設路徑];

修改預設路徑(需 sysadmin 權限)

-- 修改資料檔預設路徑
EXEC master..xp_regwrite
    @rootkey = 'HKEY_LOCAL_MACHINE',
    @key = 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer',
    @value_name = 'DefaultData',
    @type = 'REG_SZ',
    @value = 'D:\SQLData\Data';  -- 修改為目標路徑

-- 修改記錄檔預設路徑
EXEC master..xp_regwrite
    @rootkey = 'HKEY_LOCAL_MACHINE',
    @key = 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer',
    @value_name = 'DefaultLog',
    @type = 'REG_SZ',
    @value = 'D:\SQLData\Log';

-- 修改備份預設路徑
EXEC master..xp_regwrite
    @rootkey = 'HKEY_LOCAL_MACHINE',
    @key = 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer',
    @value_name = 'BackupDirectory',
    @type = 'REG_SZ',
    @value = 'E:\SQLBackup';

關鍵提醒

  1. 執行個體名稱:路徑中的 MSSQL10_50.MSSQLSERVER 為 SQL Server 2008 R2 預設執行個體;具名執行個體或其他版本請至註冊表確認實際機碼名稱(如 MSSQL13.MSSQLSERVER 為 2016)。
  2. 路徑預先存在:目標資料夾必須已建立,且 SQL Server 服務帳戶擁有完整讀寫權限(NTFS 權限)。
  3. 生效時機:修改後 無需重啟服務,下一次 CREATE DATABASE 未指定檔案路徑時即套用新預設值;既有資料庫不受影響。
  4. 備份路徑:僅影響 BACKUP DATABASE ... TO DISK = '...' 未指定完整路徑時的預設資料夾,維護計畫、Agent 作業若寫死路徑則不受影響。
  5. 權限與安全:xp_regwrite 需 sysadmin 固定伺服器角色,生產環境建議納入變更管理流程並備份登錄庫。

替代方案:SSMS 圖形介面

在 SSMS 物件總管 → 伺服器右鍵 → 「屬性」 → 「資料庫設定」 → 「資料庫預設位置」同樣可視化修改,本質同樣寫入上述登錄機碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved