Понимание CLR и SQL Server 2005 базы данных двигателя

Интеграция с CLR с SQL Server расширяет возможности SQL Server в нескольких важных направлениях. Хотя Т - SQL, существующие данные доступа и манипуляций языка, хорошо подходит для набора ориентированных операций доступа к данным, она также имеет свои недостатки. Разработано более десяти лет назад, Т - SQL - это процедурный язык, не является объектно- ориентированного языка. Интеграция с CLR в SQL Server 2005 несет в себе возможность создавать объекты базы данных с использованием современных объектно-ориентированных языков, как VB.NET и C #. Хотя эти языки не имеют таких же решительной набор ориентированных характера, T - SQL, они не поддерживает сложные логике, лучше расчета потенциала, обеспечения доступа к внешним ресурсам, способствовать повторному использованию кода, и первого класса, среды разработки, что обеспечивает гораздо больше полномочий, чем старый анализатор запроса.

  

Интеграция в международное сообщество. NET CLR в SQL Server 2005 позволяет создавать хранимые процедуры, определяемых пользователем функции, триггеры, агрегатов, и определяемых пользователем типов с использованием любого из. NET языков. Интеграция в международное сообщество. NET CLR с SQL Server 2005 - это не только кожи в глубину. Фактически, SQL Server 2005 базы данных двигателя хостинг CLR - в процессе. Использование комплекса ИСП, в SQL Server двигатель выполняет все память управления для размещенных CLR программ.

В управляемый код доступ к базе данных с помощью ADO.NET в сочетании с новым SQL Server. NET данных. Новая SQL Server объект называется собрание - это единица развертывания. NET объектов с базой данных. Для создания CLR объектов базы данных, вы должны сначала создать DLL с использованием Visual Studio 2005. Тогда вы, что импорт DLL на SQL Server в качестве сборки. Наконец, вы ссылку, блок на базу данных объектов, таких, как процедуру или триггер. В следующем разделе вы получите более подробно рассмотрим, каким образом вы фактически использовать новые функции CLR в SQL Server 2005.

CLR Архитектура

В. NET Framework CLR очень тесно интегрированы с SQL Server 2005 базы данных двигателя. По сути, базу данных SQL Server двигателя хостинг CLR. Это жесткий уровень интеграции дает SQL Server 2005 несколько различных преимуществ по сравнению с. NET интеграции, что в представленной DB2 и Oracle.

А базы данных SQL Server используется специальный API или хостинга слоя общаться с CLR и CLR интерфейсу с Windows операционной системы. Размещение CLR в SQL Server дает базе данных SQL Server базы данных двигателя способность контролировать несколько важных аспектов в CLR, в том числе

Память управления

Резьбы

Вывоз мусора

В DB2 и Oracle осуществления как использовать CLR в качестве внешнего процесса, что означает, что CLR и базы данных двигателя как конкурировать за системные ресурсы. SQL Server 2005 с точки зрения организации процесса в CLR предоставляет несколько важных преимуществ по сравнению с внешней реализации используется Oracle или DB2. Во-первых, в процессе проведения SQL Server позволяет контролировать исполнение в CLR, в результате чего основные функции, такие как управление памятью, сбор мусора, и резьбы под контролем "SQL Server базы данных двигателя. Во внешней осуществление CLR будет регулировать эти вещи самостоятельно. База данных двигатель лучше учетом требований системы в целом и может управлять памяти и нити лучше CLR можно сделать собственными силами. В конце концов, проведение CLR в процессе позволит повысить эффективность работы и масштабируемости.

Включение поддержки CLR

По умолчанию, CLR поддержку в базе данных SQL Server двигатель выключен. Это гарантирует, что обновление установки SQL Server не случайно внедрить новую функциональность без прямого участия администратора. Чтобы включить в SQL Server CLR поддержку, вам нужно использовать расширенные возможности SQL Server в sp_configure системы хранимой процедуры, как показано в следующем реклама:

  sp_configure "показать дополнительные параметры", 1 GO RECONFIGURE GO sp_configure "clr позволили", 1 GO RECONFIGURE GO 

CLR объекта базы данных компонентов

Чтобы создать. NET объектов базы данных, вы начинаете в письменной форме управляемый код в одной из. NET языки, такие, как VB, C #, или Управляемая C + + и компилируется в. NET DLL (динамическая библиотека связи). Наиболее распространенным способом для этого будет использовать Visual Studio 2005 для создания нового проекта, SQL Server, а затем уже о том, что проект, который создает DLL. Или же вы создать. NET код, используя Ваш выбор редактора, а затем компиляции кода в. NET DLL использованием. NET Framework SDK. ADO.NET является промежуточной, что соединяет CLR DLL в базе данных SQL Server. После. NET DLL был создан, нужно зарегистрировать, что DLL с SQL Server, создания новой базы данных SQL Server объект называется собраний. Монтаж в основном отражает. NET DLL. Затем создать новую базу данных объектов, таких, как процедуру или триггер, что указывает на SQL Server собраний.

SQL Server. NET данных

Если Вы знакомы с ADO.NET, можно задаться вопросом, как именно CLR объектов базы данных подключения к базе данных. В конце концов, ADO.NET делает ее связи с использованием базы данных клиента основе. NET данных, таких как. NET Framework данных Provider для SQL Server, который соединяет с использованием сетевых библиотек. Хотя, что это великолепно для клиентского приложения, проходящей через систему сети поддержки базы данных призыв не самый эффективный способ для кода, текущих прямо на сервере. Для решения этой проблемы, Microsoft создали новый SQL Server. NET данных. В SQL Server. NET данных услуг устанавливается в память связи с базой данных SQL Server.

Ассамблей

После кодирования для CLR объекта было завершено, Вы можете использовать этот код для создания SQL Server собраний. Если вы используете Visual Studio 2005, то вы можете просто выберите Deploy вариант, который будет заботиться и о создании SQL Server собраний, а также создание целевого объекта базы данных. Если вы не используете Visual Studio 2005 или хотите выполнять развертывание процесса вручную, то вам нужно скопировать. NET DLL в общую папку по вашему выбору. Затем, с помощью SQL Server Management Studio, можно осуществить T - SQL CREATE АССАМБЛЕИ заявление о том, что ссылки на место нахождения. NET DLL, как вы видите в следующие записи:

  СОЗДАТЬ АССАМБЛЕИ MyCLRDLL ГОДА "\ \ SERVERNAME \ CodeLibrary \ MyCLRDLL.dll Кодекс объекта базы данных, используя управляемый код и complie в DLL DLL Зарегистрируйтесь с SOL Server, используя 

В СОЗДАТЬ АССАМБЛЕИ команды параметр, который содержит путь к DLL, которые будут загружены в SQL Server. Это может быть локальный путь, но чаще это будет путь к сетевой файл акцию. Когда СОЗДАТЬ АССАМБЛЕИ выполняется, то DLL копируется в мастера базы данных. Если собрание обновляется или объявляется нежелательным, то можно удалить с помощью собраний DROP АССАМБЛЕИ команду следующим образом:

  DROP собраний MyCLRDLL 

Поскольку собраний хранятся в базе данных, когда исходный код для этой сборки изменить и перекомпилировать собрания, собрания должны быть исключен из базы данных, используя команду DROP АССАМБЛЕИ а затем перезагрузится с использованием команды CREATE АССАМБЛЕИ до обновления будет отражение в базе данных SQL Server объектов.

Вы можете использовать sys.assemblies для просмотра собраний, которые были добавлены в SQL Server 2005, как показано ниже:

  SELECT * FROM sys.assemblies 

После собрания создаются с использованием внешних файлов, можно просмотреть файлы, которые были использованы для создания этих собраний. Это можно сделать с помощью систем. assembly_files тем, как показано ниже:

  SELECT * FROM sys.assembly_files 

Создание объектов базы данных CLR

После сборки SQL Server создана, можно использовать SQL Server Management Studio для выполнения T - SQL CREATE ПРОЦЕДУРЫ, CREATE TRIGGER, CREATE FUNCTION, CREATE ТИПА или CREATE СОВОКУПНАЯ заявление о том, что использует ВНЕШНЕГО NAME положение отметить, что собрание Вы создали ранее.

Когда собрание создается, в DLL копируется на целевой базы данных SQL Server и собраний зарегистрирован. Следующий код демонстрирует создание MyCLRProc хранимой процедуры, которая использует MyCLRDLL собраний:

  Создать процедуры MyCLRProc как внешнее название MyCLRDLL.StoredProcedures.MyCLRProc 

В ВНЕШНЕГО NAME положение является новым для SQL Server 2005. Здесь ВНЕШНЕГО NAME положение предусматривает, что хранимой процедуры MyCLRProc будет создан с помощью. SQL Server собраний. В DLL, что воплощен в SQL Server сборки может содержать несколько классов и методов; В ВНЕШНЕГО NAME заявление использует следующий синтаксис для определения правильной категории и метод использования из собраний:

  Ассамблея Name.ClassName.MethodName 

В случае предыдущий пример, зарегистрированных собраний называется MyCLRDLL. Класс рамках собрания StoredProcedures, а также метода в том, что класс, который будет выполняться это MyCLRProc.

это статья добавлена Мод Винсент Q.
Опровержение: Наш сайт не несет ответственности за информацию, содержащуюся в этой статье. Эта статья никоим образом не отражает взгляды, мнения, мысли или веры каталог статей сотрудников.

Перевод уведомления: В статье "Понимание CLR и SQL Server 2005 База данных двигателя" была переведена с использованием автоматизированной службы перевода. Мы приносим извинения за любые ошибки перевода, что произошло. Спасибо за понимание.

Online: 840 users browsing the articles directory