Answers from Microsoft

I'm running a data warehouse application on SQL Server 6.5 where a nightly process inserts rows and aggregates the data into weekly, monthly, and yearly tables. I consistently get the following error in the Windows NT Application Error Log:

WARNING: Open Objects parameter may be too low. Error: Attempt was made to free up descriptors in localdes. Error: Run sp_configure to increase parameter value.

The Open Objects parameter is set to 5000. How can I determine the appropriate value to run on my applications, without bumping up the setting until the error goes away?

I suspect the problem involves the temporary tables and open objects, which Service Pack 3 (SP3) for SQL Server 6.5 fixed. You need to upgrade to at least SP3, although Microsoft recommends SP5. I don't know how to monitor the number of object handlers SQL Server currently has open. And other than installing a service pack, I don't know of another way than bumping the open objects to a higher number (if you have enough memory). The number needs to represent the maximum number of open tables, stored procedures, views, etc., that you have open.

One of my SQL Server applications can't send email. The SqlAgent.out says

Unable to start mail session (reason: No mail profile defined) or: An attempt was made to send an email when no email session has been established.

In the SQL Mail Configuration dialog box, I typed the same profile name I use for another SQL Server, which email works on. When I click Test, the message appears:

Error 22030: A MAPI error(error number:273) occurred: MapiLogonEX failed due to MAPI error:273: MAPI Logon failed.

How can I send mail?

To configure the mail profile, make sure you're logged in to the account that the service is running under. In SQL Server 7.0, the two mail systems, SQL Mail and the SQL Server Agent mail, are separate. To make SQL Mail work, you need to use the SQL Server service account to configure the mail profile. To make the SQL Server Agent mail work, use the SQL Server Agent service account to configure the mail profile.

SQL Server Books Online (BOL)refers to creating a custom COM component resolver by using the ICustomResolver interface. How do I use the ICustomResolver?

ICustomResolver is the interface and class that all resolvers inherit. ICustomResolver is extensible, so developers can add and develop resolvers as needed. The five sample custom resolvers that come with SQL Server 7.0 (ICustom-Resolver isn't one of them) are the custom stored procedure resolver, publisher-based resolver, subscriber-based resolver, datetime-based resolver, and merge text resolver.

You can find sample code for these resolvers in the SQL Server 7.0 directory \Mssql7\Devtools\Samples \Sqlrepl\. Other than BOL, I don't know of other documentation on ICustomResolver.

When I create a stored procedure in SQL Server 7.0, can I enable a setting to check the validation of the stored procedure? I created a stored procedure with

SELECT test FROM test body

and compiled it, but it returns Invalid object name test when I run it.

You can't enable a setting to check the validation of a stored procedure when you create it. However, a new feature of SQL Server 7.0, dynamic name resolution, resolves object names at runtime. Dynamic name resolution lets the administrator create the programs to access an object without creating the object first.

   Prev. page   [1] 2     next page



You must log on before posting a comment.

If you don't have a username & password, please register now.

Reader Comments

We've seen the same problem on SQL 6.5 SP5a. See the following MS Knowledgebase articles: 1. Q178296 - SQL 6.5 Open Objects BUG... 2. Q114843 - Explanation of Open Objects in SQL Server

...still happening too. bumped up the open objects value in sp_configure.

Martin

 
 

ADS BY GOOGLE