Somos uma empresa de engenharia de software. Usamos o SQL Server Management Studio (SSMS) para gerar os poucos scripts que precisamos para construir e atualizar nossos bancos de dados. Embora faça um bom trabalho, me incomoda que ele insiste em cercar os tipos de dados com []. Portanto, uma definição de coluna será como:
[ID] [INT] IDENTITY(1,1) NOT NULL
embora isso funcione, não gosto porque não distingue o nome da coluna de seu tipo no script. Incluindo realce de sintaxe (tudo é apenas preto ou sua cor de fonte padrão). Eu queria saber se alguém tinha alguma idéia de como alterar esse comportamento. Nós apenas queremos que a saída seja como:
[ID] INT IDENTITY(1,1) NOT NULL
A compra de uma ferramenta específica não é uma opção neste momento com base na quantidade de scripts que realmente fazemos.
Agradecemos antecipadamente por qualquer ajuda,
Eric.
Não conheço nenhuma configuração que faça isso no SSMS. A Microsoft provavelmente faz isso para que eles não precisem verificar o nome do tipo de dados em busca de caracteres especiais ao gerar o script (os nomes de tipos de dados definidos pelo usuário podem ter qualquer coisa neles), então eles apenas encaixam tudo.
Você pode enviar isso como uma solicitação de recurso para a equipe de ferramentas via connect.microsoft.com ou para Mladen para incluir em seu SSMS Tools Pack .
Parece
[]
ser uma das características internas. Basta fazer macros em qualquer editor de verdade para substituir[INT]
,[VARCHAR]
... para[]
menos versão ou apenas substituir todos[
e]
com char vazio.ADICIONADO:
Vá para Ferramentas > Opções > SQL Server Object Explorer > Script.
Você poderia rolar seu próprio script (eu mesmo escrevi scripts SQL de ajuda usando
sys.objects
sys.columns
etc ...Eu uso uma variação do script abaixo para obter as definições de campo, então é apenas uma questão de concatenação de strings (com a configuração do SSMS para saída em Texto):
então, para gerar o script de criação de tabela, seria: