Assembly location?

  • I was interested in finding out where the references are for the dll(s) our developers have created and installed, but now I am a bit confused.

    I did a query for the assemblies we loaded, select * from sys.assembly_files, but I can only do that query on a database where the assemblies are installed. If I "use master" or "use msdb" and do my select statement, I get nothing????

    Are assemblies DB specific? Or are the loaded at the "Server Engine" level? BOL was a bit cryptic on this...

    The reason I ask is that we have a newer set of assemblies/dll(s) that are available but, as of yet, untested.

    Can one DB use assemblies/dll(s) in one file location and other db(s) use the same-named assemblies/dll(s) in a different location?

    Thanks!

    Argue for your limitations, and sure enough they're yours (Richard Bach, Illusions)

  • Normally the assemblies are stored as binary in the db, by default the server can only see its own resources and drives, meanining it can only read assemblies on a drive local ( could be a mapped drive to ). Assemblies can be installed at any local location on the server. It depends where the create assembly script pointed at the time of installation.

  • Assemblies are indeed database specific so you could use one database as a testbed and then at a later time migrate the newer assemblies to your other databases. You need to be careful with this though to avoid headaches later with multiple different versions of the same assembly in different databases.

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply