今天修改SQL SERVER 2012的數據庫默認位置:即數據文件、日志文件默認位置時遇到一個問題,單擊"服務器屬性”(Server PRoperties)——> 數據庫設置(Database Settings), 修改了數據文件和日志的默認路徑。點擊確認后再打開該屬性窗口,居然發現修改的值變回修改前的值了。剛開始我以為是修改沒有生效,沒有修改到注冊表,但是檢查注冊表,在HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Microsoft SQL Server -> MSSQL11.MSSQLSERVER -> MSSQLServer 發現注冊表的值確實已經修改了,但是在"服務器屬性”(Server Properties)——> 數據庫設置(Database Settings)里面的值依然是修改前的值,直到我重啟SQL Server服務后,它的值才變為修改后的值。使用SQL腳本修改數據庫默認位置,依然如此
1:
2: USE [master]
3: GO
4: EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'DefaultData', REG_SZ, N'D:/SQL_DATA'
5: GO
6: EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'DefaultLog', REG_SZ, N'E:/SQL_LOG'
7: GO
為什么會出現這個情況呢? 我的測試環境:操作系統 Windows Server 2008 R2 Standard, 數據庫版本:Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) Oct 19 2012 13:38:57 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
我接下來測試了一下SQL SERVER 2008 的情況,測試環境:操作系統: Win7專業版
數據庫版本: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) ,SQL SERVER 2008下倒是沒有這個問題,修改過后,立即生效,如下所示。不知道這算不算SQL SERVER 2012 的一個bug來的,還是說我OUT了?
1: USE [master]
2:
3: GO
4:
5: EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'DefaultData', REG_SZ, N'D:/MSSQL/SQL_DATA'
6:
新聞熱點
疑難解答