Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Applies to:SQL Server
O código gerenciado é compilado e implantado em unidades chamadas de assembly CLR (Common Language Runtime). Um assembly é empacotado como um arquivo DLL ou executável (.exe). Um arquivo executável pode ser executado sozinho, mas uma DLL precisa ser hospedada em um aplicativo existente. Os assemblies DLL gerenciados podem ser carregados e hospedados pelo SQL Server. O SQL Server exige 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 em que o assembly está instalado. A tabela sys.assembly_files contém as colunas a seguir.
| Column | Description |
|---|---|
assembly_id |
O identificador definido para o assembly. Este 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 um determinado assembly_id recebendo 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 seção
| Article | Description |
|---|---|
| Criar um assembly | Discute a criação de assemblies CLR SAFE, EXTERNAL_ACCESSe UNSAFE no SQL Server |
| alterar um assembly | Descreve a atualização de assemblies CLR no SQL Server |
| soltar um assembly | Discute a remoção de assemblies CLR do SQL Server |
A segurança de acesso ao código não é mais suportada
O CLR usa o CAS (Segurança de Acesso do Código) no .NET Framework, para o qual não há mais suporte como um limite de segurança. Um assembly CLR criado com o PERMISSION_SET = SAFE pode conseguir acessar recursos externos do sistema, chamar um código não gerenciado e adquirir privilégios de administrador do sistema. No SQL Server 2017 (14.x) e versões posteriores, a opção sp_configureclr strict security aprimora a segurança dos assemblies CLR. A clr strict security está habilitada por padrão e trata assemblies SAFE e EXTERNAL_ACCESS como se eles fossem marcados como UNSAFE. A opção clr strict security pode ser desabilitada para compatibilidade com versões anteriores, mas não é recomendado.
Recomendamos que você assine todos os assemblies com uma chave de certificado ou chave assimétrica, com um logon correspondente que tenha recebido a permissão UNSAFE ASSEMBLY no banco de dados master. Os administradores do SQL Server também podem adicionar assemblies a uma lista de assemblies na qual o Mecanismo de Banco 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