SQL Server 2012: Trechos de código T-SQL

Os trechos de código em SQL Server 2012 são essencialmente os modelos que podem agilizar construção demonstrações de banco de dados.

Saleem Hakani

Imagine uma série de comandos que você sempre usar ao criar um gatilho, Table, Stored Procedure ou mesmo uma instrução Select. Agora imagine ter todos esses comandos estabelecidos e prontos para uso. Você pode reduzir significativamente a quantidade de tempo e o código que você tem que escrever usando os novos trechos de código T-SQL no SQL Server 2012.

Trechos de código T-SQL permitem rapidamente construir T-SQL instruções sem ter de lembrar os comandos ou a sua sintaxe. Você pode usar esse recurso para ajudar a reduzir o tempo de desenvolvimento e aumento da produtividade de seus desenvolvedores e DBAs.

Modelos de trecho em 2012 do SQL Server são baseados em XML com valores e campos predefinidos. Quando você usar um trecho de código T-SQL, esses campos são realçados e você pode percorrer cada campo e alterar os valores conforme necessário.

Trechos são categorizados para facilidade de uso. Você pode exibir e selecionar vários trechos com base na categoria. SQL Server 2012 apresenta três tipos de trechos:

  • **Padrão trechos (ou trechos de expansão):**Estes são modelos de código para vários comandos T-SQL, que você pode inserir rapidamente em seu código T-SQL ao criar tabelas, procedimentos armazenados, gatilhos e assim por diante.
  • **Trechos de código surround:**Estes são modelos de código, que ajudam a implementar código constrói como começar a final, se, embora, e assim por diante.
  • **Trechos de código personalizados:**Você pode criar seus próprios trechos personalizados que serão exibida com o menu do trecho.

Criar trechos de código personalizado

Vejamos como criar um trecho de código personalizado e adicioná-lo ao menu de trecho. Criando e usando um trecho de código são um processo de três etapas:

  1. Criar um trecho de código usando XML
  2. Registrar o trecho de código no SQL Server Management Studio (SSMS)
  3. Invocar o trecho quando usando o Editor de consultas

Por padrão, todos os trechos de código T-SQL são armazenados na seguinte pasta e salvos como arquivos. snippet:
C: Program Files\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\SQL\Snippets\1033

Passo 1. Criar um arquivo de trecho de código T-SQL com XML
Aqui está um trecho de código que você pode usar para escrever uma instrução Select para qualquer tabela (ele também irá permitir que você use uma instrução CASE para uma verificação de igualdade em uma coluna):

