当你安装SQL Server时,安装路径一般如下:C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL。在这个目录下也有数据文件的文件夹和备份文件的文件夹。在SQL Server Management Studio中,你可以改变所有新数据库中的数据和日志文件的默认位置,但是你不能改变备份的默认目录。是否可以改变备份的默认目录,这样就不需要在我每次做一个备份时都指定一个目录呢?
专家解答
这些默认数据文件、日志文件和备份的目录都存储在系统注册表中。正如已经提到的,你可以通过使用SQL Server Management Studio来更改默认数据和日志目录,即右键单击服务器名并且选择属性,打开目录到如下显示的数据库设置页面:
但是如果你搜索数据库设置下的所有页面,你就不会找到任何显示默认备份目录的东西。要找到这些,我们需要在注册表中查看。
如果我们通过REGEDIT或者一些其它的工具打开注册表并且浏览到注册项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.2\MSSQLServer或者类似于你的SQL Server实例的注册项,那么我们会看到以下的信息。下面高亮度的行显示了这个实例中备份的默认目录。
如果你想更改这个值,你可以编辑注册表值并且保存在新的位置中。在这个例子中,让我们把它改成'D:\SQLBackups'。
如果我通过SQL Management Studio做备份并且点击“增加”到一个新的目标文件,下面的截图表明,默认文件夹已经变成'D:\SQLBackups'。
改变注册表的另一种方法是使用扩展的存储过程XP_REGREAD和XP_REGWRITE。
要从注册表中读取这个值,你可以执行以下的命令:
DECLARE @BackupDirectory VARCHAR(100) EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.2\MSSQLServer', @value_name='BackupDirectory', @BackupDirectory=@BackupDirectory OUTPUT SELECT @BackupDirectory |
这个命令会提供以下的输出结果,这是因为我们在注册表中更改了以上目录的值。
如果我们想把这个值改回默认的文件夹,我们可以使用下面的命令。
EXEC master..xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.2\MSSQLServer', @value_name='BackupDirectory', @type='REG_SZ', @value='C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Backup' |
如果我们再次运行这个命令,可以看到这个值已经改变了。
DECLARE @BackupDirectory VARCHAR(100) EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.2\MSSQLServer', @value_name='BackupDirectory', @BackupDirectory=@BackupDirectory OUTPUT SELECT @BackupDirectory |
为了确定SQL Server安装的位置,你可以右键单击服务器名,选择属性。下面标了亮色的根目录会显示相对应的安装实例名称,比如下面高亮度显示的“MSSQL2”,因此你可以知道哪个注册表项需要更改。
这是改变默认路径的所有步骤,这么做你可以为自己节约时间并且更改了默认位置。
http://database.ctocio.com.cn/dbzjdysummary/406/8341406.shtml