我计划将数据库ReportServer
、ReportServerTempDB
、tempDB
和的日志文件移动msdb
到新驱动器。但似乎权限并没有随目录和文件一起复制;我应该费心把它们搬过来吗?(或者这是矫枉过正?)
Peter's questions
我们有一个应用程序每年创建 2 次 SSRS 计划,它确实为我们的每个客户创建了一个。
每个计划都会产生一个 SQL 代理作业,其中 GUID 作为名称和描述This job is owned by a report server process. Modifying this job could result in database incompatibilities. Use Report Manager or Management Studio to update this job.
。
计划只运行一次,然后只收集灰尘。
有什么方法可以删除所有旧作业和有关 SSRS 数据库中的日程安排的信息?
我有点困惑。SQL 2012 中的参数是否已TRUNCATEONLY
更改,或者 SQL 2008 R2 中的文档是否错误?
2008 R2
将文件末尾的所有可用空间释放给操作系统,但不执行文件内的任何页面移动。数据文件仅收缩到最后分配的范围。如果使用 TRUNCATEONLY 指定,则忽略 target_percent。
TRUNCATEONLY 仅适用于数据文件。日志文件不受影响。
最后一条语句让我觉得这对日志文件根本没有影响?
2012
将文件末尾的所有可用空间释放给操作系统,但不执行文件内的任何页面移动。数据文件仅收缩到最后分配的范围。如果使用 TRUNCATEONLY 指定,则忽略 target_percent。
TRUNCATEONLY 影响日志文件。要仅截断数据文件,请使用 DBCC SHRINKFILE。
最后一条语句现在告诉我它只影响日志文件?
那么功能是否发生了变化,或者文档中是否存在错误,或者我的解释是否错误?
如果我在我们的生产服务器上运行以下查询:
SELECT DISTINCT TOP 10
t.TEXT QueryName,
s.execution_count AS ExecutionCount,
s.max_elapsed_time / 100000 AS MaxElapsedTime,
ISNULL(s.total_elapsed_time / s.execution_count, 0) / 100000 AS AvgElapsedTime,
s.creation_time AS LogCreatedOn,
ISNULL(s.execution_count / DATEDIFF(s, s.creation_time, GETDATE()), 0) AS FrequencyPerSec
,s.plan_handle, s.plan_generation_num
FROM sys.dm_exec_query_stats s
CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
ORDER BY
s.max_elapsed_time / 100000 DESC
我的主要查询是“创建过程......”这是否意味着 sql server 重新编译这个存储过程不止一次?