Перейти к содержимому

Задача сделать смс оповещение, сколько готово закупок к 8 утра.

Сначала сделаем 1 таблицу. Эта таблица будет темповая.

GO

/****** Object:  Table [dbo].[zakupki]    Script Date: 05/11/2016 16:18:14 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[zakupki](
	[SchedDate] [datetime] NOT NULL,
	[Type_in_schedule] [varchar](16) NOT NULL,
	[рассчитано] [int] NULL,
	[колво строк рассчитано] [int] NULL,
	[кол-во заявок] [int] NULL,
	[колво строк] [int] NULL,
	[заявки с автоутверждением] [int] NULL,
	[колво строк автоутвержд.] [int] NULL,
	[не расчитаные строки] AS [колво строк] - [колво строк рассчитано],
	[не расчитаные заявки] AS [кол-во заявок] - [рассчитано]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

Создадим вторую таблицу. Эта таблица будет архивная… Читать далее

Сбор статистики по заполнению фрагментации индекса на отдельных таблицах

Первым делом создадим табличку куда будет собираться статистика.

 CREATE TABLE kmosk.dbo.reindeks_SALESLINE
  ( [database_id] VARCHAR(max)
      ,[object_id] VARCHAR(max)
      ,[index_id] VARCHAR(max)
      ,[partition_number] VARCHAR(max)
      ,[index_type_desc] VARCHAR(max) 
      ,[alloc_unit_type_desc] VARCHAR(max) 
      ,[index_depth] VARCHAR(max) 
      ,[index_level] VARCHAR(max) 
      ,[avg_fragmentation_in_percent] VARCHAR(max) 
      ,[fragment_count] VARCHAR(max) 
      ,[avg_fragment_size_in_pages] VARCHAR(max) 
      ,[page_count] VARCHAR(max) 
      ,[avg_page_space_used_in_percent] VARCHAR(max) 
      ,[record_count] VARCHAR(max) 
      ,[ghost_record_count] VARCHAR(max) 
      ,[version_ghost_record_count] VARCHAR(max) 
      ,[min_record_size_in_bytes] VARCHAR(max) 
      ,[max_record_size_in_bytes] VARCHAR(max) 
      ,[avg_record_size_in_bytes] VARCHAR(max) 
      ,[forwarded_record_count] VARCHAR(max)
    , vreme datetime NOT NULL DEFAULT GETDATE())
   
       

После этого создадим задание которое будет наполнять табличьку

DECLARE @db_id SMALLINT;
DECLARE @object_id INT;

SET @db_id = DB_ID(N'ax_molniya');
SET @object_id = OBJECT_ID(N'ax_molniya.[dbo].[SALESLINE]');

IF @db_id IS NULL
BEGIN;
    PRINT N'Invalid database';
END;
ELSE IF @object_id IS NULL
BEGIN;
    PRINT N'Invalid object';
END;
Читать далее

обойти ограничение в 4 процессора на hyper-v 2008 r2

Что бы увеличить количесто процессов в гостевой виртуальной машине нужно:

  1. Остановить машину
  2. Пойти по пути где лежит виртуальная машина например (E:\VMS\s0101\s0101\Virtual Machines) в этой папке лежит xml файл с примерным именем (AB1450B1-5F4A-4D80-847B-24C09F36035D)
  3. Нажимаем правой кнопкой на файле и нажимаем изменить
  4. Правим строчку
<processors>
<count type="integer">2</count>

Заместо двойки ставим количество процессоров которое нам нужно.

Тест до

обойти ограничение в 4 процессора на hyper-v 2008 r2

После

обойти ограничение в 4 процессора на hyper-v 2008 r2

Как видим производительность выросла.

Когда не работает монитор активности в MSSQL

ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————
Монитору активности не удается выполнить запросы к серверу
Монитор активности для этого экземпляра будет приостановлен.
Возобновить его работу можно через контекстное меню панели просмотра.

Выполнить команду lodctr /r

Установить ms sql 2005 Enterprise на windows server 2012 srandart 64x

Что бы установить mssql 2005 на сервер 2012 необходимо выполнить следующие действия:

  • Выберите веб-сервер (IIS) Роль
  • Добавьте следующие дополнительные службы ролей веб-сервера (обратите внимание, что некоторые из них будут автоматически подтягивать другие комоненты, просто принять и двигаться дальше):
    • Перенаправление HTTP
    • Проверка подлинности Windows
    • ASP.NET 3.5 (обратите внимание, что вам необходимо указать мастеру, чтобы посмотреть в папке \ Sources \ SxS из установочного диска Windows, 2012 для этого, чтобы правильно установить, просто нажмите на ссылку “Указать альтернативный исходный путь”, прежде чем нажать Установить)
    • IIS 6 Совместимость метабазы
    • IIS 6 Совместимость WMIУстановить ms sql 2005 Enterprise на windows server 2012 srandart 64x

Запустите SQL Server 2005 установку, игнорируя любые предупреждения совместимости

  • Если
Читать далее

Хранимая процедура. Информация о размере выбранной БД MS SQL Server

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[getSpaceUsedSingleDB]
	-- имя БД
	@name nvarchar(24)

AS
BEGIN
	SET NOCOUNT ON
	-- Create a tempory table
	DECLARE @SpaceUsed TABLE
	 (
	  name nvarchar(24), 
	  db_size nvarchar(13),
	  owner nvarchar(24),
	  dbid smallint,
	  created char(11),
	  status varchar(340),
	  compatibility_level tinyint
	  )

	--Populate the table
	INSERT INTO @SpaceUsed EXEC sp_helpdb

	--Select the size of the specified table
	SELECT
	  CONVERT (DECIMAL, REPLACE (db_size, 'MB', ''))
	  AS [size]
	  FROM @SpaceUsed
	  WHERE name = @name
END

Выполнить процедуру

exec [dbo].[getSpaceUsedSingleDB] 'имя базы'

 

Узнать размер базы данных mssql и сделать сенсор в prtg. Мониторим размер базы.

SELECT
--CONVERT(float(
	
	((dbsize + logsize)    * 8192 / 1048576 ) РазмерБазы
FROM
(
 SELECT SUM(CONVERT(real ,CASE WHEN status & 64 = 0 THEN size ELSE 0 END)) dbsize
 , SUM(CONVERT(REAL ,CASE WHEN status & 64 <> 0 THEN size ELSE 0 END)) logsize
 FROM dbo.sysfiles
)
big

Узнать размер базы данных mssql и сделать сенсор в prtg. Мониторим размер базы.

Настройка сенсора в ptrg.

Узнать размер базы данных mssql и сделать сенсор в prtg. Мониторим размер базы.

Как выглядит сенсор

Узнать размер базы данных mssql и сделать сенсор в prtg. Мониторим размер базы.

Сенсор prtg для мониторинга заданий в Symantec Backup Exec.

Создание сенсора в пртг для мониторинга выполнения заданий по резервному копированию в Symantec Backup Exec. Хоть и семантек сам умеет отправлять оповещение по email но у нас в пртг настроено смс оповещение да и более наглядно получается.Сенсор prtg для мониторинга заданий в Symantec Backup Exec.Настройки сенсора Microsoft SQL:

Сенсор prtg для мониторинга заданий в Symantec Backup Exec.

Код запроса:

USE BEDB
SELECT 
	  TOP 1
	 -- JobName,
 FinalJobStatus=
  CASE  FinalJobStatus
  WHEN '6' THEN N'0' --'сбой'
  WHEN '16' THEN N'1'--'отменено'
  WHEN '19' THEN N'2' --Выполнено успешно
  WHEN '3' THEN N'3' --Выполнено с исключениями

  -- Бэкап выполнен с исключениями
  --Cбой
  END
FROM   
       dbo.JobHistorySummary
WHERE         Jobid IN (N'3A0BFD73-CEEF-414C-B0AB-2FC56FFA4105') and IsJobActive not IN ('1')
ORDER BY
       EndTime
       DESC

Запрос что бы … Читать далее