рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Sp_rename showall, countall

Sp_rename showall, countall - раздел Программирование, ИСПОЛЬЗОВАНИЕ СОХРАНЕННЫХ ПРОЦЕДУР   Безусловно, Новое Название Должно Соответствовать Правилам, У...

 

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

 

Переименование объектов внутри процедур

 

Если в сохраненной процедуре было изменено название какого-либо объекта, то она должна быть удалена и создана заново. На первый взгляд может показаться, что сохраненная процедура, которая обращается к переименованной таблице или вьюверу, выполняется правильно. В действительности, эта процедура будет работать правильно только до тех пор, пока SQL Сервер не перекомпилирует ее. Перекомпиляция может произойти  по многим причинам и без специального уведомления пользователя.

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

 

Процедуры как механизм безопасности

 

Сохраненные процедуры могут использоваться в качестве механизма обеспечения безопасности для управления доступом к табличной информации и управления модификацией данных. Например, можно не дать разрешения другим пользователям выбирать информацию из вашей таблицы, и создать сохраненную процедуру, которая позволяет им видеть только некоторые строки или столбцы этой таблицы. Сохраненные процедуры могут также использоваться для ограничения операторов update, delete, insert.

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

Информацию о предоставлении и отзыве прав на сохраненные процедуры и другие объекты базы данных, можно посмотреть в Руководстве пользователя по средствам ограничения доступа SQL Сервера.

 

Системные процедуры

 

Системные процедуры могут быть полезными в следующих отношениях:

 

· · Для ускорения доступа к системным таблицам;

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

 

В большинстве случаев системные таблицы обновляются толькочерез сохраненные процедуры. Системный администратор может разрешить непосредственное обновление системных таблиц путем изменения конфигурационной переменной и выдачи команды reconfigure with override(реконфигурация с перезаписью). См. по этому поводу Руководство системного администратора SQL Сервера(System Administration Guide).

Названия всех системных процедур начинаются с приставки «sp_». Они создаются согласно сценарию installmaster(мастер инсталляции) в базе данных sybsystemprocs во время инсталляции SQL Сервера.

Системную процедуру можно запускать из любой базы данных. Если системная процедура вызывается из базы данных, отличной от sybsystemprocs, то любые ссылки к системным таблицам отображаются в базу данных, из которой процедура была запущена. Например, если владелец базы данных pubs2 запускает процедуру sp_adduser(добавить пользователя), то новый пользователь будет добавлен в таблицу pubs2..sysuser.

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

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

Другие системные процедуры могут запускаться любым пользователем, которой имеет право на использование оператора execute, но это право должно быть предоставлено из базы данных sybsystemprocs. Отсюда вытекают два следствия:

 

· · Пользователь имеет право запускать системные процедуры из любой базы данных или ни из одной из них;

· · Владелец базы данных пользователя не может непосредственно управлять доступом к системным процедурам из своей базы данных.

 

Более подробную информацию на эту тему см. в Руководстве системного администратора SQL Сервера.

 

Администрирование доступа

 

К этой категории относятся процедуры, выполняющие следующие действия:

 

· · Добавление, удаление и выдача регистраций (logins) SQL Сервера;

· · Добавление, удаление и выдача имен пользователей, групп и псевдонимов (alieses) базы данных;

· · Изменение паролей и базы данных, принимаемой по умолчанию;

· · Изменение владельца базы данных;

· · Добавление, удаление и выдача удаленных серверов, которые имеют доступ к данному SQL Серверу;

· · Добавление имен пользователей удаленных серверов, имеющих доступ к данному SQL Серверу.

 

К этой категории относятся следующие процедуры: sp_addlogin, sp_addalias, sp_addgroup, sp_adduser, sp_changedowner, sp_changegroup, sp_droplogin, sp_dropalias, sp_dropgroup, sp_dropuser, sp_helpgroup, sp_helpprotect, sp_helpuser, sp_password.

Удаленные серверы

 

К этой категории относятся процедуры, выполняющие следующие действия:

 

· · Добавление, удаление и выдача удаленных серверов, которые имеют доступ к данному SQL Серверу;

· · Добавление имен пользователей удаленных серверов, имеющих доступ к данному SQL Серверу.

 

К этой категории относятся следующие процедуры: sp_addremotelogin, sp_addserver, sp_dropremotelogin, sp_dropserver, sp_helpremotelogin, sp_helpserver, sp_remoteoption, sp_serveroption.

 

Определение данных и объекты базы данных

 

К этой категории относятся процедуры, выполняющие следующие действия:

 

· · Связывание и развязывание правил и умолчаний;

· · Добавление, удаление и выдача главных, внешних и общих ключей;

· · Добавление, удаление и выдача типов данных пользователя;

· · Переименование объектов базы данных и типов данных пользователя;

· · Оптимизация сохраненных процедур и триггеров;

· · Составление отчетов об объектах базы данных, пользовательских типах данных, зависимостях между объектами базы, базах данных, индексах, пространстве, занимаемом таблицами и индексами.

 

 К этой категории относятся следующие процедуры: sp_bindefault, sp_bindrule, sp_unbindefault,  sp_unbindrule, sp_foreignkey, sp_primarykey,  sp_commonkey, sp_dropkey, sp_depends,  sp_addtype, sp_droptype, sp_rename,  sp_spaceused, sp_help, sp_helpdb, sp_helpindex,  sp_helpjoins, sp_helpkey, sp_helptext,  sp_indsuspect, sp_recompile.

