SQL Server:如何选择安装路径?
我知道有一个变量、函数或存储过程可用于查找SQL Server的安装路径: e、 g: 或SQL Server:如何选择安装路径?,sql,sql-server,Sql,Sql Server,我知道有一个变量、函数或存储过程可用于查找SQL Server的安装路径: e、 g: 或 实际上,我希望选择默认备份路径。但是,由于我怀疑它是否存在,所以我将把\BACKUP添加到安装路径上,并称之为足够接近 更新一 当你运行这个程序时会发生什么 select filename from sysaltfiles where name = db_name() 如果要查看主数据库所在的位置,请将db_name()更改为“master”执行以下操作以检查注册表,以找到相应的键 Declare
实际上,我希望选择默认备份路径。但是,由于我怀疑它是否存在,所以我将把\BACKUP添加到安装路径上,并称之为足够接近
更新一
当你运行这个程序时会发生什么
select filename from sysaltfiles
where name = db_name()
如果要查看主数据库所在的位置,请将db_name()更改为“master”执行以下操作以检查注册表,以找到相应的键
Declare @Path as varchar(100);
Set @Path = NULL
Exec master..xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\70\Tools\ClientSetup', 'SQLPath', @Path OUTPUT
Select @Path as [Sql Server 7.0 path]
Set @Path = NULL
Exec master..xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup', 'SQLPath', @Path OUTPUT
Select @Path as [Sql Server 2000 path]
Set @Path = NULL
Exec master..xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup', 'SQLPath', @Path OUTPUT
Select @Path as [Sql Server 2005 path]
Set @Path = NULL
Exec master..xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\ClientSetup', 'SQLPath', @Path OUTPUT
Select @Path as [Sql Server KATMAI path]
如何选择安装路径
注意:xp\u instance\u regrad不会读取您指定的注册表项,而是将该注册表项路径转换为您正在运行的特定SQL Server实例的适当路径。换句话说:xp\u重磨在xp\u实例重磨成功时失败
SQL Server安装目录
SQL Server备份目录
这需要知道您当前正在与哪个版本的SQL Server交谈;xp\u实例\u regread+SERVERPROPERTY('ProductVersion')解决了一个问题,即它没有返回正确的内容:“c:\Program Files\Microsoft SQL Server\80\Tools”与“c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL”没有返回任何内容。将结果添加到OPThis中真是太棒了。很好的问题和答案。您缺少“END”,所以我添加了它,格式化了代码,并将其放入代码块中。
select filename from sysaltfiles
where name = db_name()
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 'sysaltfiles'.
select filename from master.dbo.sysaltfiles
where name = db_name()
filename
----------------
(0 row(s) affected)
select filename from sysaltfiles
where name = db_name()
Declare @Path as varchar(100);
Set @Path = NULL
Exec master..xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\70\Tools\ClientSetup', 'SQLPath', @Path OUTPUT
Select @Path as [Sql Server 7.0 path]
Set @Path = NULL
Exec master..xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup', 'SQLPath', @Path OUTPUT
Select @Path as [Sql Server 2000 path]
Set @Path = NULL
Exec master..xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup', 'SQLPath', @Path OUTPUT
Select @Path as [Sql Server 2005 path]
Set @Path = NULL
Exec master..xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\ClientSetup', 'SQLPath', @Path OUTPUT
Select @Path as [Sql Server KATMAI path]
declare @rc int, @dir nvarchar(4000)
exec @rc = master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE',
N'Software\Microsoft\MSSQLServer\Setup',
N'SQLPath',
@dir output, 'no_output'
select @dir AS InstallationDirectory
declare @rc int, @dir nvarchar(4000)
exec @rc = master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE',
N'Software\Microsoft\MSSQLServer\MSSQLServer',
N'BackupDirectory',
@dir output, 'no_output'
select @dir AS BackupDirectory
CREATE FUNCTION Fn_sqlservertoolsdir()
returns NVARCHAR(4000)
AS
BEGIN
DECLARE @rc INT,
@dir NVARCHAR(4000),
@key NVARCHAR(4000)
SET @key = N'Software\Microsoft\Microsoft SQL Server\' + Replace(Cast(Serverproperty('ProductVersion') AS CHAR(2)), '.', '') + '0' + '\Tools\ClientSetup'
EXEC @rc = master.dbo.Xp_regread
N'HKEY_LOCAL_MACHINE',
@key,
N'Path',
@dir output,
'no_output'
RETURN @dir
END