car*_*reo 2 sql-server sql-server-2016
在我的数据库错误日志(在这个答案中生成)中,我看到以下查询的许多实例(每天数百个):
声明@HkeyLocal nvarchar(18) 声明@ServicesRegPath nvarchar(34) 声明@SqlServiceRegPath 系统名 声明@BrowserServiceRegPath 系统名 声明@MSSqlServerRegPath nvarchar(31) 声明@InstanceNamesRegPath nvarchar(59) 声明@InstanceRegPath 系统名 声明@SetupRegPath 系统名 声明@NpRegPath 系统名 声明@TcpRegPath 系统名 声明@RegPathParams 系统名称 声明@FilestreamRegPath 系统名 选择@HkeyLocal=N'HKEY_LOCAL_MACHINE' -- 基于实例的路径 选择@MSSqlServerRegPath=N'SOFTWARE\Microsoft\MSSQLServer' 选择@InstanceRegPath=@MSSqlServerRegPath + N'\MSSQLServer' 选择@FilestreamRegPath=@InstanceRegPath + N'\Filestream' 选择@SetupRegPath=@MSSqlServerRegPath + N'\Setup' 选择@RegPathParams=@InstanceRegPath+'\Parameters' - 服务 选择@ServicesRegPath=N'SYSTEM\CurrentControlSet\Services' 选择@SqlServiceRegPath=@ServicesRegPath + N'\MSSQLSERVER' 选择@BrowserServiceRegPath=@ServicesRegPath + N'\SQLBrowser' -- InstanceId 设置 选择@InstanceNamesRegPath=N'SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL' - 网络设置 选择@NpRegPath=@InstanceRegPath + N'\SuperSocketNetLib\Np' 选择@TcpRegPath=@InstanceRegPath + N'\SuperSocketNetLib\Tcp' 声明@SmoAuditLevel int exec master.dbo.xp_instance_regread @HkeyLocal, @InstanceRegPath, N'AuditLevel', @SmoAuditLevel OUTPUT 声明 @NumErrorLogs int exec master.dbo.xp_instance_regread @HkeyLocal、@InstanceRegPath、N'NumErrorLogs'、@NumErrorLogs 输出 声明@SmoLoginMode int exec master.dbo.xp_instance_regread @HkeyLocal, @InstanceRegPath, N'LoginMode', @SmoLoginMode OUTPUT 声明@SmoMailProfile nvarchar(512) exec master.dbo.xp_instance_regread @HkeyLocal、@InstanceRegPath、N'MailAccountName'、@SmoMailProfile 输出 声明@BackupDirectory nvarchar(512) if 1=isnull(cast(SERVERPROPERTY('IsLocalDB') as bit), 0) 选择 @BackupDirectory=cast(SERVERPROPERTY('instancedefaultdatapath') as nvarchar(512)) 别的 exec master.dbo.xp_instance_regread @HkeyLocal, @InstanceRegPath, N'BackupDirectory', @BackupDirectory OUTPUT 声明@SmoPerfMonMode int exec master.dbo.xp_instance_regread @HkeyLocal, @InstanceRegPath, N'Performance', @SmoPerfMonMode OUTPUT 如果@SmoPerfMonMode 为空 开始 设置@SmoPerfMonMode = 1000 结尾 声明 @InstallSqlDataDir nvarchar(512) exec master.dbo.xp_instance_regread @HkeyLocal, @SetupRegPath, N'SQLDataRoot', @InstallSqlDataDir OUTPUT 声明@MasterPath nvarchar(512) 声明@LogPath nvarchar(512) 声明@ErrorLog nvarchar(512) 声明@ErrorLogPath nvarchar(512) select @MasterPath=substring(physical_name, 1, len(physical_name) - charindex('\', reverse(physical_name))) from master.sys.database_files where name=N'master' select @LogPath=substring(physical_name, 1, len(physical_name) - charindex('\', reverse(physical_name))) from master.sys.database_files where name=N'mastlog' 选择@ErrorLog=cast(SERVERPROPERTY(N'errorlogfilename') as nvarchar(512)) 选择@ErrorLogPath=substring(@ErrorLog, 1, len(@ErrorLog) - charindex('\', reverse(@ErrorLog))) 声明@SmoRoot nvarchar(512) exec master.dbo.xp_instance_regread @HkeyLocal, @SetupRegPath, N'SQLPath', @SmoRoot OUTPUT 声明 @ServiceStartMode int EXEC master.sys.xp_instance_regread @HkeyLocal、@SqlServiceRegPath、N'Start'、@ServiceStartMode OUTPUT 声明@ServiceAccount nvarchar(512) EXEC master.sys.xp_instance_regread @HkeyLocal、@SqlServiceRegPath、N'ObjectName'、@ServiceAccount OUTPUT 声明@NamedPipesEnabled int exec master.dbo.xp_instance_regread @HkeyLocal, @NpRegPath, N'Enabled', @NamedPipesEnabled OUTPUT 声明@TcpEnabled int EXEC master.sys.xp_instance_regread @HkeyLocal, @TcpRegPath, N'Enabled', @TcpEnabled OUTPUT 声明@InstallSharedDirectory nvarchar(512) EXEC master.sys.xp_instance_regread @HkeyLocal、@SetupRegPath、N'SQLPath'、@InstallSharedDirectory OUTPUT 声明@SqlGroup nvarchar(512) exec master.dbo.xp_instance_regread @HkeyLocal, @SetupRegPath, N'SQLGroup', @SqlGroup OUTPUT 声明@FilestreamLevel int exec master.dbo.xp_instance_regread @HkeyLocal, @FilestreamRegPath, N'EnableLevel', @FilestreamLevel OUTPUT 声明@FilestreamShareName nvarchar(512) exec master.dbo.xp_instance_regread @HkeyLocal, @FilestreamRegPath, N'ShareName', @FilestreamShareName OUTPUT 声明@cluster_name nvarchar(128) 声明@quorum_type tinyint 声明@quorum_state tinyint 开始尝试 SELECT @cluster_name = cluster_name, @quorum_type = quorum_type, @quorum_state = quorum_state 从 sys.dm_hadr_cluster 结束尝试 开始捕捉 -- 使用包含的身份验证连接查询此 DMV 会引发错误 15562(模块不受信任) --因为服务器缺乏可信度。这是意料之中的,所以我们只是离开 --values 作为默认值 IF(ERROR_NUMBER() 不在 (297,300, 15562)) 开始 扔 结尾 收尾 SELECT @SmoAuditLevel AS [AuditLevel], ISNULL(@NumErrorLogs, -1) AS [NumberOfLogFiles], (case when @SmoLoginMode 'A' then 1 else 0 end AS bit) AS [IsCaseSensitive], @@MAX_PRECISION AS [MaxPrecision], CAST(FULLTEXTSERVICEPROPERTY('IsFullTextInstalled') AS bit) AS [IsFullTextInstalled], 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]、@LogPath AS [MasterDBLogPath]、@MasterPath AS [MasterDBPath]、SERVERPROPERTY('instancedefaultdatapath') AS [DefaultFile]、SERVERPROPERTY('instancedefaultlogpath') AS [DefaultLog]、SERVERPROPERTY(N'ResourceVersion) ') AS [ResourceVersionString], SERVERPROPERTY(N'ResourceLastUpdateDateTime') AS [ResourceLastUpdateDateTime], SERVERPROPERTY(N'CollationID') AS [CollationID], SERVERPROPERTY(N'ComparisonStyle') AS [ComparisonStyle], SERVERPROPERTY(N'SqlCharSet') AS [SqlCharSet], SERVERPROPERTY(N'SqlCharSetName') AS [SqlCharSetName], SERVERPROPERTY(N'SqlSortOrder') AS [SqlSortOrder], SERVERPROPERTY(N'SqlSortOrderName') AS [SqlSortOrderName], SERVERPROPERTY(N'ComputerName AS[SqlSortOrder]) ComputerNamePhysicalNetBIOS], SERVERPROPERTY(N'BuildClrVersion') AS [BuildClrVersionString], @ServiceStartMode AS [ServiceStartMode], ISNULL(@ServiceAccount,N'') AS [ServiceAccount], CAST(@NamedPipesEnabled AS bit) AS [NamedPipesEnabled], CAST(@TcpEnabled AS bit) AS [ TcpEnabled], ISNULL(@InstallSharedDirectory,N'') AS [InstallSharedDirectory], ISNULL(suser_sname(sid_binary(ISNULL(@SqlGroup,N''))),N'') AS [SqlDomainGroup], case when 1=msdb. dbo.fn_syspolicy_is_automation_enabled() 并存在(select * from msdb.dbo.syspolicy_system_health_state where target_query_expression_with_id like 'Server%' )然后 1 else 0 end AS [PolicyHealthState], @FilestreamLevel AS [FilestreamLevel], ISNULL(@Filestream')ShareName,N' AS [FilestreamShareName], -1 AS [TapeLoadWaitTime], CAST(SERVERPROPERTY(N'IsHadrEnabled') AS bit) AS [IsHadrEnabled],SERVERPROPERTY(N'HADRManagerStatus') AS [HadrManagerStatus], ISNULL(@cluster_name, '') AS [ClusterName], ISNULL(@quorum_type, 4) AS [ClusterQuorumType], ISNULL(@quorum_state, 3) AS [ClusterQuorumState], SUSER_SID (@ServiceAccount, 0) AS [ServiceAccountSid], CAST(SERVERPROPERTY('IsPolyBaseInstalled') AS bit) AS [IsPolyBaseInstalled], N'Windows' AS [HostPlatform], CAST( 服务器属性(N'服务器名') AS 系统名称) AS [名称], CAST( ISNULL(serverproperty(N'instancename'),N'') AS sysname) AS [InstanceName], CAST(0x0001 AS int) AS [Status], N'\' AS [PathSeparator], 0 AS [IsContainedAuthentication], CAST(null AS int) AS [ServerType] 删除表#SVer
这些命令来自我的计算机 (DBA) 和开发人员的。对于开发者,它给出了几个权限错误:
对象“server”、数据库“master”上的 VIEW SERVER STATE 权限被拒绝。服务器主体“MYDOMAIN\john.doe”在当前安全上下文下无法访问数据库“model”。 用户“MYDOMAIN\john.doe”登录失败。原因:无法打开明确指定的数据库 'MODEL'。[客户:10.90.90.10] 用户“MYDOMAIN\john.doe”登录失败。
对我来说,它给出了这个错误:
无法删除表“#SVer”,因为它不存在或您没有权限。
我不知道是什么应用程序导致了这些查询,因此不知道这些烦人的错误。通过查看查询,您有什么想法吗?我能做些什么来调查?
这是当您单击instance name
->时运行的查询 SSMS properties
。要确认使用 TSQL 模板启动快速SQL Profiler 跟踪,过滤到您的登录名,然后右键单击服务器名称并选择properties
,您应该会在跟踪中看到相同的查询滚过。它的细节在 SSMS 版本之间有所不同,但它们几乎都坚持相同的基本查询。
这个#Sver
错误很有趣,但不是一个值得关注的关键问题。您是否安装了与 SSMS 集成的任何 3rd 方工具?也许这些也是原因的一部分。
归档时间: |
|
查看次数: |
1598 次 |
最近记录: |