使用T-SQL获取/设置服务器备份位置
问题描述:
我试图找到一种方法来使用T-SQL来获取和设置数据库服务器(或命名实例)的备份位置。这相当于使用SSMS右键单击实例名称 - >属性 - >数据库设置。使用T-SQL获取/设置服务器备份位置
我发现你可以使用master.dbo.xp_instance_regread从注册表中查询当前位置;这是最好的方式,如何更新这个位置?
谢谢。
答
看是否有此得到你所需要的:
SELECT physical_device_name, sd.name
FROM msdb..backupmediafamily bmf
INNER JOIN msdb..backupset bms ON bmf.media_set_id = bms.media_set_id
INNER JOIN master..sysdatabases sd ON bms.database_name = sd.name
AND bms.backup_start_date = (SELECT MAX(backup_start_date) FROM [msdb]..[backupset] b2
WHERE bms.database_name = b2.database_name AND b2.type = 'D')
WHERE sd.name NOT IN ('Pubs','tempdb','Northwind', 'Adventureworks')
似乎有不被这样做,而不使用'dbo.xp_instance_regread'的一种方式。看到一些讨论[这里](http://www.sqlservercentral.com/Forums/Topic1319398-1550-1.aspx)。如果你描述SSMS的功能,它也会使用它。 – adrianbanks