In VB.NET, I am trying to execute a stored procedure that tries to insert values into a table using a SELECT statement. The SELECT statement uses tables from this database and also uses a view containing this database's tables and a table from a different database. When I try to execute the procedure, I get an error message that the user ID in my connection string does not have rights to the different database. What would be the solution to this problem?
The thing to investigate here that will allow access across databases is cross-database ownership chaining. The behavior of this function was modified in SQL Server 2000's Service Pack 3. Take a look at the entry in Books Online called
"Cross DB Ownership Chaining option."
Make sure you have an updated copy of Books Online too.
Dig Deeper on SQL Server Stored Procedures
Related Q&A from Greg Low
Learn why using the sp_OACreate stored procedure with a SQL Server 2005 trigger, is likely to result in a permissions problem.
Copying stored procedures between databases on the same SQL Server 2005 can be done through scripting the stored procedures with this method.
Find how to query in SQL Server to get all database names created by users.
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.