Оптимизация Sql баз и серверов
1 ответов494 просмотровСейчас просматривают: 1
· 20.01.2009, 12:58
Основная информация находится здесь
Цитата
1) msdn.com
2) sql.ru
2) sql.ru
Процедура реиндекса на базе lin2world. Это стандартная процедура оптимизации. Рекомендуется при созрастающем Pending Write
Цитата
USE [lin2world]
GO
/****** Object: StoredProcedure [dbo].[lin_Reindex] Script Date: 10/07/2006 06:00:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[lin_Reindex]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE TableCursor
END
GO
/****** Object: StoredProcedure [dbo].[lin_Reindex] Script Date: 10/07/2006 06:00:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[lin_Reindex]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE TableCursor
END
Запуск этой процедуры
Цитата
DECLARE @RC int
EXECUTE @RC = [lin2world].[dbo].[lin_Reindex]
EXECUTE @RC = [lin2world].[dbo].[lin_Reindex]
Некоторые рекомендации общего характера
Цитата
1. Базы на отдельный хард (отдельный шлейф если IDE). Несколько крупных баз разделять на разные диски.
2. Совершенно нету смысла ростить логи транзакций, если дамп базы (BackUp) идет каждый день. Сам дамп следует выполнять в момент пониженной нагрузки на базу (ночью часиков в 5-6 утра либо при выключенном сервере lineage). Это просто уменьшит вероятность задержки запросов lineage в этот момент.
3. Считаю, что незачем выращивать Lin2log. Можно каждые месяц дампить базу и очищать ее. Для чтения логов из бекапа использовать отдельную машинку с MSSql.
4. Запускать переиндексацию базы время от времени (раз в неделю).
5. Не слать из тупых админок кривые запросы .
6. При супер толстой базе не плохо выполнять дефраг.
2. Совершенно нету смысла ростить логи транзакций, если дамп базы (BackUp) идет каждый день. Сам дамп следует выполнять в момент пониженной нагрузки на базу (ночью часиков в 5-6 утра либо при выключенном сервере lineage). Это просто уменьшит вероятность задержки запросов lineage в этот момент.
3. Считаю, что незачем выращивать Lin2log. Можно каждые месяц дампить базу и очищать ее. Для чтения логов из бекапа использовать отдельную машинку с MSSql.
4. Запускать переиндексацию базы время от времени (раз в неделю).
5. Не слать из тупых админок кривые запросы .
6. При супер толстой базе не плохо выполнять дефраг.
Бекап баз
Цитата
MSSQL2005
Backup MSSQL DataBases:
Если вы не можете настроить бэкап баз и вы не знаете как и сидите без света в танке с завареным люком то:
1. У вас должна стоять MSSQL2005
2. При установке MSSQL2005 вы должны не забыть были установить такой компонент как Integration Service
3. Заходите в MS SQL Server Management Studio далее Management далее Maintenance Plans
жмёте правой кнопкой по Maintenance Plan Wizard и дальше там всё оч просто.
4. Не забудьте включить в сервисах SQL Agent
p.S.
Разновидности бэкапов!
1. Full Backup (Полный Бэкап) - Когда делается полный снимок базы данных.
2. Diffirent Backup (Дифиринциальный Бэкап) - Когда делается снимок базы того что накопилось с последнего полного бэкапа до настоящего времени. Рекомендую сохранять два этих вида бэкапов на первое время и в один файл для каждого из бэкапов.
Так же обязательно сделайте в свойствах каждой базы данных Simple вместо Full
Backup MSSQL DataBases:
Если вы не можете настроить бэкап баз и вы не знаете как и сидите без света в танке с завареным люком то:
1. У вас должна стоять MSSQL2005
2. При установке MSSQL2005 вы должны не забыть были установить такой компонент как Integration Service
3. Заходите в MS SQL Server Management Studio далее Management далее Maintenance Plans
жмёте правой кнопкой по Maintenance Plan Wizard и дальше там всё оч просто.
4. Не забудьте включить в сервисах SQL Agent
p.S.
Разновидности бэкапов!
1. Full Backup (Полный Бэкап) - Когда делается полный снимок базы данных.
2. Diffirent Backup (Дифиринциальный Бэкап) - Когда делается снимок базы того что накопилось с последнего полного бэкапа до настоящего времени. Рекомендую сохранять два этих вида бэкапов на первое время и в один файл для каждого из бэкапов.
Так же обязательно сделайте в свойствах каждой базы данных Simple вместо Full
От себя посоветую эту ссылку
http://msdn.microsoft.com/ru-ru/library/bb...35(SQL.90).aspx
— You're an amateur
0
Тема закрыта для ответов

