performance - MS Access 2003 + linked tables to SQL Server 2005 + Windows Authentication = slow -


Our MS Access application with linked tables in SQL Server 2005 is slow when Windows authentication is used from Windows API client .

We are successfully using SQL Server authentication, but now we want to go into Windows authentication for better security control.

Setup:

  • Database Server: Windows 2003 Server, SQL Server 2005 SP2
  • Client: Windows XP SP3, SQL Server ODBC Driver v2000.85.1132 .00
  • MS Access Application: MS Access 2003
  • Connection String:
    Driver = SQL Server; Server = [server name]; Timeout = 300 connect; Trusted connection = true; APP = Microsoft Office 2003; WSID = [server name]; Database = [DB name]
  • Only the TCP / IP network protocol is enabled on the server.

It is such that these conditions:

  • Application on DB server, SQL Server authentication
  • App on DB server, Windows authentication
  • Windows XP client, app on SQL Server authentication
  • SQL Server Management Studio on client, Windows certification - I have 15 questions in SQL MS There was a small test with running. It went fast and did not cause any logon / logoff event in the security event log on the server.
  • I have analyzed the slowerness by using SQL Server Profiler and Event Log on the server < / Li> Li> User's identity is verified (security on the server) Visible in the event log, there is a logon / logoff event). It takes hundreds of milliseconds.

  • The query runs on SQL Server
  • Results are returned to access
  • This is for every query something happens Form + 10 questions while updating new records (updating sub-forms, loading values ​​for combo etc.) This is performed very slowly.

    Of course, for every query it is not necessary to establish a new connection on the SQL Server, and the connection that re-use can solve the problem. I am looking for information on ensuring that Access / ODBC does proper connection pooling. I found these MS KB articles:


    I have tried to call the SQLSetEnvAttr function with the main form of the Access application, but this has not improved the results.

    Any help is greatly appreciated.

I have the first question: are you running a domain controller? It may sound like a crazy question, but I just want to make sure. Although less and less common, I have seen organizations run Windows Network with workgroups and "pass-through" authentication. The features you describe are similar to those seen on the network in this fashion. You can.

Assume that you have the proper domain set up, you should have a problem in the named pipes network. Named Pipes is the default protocol if you are using Windows authentication. If you have the time, but if you just want to fix your performance problem, then I do not have a bad idea to go to the bottom of this, so I will force the TCP / IP protocol in your connection string: < / P>

 APP = Microsoft Office 2003; WSID = [server name]; Database = [Name of DB]   Driver = SQL Server; Server = TCP: [server name]; Timeout = 300 connect; 

In addition to TCP NOTE: The prefix I got from this syntax TCP / IP is the default protocol for SQL Server authentication. You can also switch protocols by deactivating named Pipes support on the server, but this is a Trouble is more and other unexpected problems can be caused.


Comments

Popular posts from this blog

c# - ListView onScroll event -

PHP - get image from byte array -

Linux Terminal Problem with Non-Canonical Terminal I/O app -