Практическое руководство. Создание проекта для объектов базы данных, использующих интеграцию SQL Server со средой CLR

Проекты SQL Server в Visual Studio помогают при создании хранимых процедур, триггеров, статистических выражений, пользовательских функций и пользовательских типов с помощью языков .NET Framework, таких как Visual Basic и Visual C#. Проекты SQL Server требуют SQL Server 2005 или более поздней версии SQL Server. Эти объекты часто называются объектами SQL Server со средой CLR или объектами SQL CLR.

Важно!

Если необходимо выполнить развертывание сборок SQL CLR для SQL Server 2005 или SQL Server 2008, на компьютере разработчика должна быть установлена .NET Framework 3.5.Для SQL Server 2005 и SQL Server 2008 требуется наличие целевой версии 2.0, 3.0 или 3.5 платформы .NET Framework сборок SQL CLR.Установить платформу Microsoft .NET Framework 3.5 можно с веб-сайта корпорации Майкрософт.

После создания проекта базы данных SQL CLR создайте объекты базы данных, которые требуется развернуть в SQL Server. В следующей таблице приведены ссылки на разделы справки, описывающие способы создания доступных объектов базы данных:

Объект базы данных

Сведения

Хранимая процедура

Практическое руководство. Создание и запуск хранимой процедуры SQL Server при помощи интеграции со средой CLR

Trigger

Практическое руководство. Создание и запуск триггера SQL Server при помощи интеграции со средой CLR

Aggregate

Практическое руководство. Создание и запуск статистического выражения SQL Server при помощи интеграции со средой CLR

Пользовательская функция.

Практическое руководство. Создание и запуск пользовательской функции SQL Server при помощи интеграции со средой CLR

Пользовательский тип данных.

Практическое руководство. Создание и запуск пользовательского типа SQL Server при помощи интеграции со средой CLR

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров.Дополнительные сведения см. в разделе Работа с параметрами.

Создание нового проекта

Чтобы создать новый проект SQL Server:

  1. В меню Файл последовательно щелкните Создать и Проект.

  2. В области Установленные шаблоны разверните узел База данных и щелкните SQL Server.

  3. В списке шаблонов щелкните значок, соответствующий типу проекта, который требуется создать. Например, чтобы создать проект SQL CLR, использующий Visual C#, щелкните Проект базы данных SQL CLR Visual C#.

  4. В списке требуемой версии .NET Framework, расположенном над списком шаблонов, щелкните версию платформы .NET Framework, соответствующую версии SQL Server, на который необходимо выполнить развертывание проекта базы данных SQL CLR.

    Важно!

    SQL Server 2005 и SQL Server 2008 поддерживают только проекты SQL Server, созданные с использованием версий 2.0, 3.0 и 3.5 платформы .NET Framework.Если вы попробуете развернуть SQL Server проекта SQL Server 2005 или SQL Server 2008, появляется сообщение об ошибке: Deploy error (SQL01268): .NET SqlClient Data Provider: Msg 6218, Level 16, State 3, Line 1 CREATE ASSEMBLY for assembly 'AssemblyName' failed because assembly 'AssemblyName' failed verification. Check if the referenced assemblies are up-to-date and trusted (for external_access or unsafe) to execute in the database(где имя_сборки — это имя сборки, развертывания).

  5. В поле Имя укажите имя проекта.

  6. Нажмите кнопку ОК.

Настройка проекта SQL Server

После создания проекта SQL Server может возникнуть необходимость изменить несколько свойств проекта до успешного развертывания проекта.

Настройка свойств проекта SQL Server

  1. В обозревателе решений выберите проект, для которого требуется настроить свойства.

  2. В меню Проект щелкните Свойства ProjectName, где ProjectName — это имя проекта SQL Server.

  3. На вкладке Приложение в поле Сборка укажите имя сборки, построенной из проекта SQL Server.

  4. Если версия платформы .NET Framework, поддерживаемая версией SQL Server, на который необходимо выполнить развертывание проекта базы данных SQL CLR, уже указана, можно перейти к шагу 10.

  5. Перейдите к шагу 7, если используется Visual Basic.

  6. На вкладке Приложение в поле Требуемая версия .NET Framework щелкните версию платформы .NET Framework, соответствующую версии SQL Server, на который необходимо выполнить развертывание проекта базы данных SQL CLR.

    Важно!

    SQL Server 2005 и SQL Server 2008 поддерживают только проекты SQL Server, созданные с использованием версий 2.0, 3.0 и 3.5 платформы .NET Framework.Если вы попробуете развернуть SQL Server проекта SQL Server 2005 или SQL Server 2008, появляется сообщение об ошибке: Deploy error (SQL01268): .NET SqlClient Data Provider: Msg 6218, Level 16, State 3, Line 1 CREATE ASSEMBLY for assembly 'AssemblyName' failed because assembly 'AssemblyName' failed verification. Check if the referenced assemblies are up-to-date and trusted (for external_access or unsafe) to execute in the database(где имя_сборки — это имя сборки, развертывания).

  7. Перейдите к шагу 10 (Шаги 7, 8 и 9 выполняются только при использовании Visual Basic).

  8. На вкладке Компиляция щелкните Дополнительные параметры компиляции.

  9. В диалоговом окне Дополнительные параметры компилятора в поле Требуемая версия .NET Framework щелкните версию платформы .NET Framework, соответствующую версии SQL Server, на который необходимо выполнить развертывание проекта базы данных SQL CLR.

    Важно!

    SQL Server 2005 и SQL Server 2008 поддерживают только проекты SQL Server, созданные с использованием версий 2.0, 3.0 и 3.5 платформы .NET Framework.Если вы попробуете развернуть SQL Server проекта SQL Server 2005 или SQL Server 2008, появляется сообщение об ошибке: Deploy error (SQL01268): .NET SqlClient Data Provider: Msg 6218, Level 16, State 3, Line 1 CREATE ASSEMBLY for assembly 'AssemblyName' failed because assembly 'AssemblyName' failed verification. Check if the referenced assemblies are up-to-date and trusted (for external_access or unsafe) to execute in the database(где имя_сборки — это имя сборки, развертывания).

  10. Нажмите кнопку ОК.

  11. На вкладке База данных в поле Владелец сборки введите имя пользователя или роли в качестве владельца сборки.

    Важно!

    Это значение должно представлять собой имя роли, к которой относится текущий пользователь, либо текущий пользователь должен иметь разрешение IMPERSONATE.Если владелец сборки не указан, владельцем назначается текущий пользователь.Этот параметр соответствует аргументу AUTHORIZATION имя_владельца для инструкции SQL Server CREATE ASSEMBLY.Дополнительные сведения см. в разделе Создание сборки (Transact-SQL) на веб-сайте корпорации Майкрософт.

  12. В меню Файл выберите команду Сохранить все.

    Если необходимо создать объект SQL CLR, инициализирующий XML-сериализацию, выполните следующие дополнительные шаги, описанные в разделе "Создание объектов SQL CLR, использующих XML-сериализацию".

Создание объектов SQL CLR, использующих XML-сериализацию

При создании веб-службы параметру "Создать сборку сериализации" можно присвоить значение "Вкл." в свойствах построения. Однако при развертывании сборки, содержащей объекты SQL CLR, сборка XML-сериализации не создается на целевом сервере. Для создания такой сборки необходимо добавить инструкцию в скрипт PostDeployScript.sql.

Примечание

При создании веб-службы необходимо присвоить разрешению значение External_Access или Unsafe, а параметру Trustworthy целевой базы данных — значение "Вкл.".

Создание сборки XMLSerializer для сборки SQL CLR

  1. В обозревателе решений разверните проект SQL CLR, который требуется развернуть, и дважды щелкните скрипт PostDeployScript.sql.

  2. В редакторе кода добавьте следующую инструкцию Transact-SQL в скрипт.

    CREATE ASSEMBLY SqlClassLibraryXML from 'path\assemblyname.XmlSerializers.dll' 
    

    Где SqlClassLibraryXML — имя сборки, путь — путь к сборке сериализатора, а assemblyname.XmlSerializers.dll — имя сборки сериализатора.

  3. В меню Файл щелкните Сохранить PostDeployScript.dll.

Подключение к базе данных SQL Server

Проекты базы данных SQL CLR требуют подключения к базе данных на SQL Server 2005 или более поздней версии. Если подключения к базам данных SQL Server 2005 доступны в окне Обозреватель сервера, они отображаются в диалоговом окне Добавление ссылки на базу данных. Если требуется развернуть сборку, построенную из проектов SQL Server с использованием проекта базы данных (.dbproj), указывать подключение базы данных не требуется, и можно щелкнуть "Отмена" в диалоговом окне подключения. Дополнительные сведения см. в разделе Начало командной разработки баз данных, ссылающихся на объекты SQLCLR.

Подключение к базе данных SQL Server

См. также

Задачи

Пошаговое руководство. Создание хранимой процедуры в управляемом коде

Практическое руководство. Отладка хранимой процедуры SQL CLR

Ссылки

Атрибуты проектов баз данных SQL в среде CLR и объектов баз данных

Основные понятия

Введение в интеграцию SQL Server со средой CLR (ADO.NET)

Преимущества использования управляемого кода для создания объектов баз данных

Создание объектов SQL Server в управляемом коде