我有一个带有 5 个实例的生产盒。
版本:SQL Server 2014 SP3 企业版。
我发现即使机器分配了大约 400GB 的内存,所有 5 个实例的组合MAX MEMORY设置也小于 200GB。
实例不会受到内存压力的影响,但是由于我们已经分配了该内存,所以不使用它是一种浪费。
我想将其增加到更高的值,为操作系统保留 10%(某些实例的分配将高于其他实例)。
不过,我以前从来没有对这个设置做过这么大的增加。
我知道这是一个不需要重启的动态设置,但是,我想知道以下几点:
我们没有启用内存设置中的锁定页面,也没有启用跟踪标志 834。
我正在使用 SQL Server 2008 Sp3
最近我在 SQL 日志中遇到错误:
错误:18059,严重性:20,状态:1
。连接已被删除,因为打开它的主体随后假定了一个新的安全上下文,然后尝试在其模拟的安全上下文下重置连接。不支持此方案。请参阅联机丛书中的“模拟概述”。
我通过 Profiler 找到了相关的原始服务器和应用程序。
我搜索并发现有人说我需要更改应用程序连接字符串中的连接池。
以下是相关Web.Config
文件:
<?xml version="1.0"?>
<appSettings>
<add key="Main.ConnectionString" value="Data Source=db-002\db2;Initial
Catalog=APPDB;TRUSTED_CONNECTION=YES"/>
<add key="ConnectionHash" value="==QMr1meolHO3YWdTNFOzcTO"/>
<add key="Database" value="[APPDB]"/>
<add key="UseApprole" value="True"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
我在我们的测试环境中将其更改为以下内容:
<?xml version="1.0"?>
<appSettings>
<add key="Main.ConnectionString" value="Data Source=db-002\db2;Initial
Catalog=APPDB;TRUSTED_CONNECTION=YES;Pooling=false"/>
<add key="ConnectionHash" value="==QMr1meolHO3YWdTNFOzcTO"/>
<add key="Database" value="[APPDB]"/>
<add key="UseApprole" value="True"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
我已经重置了应用程序、服务和 IIS。检查应用程序,它的工作原理。
有一段时间我没有再收到这些错误,但 3 小时后它们又恢复了。
谁能给我一个想法我能做什么?
我们有许多 SSRS 报告定时订阅(SQL Server 2008R2 SP4)。我们的一位报告开发人员尝试删除报告订阅,但出现以下错误:
报表服务器数据库中出现错误。这可能是由于数据库中的连接失败、超时或磁盘空间不足造成的。(rsReportServerDatabaseError) 获取联机帮助 DELETE 语句与 REFERENCE 约束“FK_ReportSchedule_Subscriptions”冲突。冲突发生在数据库“ReportServer”、表“dbo.ReportSchedule”、“SubscriptionID”列中。该语句已终止。
我通过从ReportServer.dbo.ReportSchedule表中手动删除计划记录解决了这个问题。
步骤如下:
1、找到需要删除的相关订阅。
SELECT sub.SubscriptionID,
rs.ScheduleID,
SUB.[Description]
,SUB.EventType
,SUB.DeliveryExtension
,SUB.LastRunTime
FROM dbo.Subscriptions AS SUB
INNER JOIN dbo.Users AS USR ON SUB.OwnerID = USR.UserID
INNER JOIN dbo.ReportSchedule AS RS ON SUB.Report_OID = RS.ReportID
AND SUB.SubscriptionID = RS.SubscriptionID
WHERE SUB.Description like '%**Mail reciepient here**%'
ORDER BY sub.Description
Run Code Online (Sandbox Code Playgroud)
2. 找到防止记录被删除的相关时间表。
SELECT [ScheduleID]
,[ReportID]
,[SubscriptionID]
,[ReportAction]
FROM [ReportServer].[dbo].[ReportSchedule]
WHERE SubscriptionID = '**GUID HERE**'
Run Code Online (Sandbox Code Playgroud)
3.备份表
SELECT *
INTO [ReportServer].[dbo].[ReportScheduleBackup]
FROM [ReportServer].[dbo].[ReportSchedule] …
Run Code Online (Sandbox Code Playgroud)