Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Applies to:SQL Server
O código gerenciado é compilado e, em seguida, implantado em unidades chamadas de assembly CLR (Common Language Runtime). Um assembly é empacotado como uma DLL ou arquivo executável (.exe). Enquanto um arquivo executável pode ser executado por conta própria, uma DLL deve ser hospedada em um aplicativo existente. Os assemblies de DLL gerenciados podem ser carregados e hospedados pelo SQL Server. O SQL Server requer que você registre o assembly em um banco de dados usando a instrução CREATE ASSEMBLY, antes que ele possa ser carregado no processo e usado. Os assemblies também podem ser atualizados de uma versão mais recente usando a instrução ALTER ASSEMBLY ou removidos do SQL Server usando a instrução DROP ASSEMBLY.
As informações do assembly são armazenadas na tabela sys.assembly_files no banco de dados onde o assembly está instalado. A tabela sys.assembly_files contém as seguintes colunas.
| Column | Description |
|---|---|
assembly_id |
O identificador definido para o assembly. Esse número é atribuído a todos os objetos relacionados ao mesmo assembly. |
name |
O nome do objeto. |
file_id |
Um número que identifica cada objeto, com o primeiro objeto associado a uma determinada assembly_id sendo dado o valor de 1. Se vários objetos estiverem associados ao mesmo assembly_id, cada valor de file_id subsequente será incrementado em 1. |
content |
A representação hexadecimal do assembly ou arquivo. |
Nesta secção
| Article | Description |
|---|---|
| Criar uma de montagem | Discute a criação de SAFE, EXTERNAL_ACCESSe UNSAFE assemblies CLR no SQL Server |
| Alterar uma de montagem | Descreve a atualização de assemblies CLR no SQL Server |
| Solte uma de montagem | Discute a eliminação de assemblies CLR do SQL Server |
A segurança de acesso ao código não é mais suportada
O CLR usa o CAS (Code Access Security) no .NET Framework, que não é mais suportado como um limite de segurança. Um assembly CLR criado com PERMISSION_SET = SAFE pode aceder a recursos externos do sistema, chamar código não supervisionado e adquirir privilégios de administrador do sistema. No SQL Server 2017 (14.x) e versões posteriores, a opção sp_configure, segurança estrita do CLR, aumenta a segurança dos assemblies CLR.
clr strict security está ativado por padrão e trata as assemblagens SAFE e EXTERNAL_ACCESS como se estivessem marcadas UNSAFE. A opção clr strict security pode ser desativada para compatibilidade com versões anteriores, mas não é recomendada.
Recomendamos que você assine todos os assemblies por um certificado ou chave assimétrica, com um logon correspondente que tenha recebido permissão UNSAFE ASSEMBLY no banco de dados master. Os administradores do SQL Server também podem adicionar assemblies à lista de assemblies, nos quais o motor de base de dados deve confiar. For more information, see sys.sp_add_trusted_assembly.
Related content
- de segurança de integração CLR
- Segurança de acesso ao código de integração CLR