Estou planejando mover os arquivos de log dos bancos de dados ReportServer
, ReportServerTempDB
, tempDB
e msdb
para uma nova unidade. Mas parece que as permissões não são copiadas com os diretórios e arquivos; devo me preocupar em movê-los? (Ou é exagero?)
Peter's questions
Temos um aplicativo que cria Agendas SSRS 2 vezes ao ano e cria uma para cada um de nossos clientes.
Cada agendamento resulta em um trabalho do SQL Agent com um GUID como nome e descrição 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.
.
Os agendamentos são executados apenas uma vez e depois acumulam poeira.
Existe alguma maneira de remover todos os trabalhos antigos e informações sobre os agendamentos no banco de dados do SSRS?
Estou um pouco confuso. O TRUNCATEONLY
parâmetro foi alterado no SQL 2012 ou a documentação está errada no SQL 2008 R2?
2008 R2
Libera todo o espaço livre no final do arquivo para o sistema operacional, mas não executa nenhuma movimentação de página dentro do arquivo. O arquivo de dados é reduzido apenas até a última extensão alocada. target_percent será ignorado se especificado com TRUNCATEONLY.
TRUNCATEONLY é aplicável apenas a arquivos de dados. Os arquivos de log não são afetados.
A última declaração me faz pensar que isso não tem nenhum efeito nos arquivos de log?
2012
Libera todo o espaço livre no final do arquivo para o sistema operacional, mas não executa nenhuma movimentação de página dentro do arquivo. O arquivo de dados é reduzido apenas até a última extensão alocada. target_percent será ignorado se especificado com TRUNCATEONLY.
TRUNCATEONLY afeta o arquivo de log. Para truncar apenas o arquivo de dados, use DBCC SHRINKFILE.
A última declaração agora me diz que afeta apenas o arquivo de log?
Então, a funcionalidade foi alterada ou há um erro na documentação ou minha interpretação está errada?
Se eu executar a seguinte consulta em nosso servidor de produção:
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
Minhas principais consultas são "criar procedimento ......." isso significa que o servidor sql recompila esse procedimento armazenado mais de uma vez?