Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как удалить запись в таблице sql server вместе с ее связями  [new]
akasha9
Member

Откуда:
Сообщений: 29
Добрый вечер. Извините за возможно глупый вопрос.
Подскажите решение следующей задачи:

Как удалить запись в таблице sql server вместе с ее связями.
11 мар 13, 22:05    [14037534]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
Написать соответствующую команду delete.
11 мар 13, 22:26    [14037561]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
akasha9
Member

Откуда:
Сообщений: 29
Спасибо но мне нужно немного не то.
Дело в том что сам запрос на удаление написан и срабатывает но размер базы после чистки остается прежним,а мне нужно что бы новые данные использовали место освободившееся от удаления старых данных.
11 мар 13, 23:04    [14037627]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
А почему вы решили, что освободившееся место не будет использоваться новыми данными?

Сообщение было отредактировано: 11 мар 13, 23:12
11 мар 13, 23:12    [14037640]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
akasha9
Member

Откуда:
Сообщений: 29
Гавриленко Сергей Алексеевич
А почему вы решили, что освободившееся место не будет использоваться новыми данными?


Я это решил по постоянно увеличивающемуся размеру бэкапов хотя удаляется и дописывается одно и тоже количество данных.
11 мар 13, 23:42    [14037701]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
akasha9
Гавриленко Сергей Алексеевич
А почему вы решили, что освободившееся место не будет использоваться новыми данными?


Я это решил по постоянно увеличивающемуся размеру бэкапов хотя удаляется и дописывается одно и тоже количество данных.
Это единственный maintenance, который вы делаете для вашей базы?
12 мар 13, 00:03    [14037784]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
akasha9
Member

Откуда:
Сообщений: 29
Гавриленко Сергей Алексеевич
akasha9
пропущено...


Я это решил по постоянно увеличивающемуся размеру бэкапов хотя удаляется и дописывается одно и тоже количество данных.
Это единственный maintenance, который вы делаете для вашей базы?


да это единственная задача для базы (т.е. раз в 10 дней она бэкапится и чистится)
12 мар 13, 01:09    [14037902]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31427
akasha9
размер базы после чистки остается прежним,а мне нужно что бы новые данные использовали место освободившееся от удаления старых данных.
Сервер так и делает, новые данные записывает на место удалённых.

Есть, правда, исключения, например, если вы удаляете запись из середины страницы, а новую записываете на другую страницу, то в первой свободное место останется неиспользуемым.

Нужно более подробно исследовать ситуацию. Покажите скрипт создания таблицы с индексами.

И ведите какую нибуть статистику (занимаемое место по таблицам, как оно изменяется по времени) - а то ведь в можете удалять и писать в одной таблице, а место расходуется в других.
12 мар 13, 09:10    [14038253]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
akasha9
Member

Откуда:
Сообщений: 29
alexeyvg
akasha9
размер базы после чистки остается прежним,а мне нужно что бы новые данные использовали место освободившееся от удаления старых данных.
Сервер так и делает, новые данные записывает на место удалённых.

Есть, правда, исключения, например, если вы удаляете запись из середины страницы, а новую записываете на другую страницу, то в первой свободное место останется неиспользуемым.

Нужно более подробно исследовать ситуацию. Покажите скрипт создания таблицы с индексами.

И ведите какую нибуть статистику (занимаемое место по таблицам, как оно изменяется по времени) - а то ведь в можете удалять и писать в одной таблице, а место расходуется в других.


скрипт создания таблицы 1

USE [DBLiraSQL]
GO
/****** Object:  Table [dbo].[Table_1_Measure]  ****** /
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Table_1](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[DTM] [datetime] NOT NULL,
	[NKA] [smallint] NULL,
	[LKA] [smallint] NULL,
	[UM] [real] NULL,
	[AZ] [real] NULL,
	[NMS_PT1] [smallint] NULL,
	[NMS_VT1] [smallint] NULL,
	[NMS_PT2] [smallint] NULL,
	[NMS_VT2] [smallint] NULL,
	[UP1] [real] NULL,
	[UV1] [real] NULL,
	[UP2] [real] NULL,
	[UV2] [real] NULL,
	[RP1] [float] NULL,
	[RV1] [float] NULL,
	[RP2] [float] NULL,
	[RV2] [float] NULL,
	[VP1] [float] NULL,
	[VV1] [float] NULL,
	[VP2] [float] NULL,
	[VV2] [float] NULL,
	[NBL] [smallint] NULL
) ON [PRIMARY]


скрипт создания таблицы 2

USE [DBLiraSQL]
GO
/****** Object:  Table [dbo].[Table_2] ****** /
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Table_2_Telemetry](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[DTM] [datetime] NULL,
	[NTL] [smallint] NULL,
	[S5] [real] NULL,
	[S12_1] [real] NULL,
	[S12_2] [real] NULL,
	[ATI] [real] NULL,
	[K9] [real] NULL,
	[K12] [real] NULL,
	[K5] [real] NULL,
	[LCS] [smallint] NULL,
	[TK] [real] NULL,
	[TF] [real] NULL,
	[CA1] [smallint] NULL,
	[CA2] [smallint] NULL,
	[S1I] [int] NULL,
	[S1Q] [int] NULL,
	[S2I] [int] NULL,
	[S2Q] [int] NULL,
	[NP1I] [int] NULL,
	[NP1Q] [int] NULL,
	[NP2I] [int] NULL,
	[NP2Q] [int] NULL,
	[PP1] [int] NULL,
	[PP2] [int] NULL,
	[PR1] [int] NULL,
	[PR2] [int] NULL,
	[NR1] [int] NULL,
	[NR2] [int] NULL,
	[POV] [smallint] NULL,
	[LMC] [real] NULL
) ON [PRIMARY]
13 мар 13, 21:57    [14044819]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
Гость333
Member

Откуда:
Сообщений: 3683
akasha9
скрипт создания таблицы 1

скрипт создания таблицы 2

Это таблицы-кучи, или есть какие-то индексы?
14 мар 13, 08:39    [14045673]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить запись в таблице sql server вместе с ее связями  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31427
akasha9
скрипт создания таблицы 1
В SSMS рекомендую сразу изменить опции генерации скрипта, что бы показывались индексы на таблицу. Tools-Object Explorer-Scripting

А то неудобная настройка по умолчанию, непонятно, есть на ваших таблицах индексы, или нет (особенно интересуют кластерные)
14 мар 13, 09:35    [14045864]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить