temos vários objetos de banco de dados, tais como vista, procedimentos armazenados, gatilhos, funções e índices em uma base de dados relacional. Muitas vezes, queremos ver definições para esses objetos. Podemos usar a forma gráfica do SSMS ou t-SQL para gerar scripts.
por exemplo, queremos ver a definição de uma vista SQL .. Vamos explorar as duas maneiras de gerar scripts.,
diferentes métodos para ver a definição de objectos
Assistente de scripts SSMS:
expandir a base de dados e ir para as vistas. Carregue com o botão direito numa área específica para a qual queremos gerar o programa e carregue na área de programas como->Criar para.
Podemos obter o script das seguintes formas.
- Na nova janela de pesquisa
- obtenha o programa na .,Arquivo SQL
- Copie o script na área de transferência
- Obter script em um trabalho do Agente de SQL
Gerar Assistente de Script:
podemos utilizar Gerar Assistente de Script do SSMS, bem como para gerar o script. Carregue com o botão direito numa base de dados e vá para as tarefas-> gerar programas.
no Assistente de programas gerar, seleccione o objecto específico da base de dados e carregue no seguinte.
pode completar o Assistente para obter o programa.,
usando T-SQL:
podemos usar consultas t-SQL também para obter o script dos objetos. Você pode usar os seguintes métodos t-SQL para obter definições para um objeto.
- obtenha scripts usando o Information_Schama.,Pontos de vista:
Execute a seguinte consulta no banco de dados de origem e especificar o nome do objeto na cláusula where
1234SELECT TABLE_NAME como ViewName,VIEW_DEFINITION como ViewDefinitiona PARTIR de INFORMATION_SCHEMA.,Viewswhere TABLE_NAME=’vEmployee’ - Sp_helptext system procedure:
You can use sp_helptext system procedure as well to get the script. You need to specify the object name along with the schema if it is other than dbo.
1EXEC sp_helptext ‘.,’ - object_definition função
podemos usar uma object_definition função, bem como para gerar um script para o objeto. Na consulta seguinte, nós usamos o object_definition função para um modo de exibição vEmployee no AdventureWorks2017 de banco de dados
1SELECIONE object_definition (OBJECT_ID(N’.,’))
Permissões necessárias para gerar objetos de script
é um aspecto essencial para qualquer DBA para controlar as permissões do usuário para acessar objetos. Muitas vezes os usuários exigem direitos adicionais em uma base de dados para cumprir seu dever. Por padrão, os usuários com papel público não têm permissões para ver a definição de um objeto. É útil para os desenvolvedores obter as definições de objetos para que eles possam executar isso em um ambiente de não-produção., Também não queremos dar permissões privilegiadas aos utilizadores, especialmente no ambiente de produção.vamos criar um novo utilizador de base de dados e fornecer um papel público na base de dados AdventureWorks2014.
conecte-se ao servidor SQL usando as credenciais de login com permissão pública.
Execute a consulta para obter a definição de vista de um objecto. O comando sp_ helptext dá uma mensagem de erro de que um objeto não existe na base de dados.,
If we try to get the script using INFORMATION_SCHEMA.Views, ele não dá nenhuma mensagem de erro; no entanto, ele não retorna nenhuma linha.
Você não pode usar o SSMS também porque ele não mostra os objetos para o acesso público ao papel.
Podemos usar a permissão de definição de vista no servidor SQL para permitir que os usuários vejam as definições de objetos. Podemos fornecer este acesso a um papel público ou a um utilizador individual.,
- Se queremos fornecer direitos de definição de objeto view a todos os usuários com papel público, execute a seguinte consulta.,v>
123USE AdventureWorks2017GOGRANT VIEW ANY DEFINITION TO Rajendra
1
|
GRANT VIEW DEFINITION on ., TO Rajendra
|
Let’s provide access to a specific user (Rajendra) on a specific object ( .) and verify the permissions to view the definition of an object.
1
|
EXEC sp_helptext ‘.,’
|
Você pode tentar outros métodos para exibir definições de objeto especificado na seção anterior. Você pode actualizar a ligação no SSMS, assim como ver todos os objectos depois de atribuir as permissões de definição da vista.
Podemos acompanhar as permissões usando o comando sp_helprotect.,
- Na imagem abaixo, você pode observar o seguinte:
- Objeto: vEmployee
- Proprietário( Esquema) : Recursoshumanos
- Beneficiário ( Usuário): Rajendra
- Concedente ( permissão Concedente): dbo
- Permissão: Conceder
- Ação( direitos): Definição do modo de Exibição
Revogar a Vista de Definições de permissão
aprendemos a Conceder o modo de Exibição de definição de permissões para um utilizador, papel ou objeto no SQL Server na seção anterior., É também um aspecto importante saber como revogar essas permissões de definições de View. Muitas vezes, podemos querer dar acesso temporário a um usuário e revogá-lo mais tarde. Podemos revogar as permissões para o usuário em todas as bases de dados com a view Revoke qualquer comando de definição.,iv>
1
2
3
|
USE AdventureWorks2017
GO
REVOKE VIEW DEFINITION on ., PARA Rajendra
|
Conclusão
neste artigo, exploramos a Conceder e Revogar ver definição de permissões no SQL Server para exibir definições para um objeto. Ele fornece-lhe as informações necessárias para gerenciar as permissões para definições de objetos. Se você tiver quaisquer comentários ou perguntas, sinta-se livre para deixá-los nos comentários abaixo.,
- Autor
- Posts Recentes
Ver todos os posts por Rajendra Gupta
- tempos limite de Sessão no SQL Server Sempre Em Grupos de Disponibilidade – fevereiro 8, 2021
- Realização de pequenas e principais atualizações de versão para o AWS RDS para SQL Server – 29 de janeiro de 2021
- a Implantação da AWS RDS PostgreSQL instâncias – 27 de janeiro de 2021
Leave a Reply