Сообщения пользователя

 

К этой категории относятся процедуры, выполняющие следующие действия:

 

· · Добавление сообщений пользователя в таблицу sysusermessages базы данных пользователя;

· · Удаление сообщений пользователя из таблицы sysusermessages;

· · Выбор сообщений из таблицы sysusermessages или таблицы sysmessages в базе данных master для вывода их с помощью операторов printи raiserror;

 

К этой категории относятся следующие процедуры: sp_addmessage, sp_dropmessage sp_getmessage.

 

Системное администрирование

 

К этой категории относятся процедуры, выполняющие следующие действия:

 

· · Добавление, удаление и выдача устройств для хранения базы данных и логирующих (dump) устройств;

· · Выдача запретов (locks), установленных опций базы данных и выполняющихся процессов пользователя;

· · Изменение и вывод конфигурационных переменных;

· · Наблюдение (monitoring) за активностью SQL Сервера.

 

К этой категории относятся следующие процедуры: sp_addumpdevice, sp_dropdevice, sp_helpdevice, sp_helpsort, sp_logdevice, sp_dboption, sp_diskdefault, sp_configure, sp_monitor, sp_lock, sp_who.

 

Дополнительная информация о системных процедурах, которые выполняют административные функции, дается в Руководстве системного администратора SQL Сервера. Полную информацию о системных процедурах можно также получить в Справочном руководстве SQL Сервера.

 

Получение информации о процедурах

 

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

 

Процедура sp_help

 

С помощью системной процедуры sp_helpможно получить отчет о сохраненной процедуре. Например, пользователь может получить информацию о сохраненной процедуре byroyaltyиз базы данных pubs2 с помощью следующей команды:

 

– Конец работы –

Эта тема принадлежит разделу:

ИСПОЛЬЗОВАНИЕ СОХРАНЕННЫХ ПРОЦЕДУР

На сайте allrefs.net читайте: "ИСПОЛЬЗОВАНИЕ СОХРАНЕННЫХ ПРОЦЕДУР"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Sp_rename showall, countall

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Exec gateway...namelist
  Последний вариант будет работает только, если pubs2 является базой данных, заданной по умолчанию. Название базы данных является необязательным параметром только, есл

Showall
------------            5 (Выбрана 1 строка) ------------           88 (Выбрана 1 строка) ------------          349 &nbs

Sp_helptext showall
# Lines of Text ---------------               1 (1 row affected) text ----------------------------- ---------- create procedure showall as

Sp_recompile titles
  Более детально о команде sp_recompile можно узнать из Справочного руководства SQL Сервера.   Создание и выполнение сохраненн

Au_info Ringer, Anne
au_lname au_fname title                             pub_name -------- -------- ---------------------            ---------- Ringer   Anne     The Gourmet Microwave    Binnet &

Showind titles
  Последняя синтаксическая форма, не содержащая ключевого слова exec или execute, допустима только, если этот оператор является единственным в строке

From authors a, publishers p, titles t, titleauthor ta
where @pubname = p.pub_name and a.au_id = ta.au_id and t.title_id = ta.title_id and t.pub_id = p.pub_id

Exec pub_info
au_lname   au_fname      pub_name                                  --------------  ------------ -------------------- Green         Marjorie       Algodata   Infosystems          

Showind2
table_name  index_name    index_id -----------  -----------      --------- titles           titleidind          1 titles           titleind            2 (2 ro

Au_info2
au_lname   au_fname       title                               pub_name --------     -------      -------------------------        ------------- Dull          Ann          Secrets

Au_info2 Ringer
au_lname   au_fname    title                              Pub_name --------   --------    ---------------------            ------------ Ringer     Anne        The Gourmet Microwa

Drop proc orders;2
  Конструкция recompile в операторе create procedure   В операторе создания процедуры create procedure необязательна

Exec inv_amounts
  Можно создавать временные таблицы без префикса #, используя оператор create table tempdb..tablename.. в самой сохраненной процедуре. Эти таблицы не удаляются

Exec gateway.remotedb.dbo.remoteproc
  Информацию о том, как конфигурировать локальный и удаленный  серверы для выполнения удаленных процедур, можно посмотреть в Руководстве системного администратора. Из

Get_au_stat «MC2222»
             Contract is valid   Проверка прав доступа в процедурах   Если сохраненная процедура выполняет задачу систем

    return 0
  Возвращаемые параметры   Если в операторах create procedure и execute указывается опция output

Mathtutor 5,6,32
(return status=0)   Значение параметра, определенного с опцией output, должно передаваться через переменную, а не через константу. В следующ

Create procedure
  · · Другие объекты базы данных можно создавать внутри процедуры. К объекту базы данных можно обратиться внутри этой же процедуры, если он был создан до того как к нему обратились. П

On mary.marytab(col1)
  Дело в том, что названия объектов уточняются во время выполнения процедуры. Если название таблицы marytab не расширить, то при выполнении процедуры пользователем c именем “Дж

Sp_help byroyalty
Name       Owner   type                                Created_on --------     ------                ----------------          ------------------- byroyalty      dbo         stor

Sp_helptext byroyalty
# Lines of Text ---------------               1 (1 row affected) text --------------------------------------------------- create procedure b

Sp_depends titleauthor
Things inside the current database that reference the object. object                 type --------------    ------------------ dbo.titleview      view dbo.re

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги