I have found the MSDN definition and code examples of 'sp_addextendedproperty'. In Example A on that page, I see an example of how to add an extended property to a database.
USE AdventureWorks2012; GO --Add a caption to the AdventureWorks2012 Database object itself. EXEC sp_addextendedproperty @name = N'Caption', @value = 'AdventureWorks2012 Sample OLTP Database';
The thing that is immediately obvious is that you first have to declare a database context, and the stored procedure operates only within that database context.
If I wanted to add a database as a parameter, I suppose I could create a separate script that wraps around
sp_addextendedproperty and sets the database context before executing the stored procedure.
-- execute wrapper stored procedure EXEC WrapperStoredProcedure @DatabaseName = N'Database name', @name = N'Extended property name', @value = N'Extended property value'; GO
In this case
WrapperStoredProcedure probably uses Dynamic SQL to set the database context and execute
Am I missing an obvious technique or convention that will allow me to declare the database as part of the
EXEC sp_addextendedproperty statement, without having to create a separate wrapper scripts?