Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
DB Engine
SQL ServerMSDESQL Server CE
Services
Analysis (Data Mining)Analysis (OLAP)DTSIntegration ServicesNotification ServicesReporting Services
Programming
CLRConnectivitySQLXML
Other Technologies
ClusteringEnglish QueryFull-Text SearchReplicationService Broker
General
Data WarehousingPerformanceSecuritySetupSQL Server ToolsOther SQL Server Topics
DirectoryUser Groups
Related Topics
MS AccessOther DB ProductsMS Server Products.NET DevelopmentVB DevelopmentJava DevelopmentMore Topics ...

SQL Server Forum / Other Technologies / Replication / August 2008

Tip: Looking for answers? Try searching our database.

Missing owner specification in replication of schema changes

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Rolf - 23 Jul 2008 15:50 GMT
I have a problem with replicatin schema changes via ALTER TRIGGER.
Wondering why they are transferred correctly, but not executed I found
the problem in the exists clause which preceeds the statement.

Here is the excerpt from the sysmergeschemachange of the subscriber:

if object_id(N'[Trigger_Karteikarten_Ereignisfelder_Update_Delete]') is not
null
exec ('ALTER TRIGGER
 [Karteikarten].[Trigger_Karteikarten_Ereignisfelder_Update_Delete] on  
 [Karteikarten].[Ereignisfelder]  
 AFTER UPDATE, DELETE  NOT FOR REPLICATION  
AS   BEGIN     ...')

As You see the trigger is located on a table that resides in schema of
the owner "Karteikarten". While the owner is not prefixed in the if-clause
the statement never gets executed.

Does anybody knows a hotfix while I guess the error must reside inside the
[sys].[sp_MSmerge_ddldispatcher]  or deeper.

Regards,
Rolf
Rolf - 11 Aug 2008 16:42 GMT
Nobody answering here - not any MVP ? Is this reported as a bug ?
Where can I report bugs in MS software ?
Rolf - 27 Aug 2008 15:44 GMT
Hoho,

found the thing - but I cannot change system SPs....

               --select @temp_ddlcmds = N'if object_id(N'''
+sys.fn_replreplacesinglequote(quotename (object_name(@objid)))+ N''') is not
null exec('''
               --                                +
sys.fn_replreplacesinglequote('ALTER TRIGGER '
               --                                + @qual_object_name + N'
on '
               --                                + @qual_dest_object2 + N' '
               --                                + @pass_through_scripts )+
N''')'
               
               select @temp_ddlcmds = N'if object_id(N''' +
@qual_object_name + N''') is not null exec('''
                                               +
sys.fn_replreplacesinglequote('ALTER TRIGGER '
                                               + @qual_object_name + N' on '
                                               + @qual_dest_object2 + N' '
                                               + @pass_through_scripts )+
N''')'
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2010 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.