代码改变世界

SQL SERVER 2012 修改数据库默认位置不立即生效

  潇湘隐者  阅读(14981)  评论(5编辑  收藏  举报

今天修改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)

clipboard

我接下来测试了一下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了?

image

   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:  
   7: GO
   8:  
   9: EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog', REG_SZ, N'E:\MSSQL\SQL_LOG'
  10:  
  11: GO
  12:  

注册表位置:HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQLSERVER\

clipboard[2]

编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2013-03-17 MERGE INTO 性能问题疑问
点击右上角即可分享
微信分享提示