CHAPTER 7 Troubleshooting
Installation Guide 115
Example 2 Upgrades all stored procedures in the listdb database. Single
quotes are used around
procedure because set quoted identifiers is on:
dbcc upgrade_object(listdb, 'procedure')
Example 3 Upgrades all rules and check constraints in the listdb database.
Double quotes are used around
rule because set quoted identifiers is off.
dbcc upgrade_object(listdb, "rule")
Example 4 Upgrades all stored procedures named list_proc in the listdb
database.
dbcc upgrade_object(listdb, list_proc)
Example 5 Upgrades the stored procedure list_proc, which is owned by the
login “jkarrik”.
dbcc upgrade_object(listdb,
"listdb.jkarrik.list_proc")
Example 6
Returns an error because the value of dbname is master and the
value of database is
listdb. These values must match.
dbcc upgrade_object(master,
"listdb.jkarrik.list_proc")
Permissions
Only the Database Owner or a System Administrator can execute dbcc
upgrade_object
. The Database Owner can upgrade his or her own objects in the
database.
Upgraded objects retain the same owner that they had prior to being upgraded.
Increasing the log segment size
You can specify that all compiled objects of a particular class should be
upgraded in one execution of
dbcc upgrade_object; for example, you can
upgrade all triggers by using the
trigger keyword. However, even though you
use only one
dbcc command, the upgrade of each object is recorded in a
separate transaction; the old row is deleted from
sysprocedures and a new row
is written. Therefore, if you run
dbcc upgrade_object on a large number of
compiled objects, your system may run out of log space. Increase the size of
the log segment in the databases in which you plan to run this command, to
allow sufficient room to log all the upgrades.