Comment puis-je effectuer une optimisation de la performance basée sur l'utilisation si j'exécute SQL Server 2008 Express et utilise SQL Server Management Studio Express?Comment: optimisation des performances basée sur l'utilisation dans SQL Server 2008 Express
1
A
Répondre
1
Les vues de gestion dynamique existent-elles dans SQL Server Express? Essayez d'utiliser sys.dm_exec_query_stats pour voir si vous obtenez un résultat. Si c'est le cas, j'ai des procédures stockées que vous pouvez exécuter pour optimiser les performances. Je vous donne un exemple de l'une des procédures, et je peux en poster d'autres si vous le souhaitez.
CREATE PROCEDURE [ADMIN].[spExecutionTimeStats]
@DBName AS SYSNAME
AS
-- +----------------------------------------------------------------------------------------------------------------
-- ! O b j e c t : ADMIN.spExecutionTimeStats
-- ! R e t u r n s : NONE
-- ! P a r a m e t e r s : Name DataType Description
-- + ======================= ============== ==================================================
-- ! @dbname sysname
-- + ---------------------------------------------------------------------------------------------------------------
-- ! O b j e c t i v e :
-- + ---------------------------------------------------------------------------------------------------------------
-- ! S A M P L E S :
-- ! EXEC ADMIN.spExecutionTimeStats 'DWH'
-- ! EXEC ADMIN.spExecutionTimeStats 'DWH_TOOLKIT'
-- ! EXEC ADMIN.spExecutionTimeStats 'DWH_HISTORY'
-- + ---------------------------------------------------------------------------------------------------------------
-- ! H i s t o r y :
-- + ---------------------------------------------------------------------------------------------------------------
-- ! Date Who What
-- + ========== ===== ========================================================================
-- ! 2009-09-04 HAWI Initial version
-- +----------------------------------------------------------------------------------------------------------------
--DECLARE @DBName AS SYSNAME='DWH'
DECLARE @SQL NVARCHAR(MAX)
SET @SQL='SELECT TOP 100 percent
''' [email protected] +'''AS DBName,
OBJECT_SCHEMA_NAME(s.object_id, DB_ID(''' [email protected] +''')) AS Schema_name,
S.name,
D.execution_count,
D.total_physical_reads,
D.total_logical_reads,
d.total_logical_writes,
d.last_execution_time,
total_elapsed_time_s=convert(money,d.total_elapsed_time)/1000000,
max_elapsed_time_s=convert(money,D.max_elapsed_time)/1000000,
last_elapsed_time_s=convert(money,d.last_elapsed_time)/1000000,
min_elapsed_time_s=convert(money,D.min_elapsed_time)/1000000,
avg_time_s=(convert(money,d.total_elapsed_time)/d.execution_count)/1000000,
d.sql_handle as proc_handle,
stmnt.*
FROM ' + @dbname + '.sys.procedures s
INNER JOIN ' + @dbname + '.sys.dm_exec_procedure_stats d
ON s.object_id = d.object_id
LEFT JOIN
(
SELECT TOP 100 PERCENT
QS.sql_handle,
ROW_NUMBER() OVER(PARTITION BY qs.sql_handle ORDER BY statement_start_offset) AS statement_no,
qs.execution_count,
qs.total_physical_reads,
qs.total_logical_reads,
qs.total_logical_writes,
qs.last_execution_time,
sql_total_elapsed_time_s=convert(money,qs.total_elapsed_time)/1000000,
sql_max_elapsed_time_s=convert(money,qs.max_elapsed_time)/1000000,
sql_last_elapsed_time_s=convert(money,qs.last_elapsed_time)/1000000,
sql_min_elapsed_time_s=convert(money,qs.min_elapsed_time)/1000000,
sql_avg_time_s=(convert(money,qs.total_elapsed_time)/qs.execution_count)/1000000,
SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE QS.statement_end_offset END
- QS.statement_start_offset)/2) + 1) AS statement_text
FROM ' + @dbname + '.sys.dm_exec_query_stats AS QS
CROSS APPLY ' + @dbname + '.sys.dm_exec_sql_text(QS.sql_handle) as ST
) AS stmnt
ON d.sql_handle=stmnt.sql_handle
WHERE
convert(money,d.total_elapsed_time)/d.execution_count/1000000>10
OR
d.last_elapsed_time > (d.total_elapsed_time/d.execution_count)*1.15
ORDER BY avg_time_s DESC;'
PRINT @SQL;
EXEC sp_executeSQL @SQL;
GO
+0
Hakan très intéressant, j'aimerais voir d'autres scripts si vous avez :) – Trapias
Questions connexes
- 1. SQL Server 2005 Express installé après SQL Server 2008 Express
- 2. sql server 2008 express/enterprise
- 3. Comment Bootstrap SQL Server 2008 Express SP1?
- 4. SQL Server 2008: Standard ou SQL Express
- 5. Performances SQL Server Express avec des fichiers journaux volumineux
- 6. Comparaison des performances MySQL et SQL Server Express
- 7. Désactivation de SQL Server 2008 Express
- 8. Optimisation des performances, WebApplication
- 9. Options sur les installations de sql server 2008 express?
- 10. Utilisation limitée de la mémoire de sql server 2008 express?
- 11. Installation de SQL Server Express 2008 côte à côte avec VS2008 et SQL Server Express 2005
- 12. sql server 2005 serveur express et sql 2008 édition développeur
- 13. Optimisation de la suppression sur SQL Server
- 14. Optimisation des performances de Lucene
- 15. SQL Server 2008 Express peut-il exister avec SQL Server 2000 sur le même serveur?
- 16. Synchronisation entre les tables SQL Server 2008 Express et VFP
- 17. SQL Server Date Vérification basée sur l'entrée
- 18. SSIS 2008 sur SQL Server 2005?
- 19. SQL Server 2008 R2
- 20. Comment réinstaller MDAC sur SQL Server 2008?
- 21. Importation de la base de données Sql Server 2005 dans Sql Server express 2008
- 22. Authentification SQL Server dans SQL Server 2008
- 23. C# 2008 Chaîne de connexion SQL Server Express
- 24. SQL Server: Comparaison des performances de l'index
- 25. SQL Server Express Edition question
- 26. ASP classique sur Server 2008 et SQL Server 2008
- 27. Utilisation de SQL Express 2008 avec VS2008?
- 28. Restauration SQL Express 2008 à partir d'une sauvegarde SQL Server 2008
- 29. Optimisation des performances d'un site Web ASP.NET
- 30. Problème de performances SQL Server
pouvez-vous être un peu plus précis? C'est une question très large que vous mettez là-bas ...... –