BUG: Db_owner Role Members Cannot Use sp_[un]bindrule and sp_[un]bindefaultID: Q234174
|
Although a member of the db_owner role is successfully able to execute the sp_bindefault stored procedure, the default will not be correctly supplied when an INSERT statement is run and a value is not specified.
Additionally, db_owner role members will receive error 15104 if they attempt to run sp_unbindefault, sp_bindrule, or sp_unbindrule:
Msg 15104, Level 16, State 1
You do not own a table named 'dbo' that has a column named 'Today'.
The owner qualifier in the object name is optional. When specified, these system stored procedures are not correctly handling the parameter. Note that in the error 15104 message, the table name is given as 'dbo' rather than the actual table name.
A supported fix that corrects this problem is now available from Microsoft, but
it has not been fully regression tested and should be applied only to systems
experiencing this specific problem. If you are not severely affected by this
specific problem, Microsoft recommends that you wait for the next SQL Server service pack
that contains this fix.
To resolve this problem immediately, contact Microsoft Product Support Services
to obtain the fix. For a complete list of Microsoft Product Support Services
phone numbers and information on support costs, please go to the following
address on the World Wide Web:
http://www.microsoft.com/support/supportnet/overview/overview.aspThe English version of this fix should have the following file attributes or later:
Version File name
-----------------------
7.00.663 S70663.exe
NOTE: Due to file dependencies, the most recent hotfix or feature that contains the above files may also contain additional files.Q154871 Determining If You Are Eligible for No-Charge Technical Support
To work around this problem, run the command as the actual database owner (DBO), rather than a db_owner role member, and omit the optional object owner qualifier from the command. For example, instead of doing the following:
EXEC sp_bindefault 'dbo.MyDefault', 'TestTable.TestColumn'
Use a command like the one below:
EXEC sp_bindefault 'MyDefault', 'TestTable.TestColumn'
Microsoft has confirmed this to be a problem in SQL Server version 7.0.
SQL Server 7.0 Books Online does not explicitly mention that permissions to these procedures are also granted to db_owner role members. However, this permission is consistent with the purpose and design of roles in SQL Server 7.0.
Additional query words: security constraint
Keywords : SSrvAdmin SSrvDoc_Err SSrvTran_SQL kbbug7.00
Version : winnt:7.0
Platform : winnt
Issue type : kbbug
Last Reviewed: July 2, 1999