Как уменьшить размер transaction_log?

Для уменьшения размера transaction log в MS SQL Server можно воспользоваться следующими командами:

USE testDB

--Узнаем названия файлов SELECT file_id, name
FROM sys.database_files;

ALTER DATABASE testDB
SET RECOVERY SIMPLE;

--Урезаем размер до 100 Mb DBCC SHRINKFILE(testDB_log, 100)

ALTER DATABASE testDB
SET RECOVERY FULL;

P.S. Для того что бы оценить сколько используется реально места для transaction log выполняем следующие действия в Management Studio <правый крыс> на базу -> Reports -> Standart Reports -> Disk Usage = диаграмма использования дискового пространства.

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Как отфильтровать данные?

Я вижу две принципиальные возможности фильтрации данных:

  1.   На стороне C#
  2.   На стороне БД
More...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Как сбросить автоинкрементное поле в MS SQL и Oracle?

Вот так:

DBCC CHECKIDENT (<Table_Name>, RESEED, 0)

More...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Как сгенерировать параметры для вызова хранимой процедуры?

Сталкивались ли вы с такой ситуацией, когда необходимо вызвать хранимую процедуру, скажем, с 20-ю параметрами? Вы наверняка использовали визуальный компонент студии, все-таки заполнять такое количество параметров в ручную нудно и чревато ошибками. Но что если таких процедур 100? В таком случае даже разместить визуальные SqlCommand будет трудно, не то, что найти нужный элемент.

Но ведь MS SQL знает все названия параметров, полей, таблиц и вообще всего из чего состоит база данных, так почему бы не генерировать, необходимые для вызова хранимой процедуры, параметры непосредственно с помощью системных таблиц?

К статье прикреплён скрипт для создания хранимой процедуры вызвав которую вы получите код на языке C#.

More...

Currently rated 3.0 by 1 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Как передать массив значений в хранимую процедуру ?

С помощью XML.

Например, нам необходимо получить список разрешений для различных ролей, можно обратиться к базе по каждой роле, но затраты ресурсов на десять обращений к хранимой процедуре значительно превышают затраты на одно обращение с передачей десяти параметров.


Сначала формируем строку из XML тегов с нашими данными:

//Формирование xml для пердачи коллекции ролей в хранимую процедуру
string xmlRoles    =    "<root>";
foreach (UserRole role in roles)
{
       xmlRoles    +=    "<role id=\"" + role.Id + "\" />";
}
xmlRoles    +=    "</root>";

More...

Currently rated 5.0 by 7 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,