得到sql中的数据库目录.sql

来自「SQL Server 2000/2005非常有用的经典脚本」· SQL 代码 · 共 37 行

SQL
37
字号
/*--得到数据库的文件目录
	
	@dbname 指定要取得目录的数据库名
			如果指定的数据不存在,返回安装SQL时设置的默认数据目录
			如果指定NULL,则返回默认的SQL备份目录名

--邹建 2003.10(引用请保留此信息)--*/

/*--调用示例
	select 数据库文件目录=dbo.f_getdbpath('tempdb')
		,[默认SQL SERVER数据目录]=dbo.f_getdbpath('')
		,[默认SQL SERVER备份目录]=dbo.f_getdbpath(null)
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_getdbpath]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_getdbpath]
GO

create function f_getdbpath(@dbname sysname)
returns nvarchar(260)
as 
begin
	declare @re nvarchar(260)
	if @dbname is null or db_id(@dbname) is null
		select @re=rtrim(reverse(filename)) from master..sysdatabases where name='master'
	else
		select @re=rtrim(reverse(filename)) from master..sysdatabases where name=@dbname

	if @dbname is null
		set @re=reverse(substring(@re,charindex('\',@re)+5,260))+'BACKUP'
	else
		set @re=reverse(substring(@re,charindex('\',@re),260))
	return(@re)
end
go


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?