(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Создание системной функции в MS SQL Server 2008

Источник: t-sql

В очередной раз на форуме встретил вопрос: "Создание системной функции в MS SQL Server 2008". Как известно, в SQL Server 2000 эта задача решалась достаточно легко и без малой крови (How to Write Your Own System Functions). Но как всё-таки решить подобную задачу на SQL Server 2005/2008?
Если верить официальным источникам, то никак. Но…есть способ

Внимание

не рекомендую им пользоваться!!!

1) Останавливаем наш SQL Server

2) Запускаем его в монопольном режиме (с флагом -m):
cd Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLBinn
sqlservr.exe -m

3) Создаём нашу функцию в системной БД (скрытой в обычном режиме работы SQL Server`а) mssqlsystemresource

01.USE mssqlsystemresource
02.GO
03. 
04.-- Включаем возможность изменения данный в БД Resource
05.ALTER DATABASE mssqlsystemresource SET READ_WRITE
06.GO
07. 
08.-- Ваша функция
09.CREATE FUNCTION dbo.fn_MyFunction()
10.RETURNS NVARCHAR(255)
11.AS
12.BEGIN
13.RETURN @@VERSION
14.END
15.GO
16. 
17.-- Публикуем во все БД
18.EXEC sys.sp_SetPublicInterfaceObject 'fn_MyFunction'
19.GO
20. 
21.-- Возвращаем БД Resource в режим "только чтение"
22.ALTER DATABASE mssqlsystemresource SET READ_ONLY
23.GO

4) Перестартовываем наш SQL Server в обычном режиме

5) Пользуемся нашей-системной функцией в контексте любой БД

PS: Так как БД mssqlsystemresource хранит все системные объекты, то при установке очередного SP обновиться вся эта база, соответственно и ваши "системные" функции исчезнут и их придётся создавать заново.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 01.12.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft 365 Business Basic (corporate)
Microsoft Windows Professional 10, Электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Новости мира 3D-ускорителей
Windows и Office: новости и советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100