sql-server - 使用 T-SQL 在 Linux 上获取 sql server 默认备份文件夹

标签 sql-server linux t-sql sql-server-2017 sql-server-2019

对于 Windows 上的 SQL Server 来获取默认备份文件夹,我们可以使用 master.dbo.xp_instance_regread:

    DECLARE @HkeyLocal nvarchar(18) = N'HKEY_LOCAL_MACHINE';
    DECLARE @MSSqlServerRegPath nvarchar(31) = N'SOFTWARE\Microsoft\MSSQLServer';
    DECLARE @InstanceRegPath sysname = @MSSqlServerRegPath + N'\MSSQLServer';

    DECLARE @BackupDirectory nvarchar(512)
    if 1=isnull(cast(SERVERPROPERTY('IsLocalDB') as bit), 0)
    SET @BackupDirectory=cast(SERVERPROPERTY('instancedefaultdatapath') as nvarchar(512))
    else
    EXEC master.dbo.xp_instance_regread @HkeyLocal, @InstanceRegPath, N'BackupDirectory', @BackupDirectory OUTPUT;

    SELECT @BackupDirectory AS SQLServerBackupDirectory;

但对于 Linux 来说它不起作用。任何人都可以帮助使用 T-SQL 方法吗(我只找到 SSMS 解决方案 here )?

最佳答案

在 SQL Server v2019 中,Microsoft 增强了 ServerProperty 以公开 InstanceDefaultBackupPath。这里也谈到了同样的事情( https://learningintheopen.org/2020/06/08/sql-server-configuration-default-directories/ )

关于sql-server - 使用 T-SQL 在 Linux 上获取 sql server 默认备份文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55455019/

相关文章:

linux - R 核心转储去哪里了?

android - 在android开发中我应该为<TargetID>放置什么

sql - 使用排列表来填补空白

regex - T SQL 模式或正则表达式,以确保为 varchar 列返回的所有行都严格是字母数字

c# - SQL Server - 注册在尝试完成事务时要运行的用户代码

sql - t-SQL 使用行号,但在重复的行上使用相同的数字

sql - 需要计算百分比

linux - 如何检查文件是否已锁定以写入 perl 而无需再次实际锁定?

sql-server - 在基于分级的税收系统中计算税收的情况

php - 从服务器响应中接收额外信息