CASE_END.SNIPPET File <?xml version="1.0" encoding="utf-8" ?> <CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Case-End</Title> <Description> Insert Case...End Construct. </Description> <Author> Saleem Hakani (Microsoft Corporation) </Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Code Language="SQL"> <![CDATA[ Select <Column_Name1>, <Column_Name2>, <Column_Name3>, <Column_Name4>= CASE <Column_Name4> WHEN '<value>' THEN '<Result>' WHEN '<value>' THEN '<Result>' WHEN '<value>' THEN '<Result>' WHEN '<value>' THEN '<Result>' ELSE 'Value not found' END, <Column_Name5>, <Column_Name6> From <Table_Name> Go ]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>

Passo 2. Registrar o trecho com SSMS

Depois de criar esse arquivo, use o Gerenciador de trechos de código para registrar o trecho com SSMS. Você pode adicionar uma nova pasta com base na categoria trecho ou importar trechos individuais para a pasta My Code Snippets.

Para adicionar uma pasta de trecho:

  1. Inicie o SQL Server Management Studio
  2. Selecione os itens do menu ferramentas e clique em Gerenciador de trechos de código, que lança o Snippet Manager
  3. Clique o "Adicionar" botão
  4. Navegue até a pasta que contém o CASE_END.Trecho de arquivo e clique no botão Selecionar pasta

O próximo passo é importar o trecho em para o SQL Server Management Studio:

  1. Inicie o SQL Server Management Studio
  2. Selecione os itens do menu ferramentas e clique em Gerenciador de trechos de código
  3. Clique no botão Importar na parte inferior
  4. Navegue até a pasta que contém o arquivo CASE_END.snippet e selecione o arquivo CASE_End.snippet e, em seguida, clique no botão abrir

Passo 3. Invocar ou inserir um trecho de T-SQL Editor de consultas

Agora você tem um trecho chamado CASE_END que você pode chamar do editor de consultas com a tecla de atalho pressionando CTRL + K + X. Em seguida, selecione a pasta da categoria na qual você armazenou o trecho. Você também pode botão direito do mouse sobre o menu de contexto no editor de consultas e selecione Insert Snippet.

Você também pode chamar um trecho clicando no menu de contexto no editor de consultas. Isto irá apresentar-lhe várias opções de trecho.

Usando essas etapas, você pode criar trechos de código T-SQL e registrá-los com o SQL Server Management Studio. Você também pode criar trechos complexos de várias tarefas regulares e tornar sua vida de gerenciamento do SQL Server muito mais fácil.

Soluções de trecho

Imagine que você é um desenvolvedor ou um DBA responsável pela segurança de seus servidores. Você pode ter 500 logons no SQL Server, mas você não sabe as funções de nível de servidor aos quais são atribuídos esses 500 logins. Se você fosse verificar individualmente propriedades a cada login, ele iria demorar várias horas ou mesmo dias. Ter uma forma automatizada de verificar rapidamente todos os logons do servidor-nível seria reduzir o tempo de código, bem como aumentar a precisão do código e desenvolvedor e produtividade do DBA.

Aqui está um trecho de código que lhe permite rapidamente olhar para logons de nível de servidor e suas funções de nível de servidor e permissões. Esta lista de trecho de SecuritySPY identifica logons de nível de servidor e as funções que lhes são atribuído:

<?xml version="1.0" encoding="utf-8" ?> <CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>SQL_SecuritySPY - By Saleem Hakani (Microsoft Corporation)</Title> <Description> Shortcut for checking SQL Server Server Role Permissions </Description> <Author> Saleem Hakani (Microsoft Corporation) </Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Code Language="SQL"> <![CDATA[ --Author: Saleem Hakani (Microsoft Corporation) --Website: Http://sqlcommunity.com Select 'Login Name'= Substring(upper(SUSER_SNAME(SID)),1,40), 'Login Create Date'=Convert(Varchar(24),CreateDate), 'System Admin' = Case SysAdmin When 1 then 'YES (VERIFY)' When 0 then 'NO' End, 'Security Admin' = Case SecurityAdmin When 1 then 'YES (VERIFY)' When 0 then 'NO' End, 'Server Admin' = Case ServerAdmin When 1 then 'YES (VERIFY)' When 0 then 'NO' End, 'Setup Admin' = Case SetupAdmin When 1 then 'YES (VERIFY)' When 0 then 'NO' End, 'Process Admin' = Case ProcessAdmin When 1 then 'YES (VERIFY)' When 0 then 'NO' End, 'Disk Admin' = Case DiskAdmin When 1 then 'YES (VERIFY)' When 0 then 'NO' End, 'Database Creator' = Case DBCreator When 1 then 'YES (VERIFY)' When 0 then 'NO' End from Master.Sys.SysLogins order by 3 desc Go ]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>

Agora você tem um trecho chamado SecuritySPY. Você pode chamar isso com a tecla de atalho do editor de consultas, conforme explicado anteriormente. Você também pode botão direito do mouse sobre o menu de contexto no editor de consultas e selecione Insert Snippet.

Criando e usando trechos de código podem simplificar suas tarefas de gerenciamento do SQL Server. Ter um punhado de comandos predefinidos à sua disposição o impede de ter que fazer a mesma coisa uma e outra vez.

Greg Steen

Saleem Hakani é dos principais arquitetos da Microsoft com mais de 18 anos de experiência. Ele tem trabalhado com o SQL Server desde 1992 e já trabalhou em inúmeros serviços de Microsoft em larga escala como um engenheiro e arquiteto nos últimos sete anos, incluindo Hotmail, Bing e MSN. Hakani leva a Comunidade Mundial de servidor de SQL para funcionários da Microsoft e é um apresentador de técnico para vários eventos da Microsoft incluindo TechReady, SQLFEST, Escola de SQL e SQLPASS.

Conteúdo relacionado