Alexandre Curvelo, Autor em Dba Academy
Início Alexandre Curvelo
Alexandre Curvelo SQL Server 1
Linked Server SQL Server O que é? Qual sua utilidade? Como configurar? Linked Server como o nome diz, é a forma de linkar, fazer uma ligação entre banco de dados em diferentes servidores. Quero carregar uma tabela no servidor SQL_1 com registros de uma tabela que está no Servidor SQL_2, por exemplo. Podemos criar o Linked Server chamando o procedimento sp_addlinkedserver ou utilizando a interface GUI. Nesse artigo, demostrarei por scripts. @server – Nome do Linked Server. @srvproduct – Nome do SGBD. Pode ser o Continue lendo→
Quando eu comecei a trabalhar com banco de dados, ouvia de alguns DBAs que para executar um "TRACE"(SQL Server Profiler) era preciso ser um usuário sysadmin e que por isso não era qualquer um que podia usar esse recurso. Sempre que fosse necessário rastrear alguma execução na base, por exemplo, tínhamos que pedir para que um DBA fizesse. Muitos usam este argumento até hoje por falta de conhecimento. A partir do SQL Server 2005, é possível conceder permissão para qualquer usuário através da instrução ALTER Continue lendo→
STRING_SPLIT T-SQL
STRING_SPLIT é uma função que está disponível a partir do SQL Server 2016, que tem como objetivo a quebra de linha a partir de um delimitador. A função STRING_SPLIT pede dois parâmetros: STRING_SPLIT ( string , separator ) String – Deverá ser uma expressão do tipo nvarchar, varchar, nchar ou char. separator – Deverá ser uma expressão com apenas um caractere do tipo nvarchar(1), varchar(1), nchar(1) ou char(1). No exemplo, eu defini a quebra de linha(separator) a partir do "." e utilizei a função ltrim Continue lendo→
DEFAULT T-SQL
O que é atribuir um valor Default? Um Default é um valor padrão que atribuímos a uma coluna ou tipo de dados de alias. Quando inserimos registros em uma tabela, uma coluna com default mesmo que não nula,não precisa receber um valor porque possui um default. Vejam o exemplo… No caso acima, eu criei os tipos default sem especificar um nome. Isso é ruim para nosso catálogo porque o default recebe um nome aleatório. E por que isso é ruim? Porque se eu quiser montar Continue lendo→
WAITFOR Linguagens de controle de fluxo T-SQL – Parte 2
WAITFOR Bloqueia a execução de um script, chamada de um procedimento, por exemplo, até que chegue o tempo especificado na instrução. Exemplo: No caso acima, eu concedi ao usuário (usuario01) permissão de consulta a tabela tb_Produto por uma hora. Veja que utilizei o argumento DELAY e passei o valor '01:00:00′ que é o tempo que ficará em espera até que o comando em sequência seja executado. O tempo máximo que eu posso colocar é 24 horas. Posso também aplicar o argumento TIME que é a Continue lendo→
Alexandre Curvelo Sem categoria, SQL Server 0
TRY…CATCH Linguagens de controle de fluxo T-SQL – Parte 1
TRY…CATCH Usada para tratar erros T-SQL O TRY…CATCH captura todos os erros de execução com severidade maior que 10 que não encerram a conexão do banco de dados. Exemplo: O fornecedor de código 11 não existe e com isso gerou um conflito de FK que é um erro de severidade nível 16. A sintaxe do TRY/CATCH é a seguinte: Qualquer coisa diferente disso vai gerar erro. A seguir um exemplo simples desse tratamento de erro. No bloco catch podemos inserir funções de sistema. No Exemplo Continue lendo→
Conforme prometi no último artigo, segue o script para excluir e recriar as restrições (PKs e FKs) no banco de dados. Primeiro eu armazeno em uma tabela as chaves primárias e estrangeiras, para que eu possa recriá-las no final. Eu armazenei as chaves já concatenadas com a sintaxe que usamos para criar no banco de dados. Em seguida, montei uma rotina para para excluir as restrições (Constraints). Primeiro excluímos as FKs e depois as PKs… Aqui eu executo a consulta para verificar que não existem Continue lendo→
Dominando o catálogo do SQL – Parte 1
Neste artigo falarei sobre as tabelas de sistema que armazenam informações das chaves primária (Primary Key) e estrangeira (Foreign Key) e suas referências. Considero as seguintes tabelas como necessárias para obtermos as informações referentes as tabelas, restrições e suas ligações: – sys.objects – Armazena o nome das tabelas, chaves primária e estrangeira. A coluna object_id é o identificador referente ao nome do objeto e a coluna Parent_object_id é referente a ligação entre os objetos. Poderia usar a tabela sys.Tables também. Enfim. Exemplo: Name – tb_Vendas Continue lendo→