If you have transactional or merge replication configured in your environment, you may want to know what objects were create by replication in your subscribing database. For Stored Procedures, there’s nothing in the sys.objects or sys.procedures catalog views that denotes that a procedure is used with replication. Fortunately, there is a system table created in the subscribing database called MSreplication_objects. The query below will give you the Stored Procedures created by replication and the articles associated with them.
SELECT [publisher]
,[publisher_db]
,[publication]
,[object_name]
,[object_type]
,[article]
FROM [MSreplication_objects]
WHERE [object_type] = 'P'
Now that we know the procs that are related to replication, we can exclude them from sys.objects or sys.procedures when looking for user procs in the database.
SELECT *
FROM sys.procedures
WHERE name NOT IN (SELECT [object_name]
FROM MSreplication_objects
WHERE [object_type] = 'P')
No comments:
Post a Comment