Usuário com melhor resposta
Trigger DDL retornando erro.

Pergunta
-
Bom dia pessoal.
Estou tentando criar uma DDL em um servidor 2005 Std x64 SP2, a trigger em um server 2008 funciona perfeitamente, ma no 2005 retorna o seguinte erro:
**Msg 1098, Level 15, State 1, Procedure minhatrigger, Line 35
**The specified event type(s) is/are not valid on the specified target object.
Segue o código da trigger:
CREATE TRIGGER minhatrigger ON ALL SERVER WITH ENCRYPTION FOR --Server Scopes CREATE_DATABASE ,ALTER_AUTHORIZATION_SERVER ,ALTER_DATABASE ,DROP_DATABASE ,CREATE_LOGIN ,ALTER_LOGIN ,DROP_LOGIN ,GRANT_SERVER ,DENY_SERVER ,REVOKE_SERVER --Database Scopes ,CREATE_USER ,ALTER_USER ,DROP_USER ,ALTER_TABLE ,CREATE_TABLE ,DROP_TABLE ,DROP_PROCEDURE ,ALTER_PROCEDURE ,CREATE_PROCEDURE ,DROP_INDEX ,ALTER_INDEX ,CREATE_INDEX ,DROP_TRIGGER ,ALTER_TRIGGER ,CREATE_TRIGGER ,DROP_VIEW ,ALTER_VIEW ,CREATE_VIEW AS print 'teste'
O que estou fazendo errado?Abraço.
- Movido Gustavo Maia Aguiar sexta-feira, 15 de julho de 2011 04:05 (De:Programação avançada com o SQL Server)
Respostas
-
Ricardo
Exatamente isto no caso do 2005 vc precisará fazer uma trigger para o scope SERVER e uma outra para o DATABASE
ja no 2008 o all server funcionou, ainda não localizei um documento comentando est comportanmento no 2008...
att.
Marcelo FernandesMCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Ricardo Muramatsu quinta-feira, 14 de julho de 2011 17:02
Todas as Respostas
-
Ricardo,
Algum dos dados da Trigger não existe no SQL Server 2005, por isso o Erro.Veja a lista das opções disponvieis no 2005, creio que alguma de sua query seja apenas do 2008.
http://www.sqlteam.com/article/using-ddl-triggers-in-sql-server-2005-to-capture-schema-changes
http://msdn.microsoft.com/en-us/library/ms189871(v=sql.90).aspx
Fabrizzio A. Caputo
Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com -
Ricardo
vc esta usando event groups de database no escopo de server... mas parece que no 2008 isto mudou estou tentando achar um paper da msft que fale sobre isto... mas se vc olhar no documento do 2005 verá os escopos e os eventos...
http://technet.microsoft.com/en-us/library/ms180824(SQL.90).aspx
Att.
Marcelo FernandesMCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba -
-
Ricardo
vc esta usando event groups de database no escopo de server... mas parece que no 2008 isto mudou estou tentando achar um paper da msft que fale sobre isto... mas se vc olhar no documento do 2005 verá os escopos e os eventos...
http://technet.microsoft.com/en-us/library/ms180824(SQL.90).aspx
Att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba
hmmm, Só para ver se entendi, eu deveria criar uma DDL ALL Server para triggar para os eventos de Server Scope, e uma outra DDL nos Databases somente com os eventos de Database Scope? -
Ricardo
no 2005 seria isto.. mas no 2008 acredito que sito mudou... por isto vc nao recebeu o erro vou fazer alguns testes nas duas edições..
Att.
Marcelo FernandesMCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba -
Ricardo
Exatamente isto no caso do 2005 vc precisará fazer uma trigger para o scope SERVER e uma outra para o DATABASE
ja no 2008 o all server funcionou, ainda não localizei um documento comentando est comportanmento no 2008...
att.
Marcelo FernandesMCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba- Marcado como Resposta Ricardo Muramatsu quinta-feira, 14 de julho de 2011 17:02
-
Ricardo
Exatamente isto no caso do 2005 vc precisará fazer uma trigger para o scope SERVER e uma outra para o DATABASE
ja no 2008 o all server funcionou, ainda não localizei um documento comentando est comportanmento no 2008...
att.
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS.
Se útil, classifique!!!
Me siga no twitter: @marcelodba
Muito obrigado Marcelo.