Чистим сервер БД от учёток отключенных в AD (ADSI)

by Alexey Knyazev 24. сентября 2009 21:11


Совсем недавно я описывал способ, как удалить отлюченные учётки с сервера БД с помощью PowerShell.


Теперь покажу способ, как получить доступ к АД средствами самого SQL Server`a через ADSI (Active Directory Service Interfaces), протокол LDAP (Lightweight Directory Access Protocol).

[Ещё]

Tags: ,

SQL Server

DTS-пакеты и SSMS

by Alexey Knyazev 27. августа 2009 01:52



При попытке открыть DTS-пакет в SQL Server Management Studio, может появиться ошибка:

SQL Server 2000 DTS Designer components are required to edit DTS packages. Install the special Web download, "SQL Server 2000 DTS Designer Components" to use this feature. (Microsoft.SqlServer.DtsObjectExplorerUI)

Для работы с DTS нужно установить компонет "SQL Server 2000 DTS Designer Components" (http://download.microsoft.com/download/f/7/4/f74cbdb1-87e2-4794-9186-e3ad6bd54b41/SQLServer2005_DTS.msi)

[Ещё]

Tags:

SQL Server

Обнулить время

by Alexey Knyazev 20. июля 2009 20:57

«Как получить текущую дату, без учёта времени?»


Вариантов много, но хотелось бы их собрать все вместе:


1) Самый известный и документированный способ – это конвертация даты в строку в нужном формате и обратно в дату:


SELECT CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE(), 112))

2) Второй способ – это использование функций даты и времени (dateadd, datediff):


SELECT DATEADD(d, DATEDIFF(d, 0, GETDATE()), 0)

3) Третий способ – это конвертация даты в тип float и использование математической функции floor, которая возвращает наибольшее целое число, меньшее или равное указанному числовому выражению или математическую функцию round:


SELECT CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, GETDATE())))

SELECT CONVERT(DATETIME, ROUND(CONVERT(FLOAT, GETDATE()), 0, 1))

4) Четвёртый способ отталкивается от особенностей типа datetime.


Выдержка из русскоязычного BOL:


Значения типа datetime хранятся в виде 4-байтовых целых чисел. Первые четыре байта содержат количество дней до или после даты отсчета: 1 января 1900 года. Дата отсчета является системной датой. Вторые четыре байта содержат текущее значение времени, представленного в виде трехсотых долей секунды, прошедших после полуночи.


SELECT CAST(CAST(CAST(CAST(GETDATE() as BINARY(8)) as BINARY(4)) as BINARY(8)) as DATETIME)

5) Пятый способ – это синтаксис OLE DB/ODBC, который SQL Server отлично понимает:


SELECT CONVERT(DATETIME, {fn CURDATE()})

SELECT CONVERT(DATETIME, {fn CURRENT_DATE()})

6) Тип данных date, новый тип данных, который появится в MS SQL Server 2008, сохраняет дату без компонента времени. Диапазон – от 1 января 0001 года до 31 декабря 9999 года (от 0001-01-01 до 9999-12-31). Каждая переменная даты требует трех байтов для хранения и имеет точность в 10 цифр. Точность типа данных ограничена отдельным днем.

[Ещё]

Tags: ,

SQL Server

Разбиваем строки нa слoва

by Alexey Knyazev 25. июня 2009 20:41
Из строк с набором слов вырезаем все слова и сохраняем их в отдельном поле таблицы, длина строк не имеет значения [Ещё]

Tags: ,

SQL Server

Скрипт создания групп пользователей в AD (PoSh)

by Alexey Knyazev 14. мая 2009 19:06


Часто, в моей работе необходимо создавать группы пользователей в AD, добавлять туда десятки пользователей. А этим группам давать те или иные права на работу с серверами БД.


Для этого я написал небольшой скриптик на PowerShell, который создаёт в Active Directory группы из списка указанного в текстовом файле и заливает в эти группы пользователей, список которых так же подаётся на входе в виде текстового файла.

[Ещё]

Tags: , ,

PowerShell | SQL Server

Скриптуем объекты БД (PoSh)

by Alexey Knyazev 7. апреля 2009 18:29

Продолжая тему "полезные скрипты", предлагаю вариант скриптования объектов Базы Данных на PowerShell.


Для доступа к серверу БД использую набор объектов SMO (http://msdn.microsoft.com/ru-ru/library/ms162169.aspx). Скриптование объектов с помощью консольного приложения я писал больше года назад (SQLDMOScripter / SQLSMOScripter).


Теперь нечто подобное, но уже в виде скрипта на PoSh. Указал не все объекты, но вы всегда сможете этот код дополнить.

[Ещё]

Tags: , , ,

PowerShell | SQL Server

ScriptJobs

by Alexey Knyazev 6. апреля 2009 18:11

ScriptJobs - небольшой vbs-скрипт, позволяющий быстро заскриптовать все Job`ы.


Скрипт писался ещё в 2002 году, но при этом отлично работает даже с SQL Server 2008 (DMO).


Спасибо авторам! :)

[Ещё]

Tags: ,

SQL Server

Создание Bаckup`ов и их архивирование средствами планировщика Windows (часть 3)

by Alexey Knyazev 3. апреля 2009 18:02

В продолжение первых 2х скриптов, выкладываю скрипт написанный на VBS, дело в том, что не все желают ставить на "старые" ОС Power Shell.


Как и в прошлый раз в качестве архиватора буду использовать 7Zip.

[Ещё]

Tags: , ,

SQL Server

Backup`ы в Windows (часть 2)

by Alexey Knyazev 31. марта 2009 17:18


В продолжение своего первого поста по этой теме (http://www.t-sql.studenthost.ru/post/BackupScript1.aspx), решил выложить скрипт написанный на Power Shell с использованием архиватора 7-zip (бесплатный файловый архиватор для Windows с высокой степенью сжатия).

[Ещё]

Tags:

PowerShell | SQL Server

Создание Backup`ов средствами Windows (+архивирование)

by Alexey Knyazev 17. марта 2009 16:37


Не редко встаёт вопрос, как создать BackUp какой-либо базы данных средствами Windows. Особенно эта тема актуальна в бесплатных редакциях SQL Server (MSDE, Express), где SQL Agent вообще отсутствует. Реализуется это проще, чем может показаться.


Для теста создаём папку C:\BackupDB. В ней создаём файл SQLCommand.txt с текстом (командой на T-SQL):


DECLARE @str NVARCHAR(255) SET @str='C:\BackupDB\master_'+CONVERT(VARCHAR, GETDATE(), 105)+'.bak' BACKUP DATABASE master TO DISK=@str
[Ещё]

Tags:

SQL Server