aşağıda kod parçacığı ben SQL Profiler çıkarılan budur. Daha az kullanışlı sütunları kaldırmak için biraz değiştirdim. Kod şimdi aşağıdaki Sütun bir satır verir:
-
- MasterDBPath
- MasterDBLogPath
- IsFullTextInstalled ErrorLogPath
- RootDirectory
- IsCaseSensitive
- MaxPrecision
- VersionString (örneğin 10.50. 2500.0)
- Edition (ör. Geliştirici Sürümü (64-bit))
- ProductLevel (örn SP1)
- IsSingleUser
- EngineEdition (örn 3)
- Harmanlama (örn Latin1_General_CI_AS)
- NetName IsClustered (örneğin ev sahibi ismi)
- BuildClrVersionString (örn v2.0.50727)
iyi şanslar.
declare @RegPathParams sysname
declare @Arg sysname
declare @Param sysname
declare @MasterPath nvarchar(512)
declare @LogPath nvarchar(512)
declare @ErrorLogPath nvarchar(512)
declare @n int
select @n=0
select @RegPathParams=N'Software\Microsoft\MSSQLServer\MSSQLServer'+'\Parameters'
select @Param='dummy'
while(not @Param is null)
begin
select @Param=null
select @Arg='SqlArg'+convert(nvarchar,@n)
exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', @RegPathParams, @Arg, @Param OUTPUT
if(@Param like '-d%')
begin
select @Param=substring(@Param, 3, 255)
select @MasterPath=substring(@Param, 1, len(@Param) - charindex('\', reverse(@Param)))
end
else if(@Param like '-l%')
begin
select @Param=substring(@Param, 3, 255)
select @LogPath=substring(@Param, 1, len(@Param) - charindex('\', reverse(@Param)))
end
else if(@Param like '-e%')
begin
select @Param=substring(@Param, 3, 255)
select @ErrorLogPath=substring(@Param, 1, len(@Param) - charindex('\', reverse(@Param)))
end
select @[email protected]+1
end
declare @SmoRoot nvarchar(512)
exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath', @SmoRoot OUTPUT
SELECT CAST(FULLTEXTSERVICEPROPERTY('IsFullTextInstalled') AS bit) AS [IsFullTextInstalled], @LogPath AS [MasterDBLogPath], @MasterPath AS [MasterDBPath], @ErrorLogPath AS [ErrorLogPath], @SmoRoot AS [RootDirectory], CAST(case when 'a' <> 'A' then 1 else 0 end AS bit) AS [IsCaseSensitive], @@MAX_PRECISION AS [MaxPrecision], SERVERPROPERTY(N'ProductVersion') AS [VersionString], CAST(SERVERPROPERTY(N'Edition') AS sysname) AS [Edition], CAST(SERVERPROPERTY(N'ProductLevel') AS sysname) AS [ProductLevel], CAST(SERVERPROPERTY('IsSingleUser') AS bit) AS [IsSingleUser], CAST(SERVERPROPERTY('EngineEdition') AS int) AS [EngineEdition], convert(sysname, serverproperty(N'collation')) AS [Collation], CAST(SERVERPROPERTY('IsClustered') AS bit) AS [IsClustered], CAST(SERVERPROPERTY(N'MachineName') AS sysname) AS [NetName], SERVERPROPERTY(N'BuildClrVersion') AS [BuildClrVersionString]
ancak giriş kullanıyorsunuz? Benim durumumda, kullanıcı veritabanlarımdan farklı bir dizinde master/msdb/model veritabanlarım var ..... –
"sürekli olarak diğer veritabanlarının yanı sıra" sorusundan çıkmış olduğum şey.O, varsayılan veri dizini çözümün belirtildiği marc_s olarak nasıl bulacağını sormadı. Gerçekten 2 farklı sorun IMO gibi geliyor. Uyguladığım birkaç durumda, performans verileri için farklı veritabanlarını barındıran birden çok sürücüye sahip olmalıyız; bu durumda, varsayılan veri dizini, çoğu durumda bu durum için kötü bir seçimdir. –
karışıklık için özür dilerim. Kötü bir şekilde ifade edildi ve varsayılan veri dizininin hemen ardından bu cevap aynı şekilde geçerliydi. Teşekkürler – Dolbz