Archive for the ‘SQL’ Category

Полное резервное копирование без разрыва цепочки дифференциальных бекапов

Воскресенье, июля 6, 2014

MSSQLсервер поддерживает функционал создания цепочки дифференциальных резервных копий относительно некоторой начальной резервной копии. Создание дифференциальных резервных копий производиться автоматически службами самого MSSQLсервера. (ещё…)

Share

Программа построитель классов ClassBuilder

Вторник, мая 28, 2013

Ранее предлагалась MVC модель, в которой для базы данных были предложены классы (для Delphi), которые реализовывали общий механизм доступа к таблицам базы данных (MS SQL Server). В опубликованных ранее статьях были предложены базовые классы: TCommonDocument, TCommonListEngine, TCommonEngine, TCommonObject и рассмотрены общие сведения о них. (ещё…)

Share

MS SQL Incorrect syntax near ‘END’ ошибка при создании процедуры

Пятница, мая 17, 2013

При создании пустой процедуры или процедуры содержащей только комментарии, при выполнении скрипта возникает ошибка Incorrect syntax near ‘END’. (ещё…)

Share

Исправление базы данных после не удачного восстановления

Четверг, февраля 7, 2013

Исправление базы данных после не удачного восстановления

Восстановление базы данных было прерванно и база “зависла в процессе восстановления”. Скрипты коотрые предлагают на просторах интернета имеют одно плохое свойство. Все они переводили базу данных в однопользовательский режим. Это делало ее недоступной по сети дургим подключениям и пользователям. Проблема решалась дополнением скрипта строчкой перевода базы в много пользовательский режим. (ещё…)

Share

Тестовое задание Postgre-SQL программист от компании LightSoft

Понедельник, ноября 5, 2012

Продолжаем обсуждение различных тестовых заданий предлагаемых различными компаниямия на должность программистов. Данное задание предлагалось российской компанией LightSoft на вакансию Postge-SQL программиста. Сразу скажу что ответы на данное задние получили положительную оценку. Многие ответы на вопросы были взяты с сайта ru.Wikipedia.org в силу их краткости и емкости содержания и содержат соответствующие ссылки. Кроме того данный материал не является панацеей и публикуется для ознакомления читателей с интересными полезными вопросами которые касаются всего SQL вцелом,  а не только СУБД Postge. (ещё…)

Share

Скрипт для усечения файлов логов всех баз на одном экземпляре MS SQL Server 2005

Четверг, октября 11, 2012

Не секрет MS  SQL Serever пишет логи своей работы. Иногда файлы разрастаются до очень больших размеров. Конечно можно ограничить их рост в настройках самой базы данных, но если на экземпляре набор баз меняется и нет выделенного человека, который бы следил за тем за всем єтими настройками, то на помощь приходит вот такой вот простой скрипт. (ещё…)

Share

MS-BackUp консольное приложение для резервного копирования и управления резервными копиями

Вторник, июля 31, 2012

MS-BackUp:

  1. Консольное приложение, предназначенное для резервного копирования базы данных MS SQL Server, загрузки полученной копии базы данных на FTP сервер, расшаренный сетевой ресурс, архивирования более ранних файлов резервной копии базы данных , и удаление не актуальных копий а так же управление логами стороннего приложение (копирование в расшаренный сетевой ресурс, архивирование и удаление не актуальных копий). Результат работы приложения логируется по дням (каждый день отдельный файл). (ещё…)
Share

PowerDesigner удаление первичного ключа MS SQL 2005

Понедельник, июля 16, 2012

При генерации скрипта при помощи PowerDesigner для  MS SQL 2005 генерируется скрипт, который при первом запуске выдает ошибку “Сообщение 4902, уровень 16, состояние 1, строка 1 Cannot find the object “Имя таблицы” because it does not exist or you do not have permissions.”. Это вызвано тем что PowerDesigner генерирует скрипт, в котором перед созданием таблицы удаляется ее первичный ключ. (ещё…)

Share

PowerDesigner ошибка при удалении значений по умолчанию в MS SQL 2005

Четверг, октября 28, 2010

При генерации скрипта для изменения схемы данных PowerDesigner 15.2 переименовывает редактируемую таблицу во временную с префиксом tmp_, после чего выполняет ее создание, а затеем перезаливку данных из временной таблицы. Все было бы ничего, если бы эта умная программа удаляла все ограничения по умолчанию, которые привязаны к столбцам таблицы. Если этот скрипт применить к базе данных, то обязательно получите сообщение об ошибке

В базе данных уже существует объект с именем "DF_Имя_ограничения".

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

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

В PowerDesigner выбрать пункт DataBase – Edit Current DBMS на вкладке General выбрать Script – Objects – Table – Rename

Редактировать DBMS

Редактировать DBMS

Там будет содержаться команда

[%R%?[exec ]][execute ]sp_rename %OLDTABL%, %NEWTABL%

Замените его на следующий текс

Declare @SqlText varchar(200), @DF_Name varchar(50)

Declare  C Cursor

for Select sobjects.name

from  sysobjects sobjects

Where parent_obj = object_id('%OLDTABL%') and sobjects.xtype = 'D'

open C

fetch next from c into @DF_Name

While @@fetch_status = 0

begin

set @SqlText = 'alter table %OLDTABL% Drop constraint '+@DF_Name

print @SqlText;

exec(@SqlText)

fetch next from c into @DF_Name

end

Close C

Deallocate C

[%R%?[exec ]][execute ]sp_rename %OLDTABL%, %NEWTABL%

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

Share

процедура sp_unbindefaul The data type or table column does not exist or you do not have permission

Понедельник, августа 9, 2010

При выполнении скрипта по созданию таблицы MS SQL выдает ошибку.

процедура sp_unbindefaul The data type or table column  does not exist or you do not have permission

(ещё…)

Share