Действительно ли возможно обработать резервные копии восстановления в пакетном режиме и удалить пользователей из баз данных в 2008 MSSQL?

SQL-сервер хранит статистическую информацию обо всех запросах в различных таблицах. Можно использовать следующий код для определения то, что самый долгий рабочий запрос (от sys.dm_exec_query_stats таблица).

Необходимо выполнить следующие команды DBCC:

Эта команда DBCC очищает кэш сервера и вход перезапусков времени выполнения запроса:

DBCC FREEPROCCACHE

Выполните этот запрос для нахождения самого долгого рабочего запроса:

SELECT DISTINCT TOP 10
 t.TEXT QueryName,
 s.execution_count AS ExecutionCount,
 s.max_elapsed_time AS MaxElapsedTime,
 ISNULL(s.total_elapsed_time / s.execution_count, 0) AS AvgElapsedTime,
 s.creation_time AS LogCreatedOn,
 ISNULL(s.execution_count / DATEDIFF(s, s.creation_time, GETDATE()), 0) AS FrequencyPerSec
 FROM sys.dm_exec_query_stats s
 CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
 ORDER BY
 s.max_elapsed_time DESC
 GO 

Необходимо также смотреть на статью Optimizing SQL Server Query Performance журнала Technet, которая имеет запрос для определения, какой запрос является самым дорогим чтением запрос ввода-вывода, а также руководство о том, как посмотреть на планы выполнения и другую оптимизацию.

0
задан 24 July 2012 в 01:29
1 ответ

Вы, вероятно, увидите пару операторов T-SQL, таких как

RESTORE DATABASE AdventureWorks2012
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
   WITH FILE = 6
      NORECOVERY;

и

USE AdventureWorks2012;
DROP USER AbolrousHazem;
GO

, написанных с помощью чего-то вроде sqlcmd , что соответствует вашим потребностям.

1
ответ дан 4 December 2019 в 21:42

Теги

Похожие вопросы