# MBS 4.00 SQL xp\_ndo.dll stored procedure

**URL:** <https://www.dynamicsuser.net/t/mbs-4-00-sql-xp-ndo-dll-stored-procedure/9374>\
**Category:** Developers Forum\
**Created:** [November 16, 2004, 9:22am UTC](https://www.dynamicsuser.net/t/mbs-4-00-sql-xp-ndo-dll-stored-procedure/9374 "2004-11-16T09:22:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mheijkant](https://avatars.discourse-cdn.com/v4/letter/m/b5a626/32.png) [@mheijkant](https://www.dynamicsuser.net/u/mheijkant)\
**Post date:** [November 16, 2004, 9:22am UTC](https://www.dynamicsuser.net/t/mbs-4-00-sql-xp-ndo-dll-stored-procedure/9374/1 "2004-11-16T09:22:10Z")

</div>

I’m using MBS- 4.00 W1 version How come, that after installing the extended stored procedure xp\_ndo\_enumusersids users are still unable to use windows authentication? They receive the following message: "The extended stored procedure xp\_ndo\_enumusergroups in the library file xp\_ndo.dll, is not available on the server. Navision W13.70 users are able to use windows authentication with groups but Navsion W14.0 users are not. Did MS or Navsion leave this functionality out of this version?

---

<div class="post-metadata">

**Author:** ![robertc](https://avatars.discourse-cdn.com/v4/letter/r/da6949/32.png) [@robertc](https://www.dynamicsuser.net/u/robertc)\
**Post date:** [November 16, 2004, 10:36am UTC](https://www.dynamicsuser.net/t/mbs-4-00-sql-xp-ndo-dll-stored-procedure/9374/2 "2004-11-16T10:36:41Z")

</div>

There should be a document accompanying 4.0 explaining security changes between 3.70 and 4.0, since 4.0 has undergone a full security review. There is a new xp\_ndo.dll with 4.0. This dll contains a new extended stored procedure used by 4.0 - xp\_ndo\_enumusergroups, as well as the old one - xp\_ndo\_enumusersids, which support any connecting 3.70 clients. Copy the new dll over the old one (if the old one has been loaded by the server already you cannot do that, so you’ll have to DBCC unload it or shutdown the server). Then add xp\_ndo\_enumusergroups using Enterprise Manager or Query Analyzer. Lastly grant execute on this proc to public.

---

<div class="post-metadata">

**Author:** ![mheijkant](https://avatars.discourse-cdn.com/v4/letter/m/b5a626/32.png) [@mheijkant](https://www.dynamicsuser.net/u/mheijkant)\
**Post date:** [November 16, 2004, 11:38am UTC](https://www.dynamicsuser.net/t/mbs-4-00-sql-xp-ndo-dll-stored-procedure/9374/3 "2004-11-16T11:38:06Z")

</div>

Hi Robert, I did use the new procedure and I’ve read the accompanied txt-document, which is more or less same as in earlier version. I did all that. I’ve even tried to add an extra extended stored procedure named “xp\_ndo\_enumusergroups” but after that, Navision gives a messages, telling me that the function “enumusergroups” does not exist. When I removed the stored procedure I got, as expected, messages from MBS W1370 that the couldn’t login. After adding the “new” dll The problem for them was resolved. But still W14.00 users can’t login with windows authentication. So I expect that something is wrong with the “new” dll. The only thing I didn’t do was to reset the SQL-Server which I can’t do during officehours. Any other suggestions?

---

<div class="post-metadata">

**Author:** ![eNeRGy](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@eNeRGy](https://www.dynamicsuser.net/u/eNeRGy)\
**Post date:** [November 16, 2004, 12:37pm UTC](https://www.dynamicsuser.net/t/mbs-4-00-sql-xp-ndo-dll-stored-procedure/9374/4 "2004-11-16T12:37:42Z")

</div>

Just adding the xp\_ndo\_enumusergroups to the master database worked for me. Didn’t you forget to give execute rights to guest and public?

---

<div class="post-metadata">

**Author:** ![robertc](https://avatars.discourse-cdn.com/v4/letter/r/da6949/32.png) [@robertc](https://www.dynamicsuser.net/u/robertc)\
**Post date:** [November 16, 2004, 6:29pm UTC](https://www.dynamicsuser.net/t/mbs-4-00-sql-xp-ndo-dll-stored-procedure/9374/5 "2004-11-16T18:29:48Z")

</div>

Well I think there is some confusion here - 3.70 will not care about xp\_ndo\_enumusergroups being there or not because it uses xp\_ndo\_enumusersids. And you say you ‘even’ added an extra stored procedure ‘xp\_ndo\_enumusergroups’. This is not extra - it is THE stored procedure used by 4.0. Check that the new dll successfully copied over, add and EXECUTE the new proc in query analyzer: EXEC master…xp\_ndo\_enumusergroups ‘domain\user’ …using your domain and user name.
