创建数据库 - 如何找到默认数据目录?

Mar*_*ram 5 c# sql-server create-table

我希望能够使用我在这里找到的代码在我的C#WinForm应用程序中创建一个数据库.

但我需要找到一种方法来获取该特定SQL Server实例的默认数据目录.我想知道是否有一种简单的方法来实现这一点,可以在各种版本的SQL Server上使用.

提前致谢.


编辑

我发现以下Select将返回远程服务器上的默认数据目录:

SELECT 
    SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
FROM master.sys.master_files 
WHERE database_id = 1 
    AND file_id = 1
Run Code Online (Sandbox Code Playgroud)

此解决方案仅适用于SQL Server 2005+.

**

小智 0

这适用于 SQL 2000+

SELECT SUBSTRING(filename, 1, CHARINDEX(N'master.mdf', LOWER(filename)) - 1)
FROM master.dbo.sysdatabases
WHERE name = 'master'
Run Code Online (Sandbox Code Playgroud)