dinsdag 4 januari 2011

VMWare upgrade requires expert SQL Server knowledge

Today our System Administrator wanted to upgrade the VMWare server (aka vCenter Server) to version 4.1, thereby reusing the existing management database. Our SA is no database expert, and he shouldn't need to be. VMWare thinks otherwise.

To set the scene: the new version is 4.1, which requires a new server because the server OS has to be 64bit. The existing management database is called 'VMware' and located on a SQL Server 2005 instance. On a previous install the SA was instructed to create a 'VMware' user, and create several tables under that account. And therefore automatically in the 'VMware' schema (which in SQL Server is not exactly the same as a user). So in the VMWare database about 1/3 of the objects lives in the dbo schema, and the rest in the VMware schema. While running the upgrade that leads to the following error:

"
Setup found that multiple schemas exist in the database. Please the remove extra schemas before continuing."

Apparently, VMWare knows that such a thing may have happened before, and have written an instruction to solve it. It's here. Unfortunately, it is not enough to make it work. It took us two hours, so I write it down here to save you that time. And forget about the 8 steps on the aforementioned page.

  1. Make a backup from the original VMware database, before even starting the upgrade process.
  2. Start SQL Server Management Studio, and open a new Query Window.
  3. Execute: USE VMware;
  4. Execute: SELECT schema_id from sys.schemas where name = 'VMware';
  5. Execute: SELECT 'ALTER SCHEMA dbo TRANSFER ' + sys.objects.name from sys.objects where sys.objects.type in ('U', 'V', 'P') and sys.objects.schema_id = ;
  6. Copy the result of step 5 from the result window to the query window, and execute this list of statements. You now have moved everything from the VMware schema to the dbo schema.
  7. I suppose you still want to use the VMware user to perform the upgrade, so you have to make sure that when you do, the upgrade scripts doesn't create new objects in the associated VMware schema again. It appears that SQL Server Management Studio lets you set the default schema for user VMware in the properties window. You can change it, but it won't remember the change... So, back to scripting:
  8. Execute: DROP SCHEMA VMware;
  9. Execute: DROP USER VMware;
  10. Execute: CREATE USER VMware WITH DEFAULT_SCHEMA = dbo;
  11. Finally, we came across another error in the upgrade log: "Error while upgrading: ERROR [42000] [Microsoft][SQL Native Client][SQL Server]CREATE INDEX failed because the following SET options have incorrect settings: 'ARITHABORT'. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or query notifications and/or xml data type methods." Well, if you know that, VMware, include a statement in the upgradescript to make sure the setting is correct. But hey, we'll do it ourselves:
  12. Execute: SET ARITHABORT ON;
  13. Make another backup of the VMware database, prior to starting the upgrade.
  14. OK, by now the vCenter Server setup worked through the database upgrade script (using the VMware login for access to the database). I hope it does for you as well.

woensdag 27 oktober 2010

TDM, a history of Impact

Today I came across the acronym 'TDM'. I've worked in the field of healthcare IT for quite some time now, and I was sure I had heard it before. Just could not find the right drawer in my head.

From the context and some other drawer in my head I derived that it had to do with an integration platform and message brokering. Enter Google. Now this is old stuff, so I had to look a bit further. The answer:

TDM is an acronym for Transaction Distribution Broker, and it is a communication broker created by CAI - Century Analysis Inc. I think it was then already bundled with the (then BAZIS, now iSoft) ZIS (Hospital Information System, but then the Dutch acronym). In 1998 it was transformed to Impact, which again was bundled with iSoft ZIS to make it communicate with the outside world.

By now, CAI does not exist anymore. It was acquired by New Era of Networks Inc. (NEON) in 1999. NEON was acquired by Sybase in 2001. Sybase now offers the product under the name "e-Biz Impact".

Thanks to Ric Cross for providing the meaning of TDM. He knows a lot more about it (I quote):

Transaction Distribution Management - There was no binary by that name in the product suite ... just a marketing name to provide some clue as to the products purpose. A "Distributed Computing Environment" (DCE) based "POSIX compliant" message broker.

At the time the term was "Message Oriented Middleware" TDM had several pieces that worked together, the Broker Server Manager (BSM) the Store and Forward Manager (SFM) and message client/servers, we called them Adaptive Interface Modules (AIMs). The concept "Common Services" was the prevalent and primary underpinning of the functionality of the suite. The TDM client GUI was in my biased opinion one of the better parsers of the day. You used the GUI to craft "Production Objects", basically, under the covers C++ class structures for the proprietary "Object Definition Language" (ODL). The ""Production Object" consisted of an inbound definition and the outbound definition. The Outbound Rules were where the transformation of data took place, rules would consist of rule components, with qualifiers and filters (pre and post), built in function calls, etc.

The GUI layout was good. What was clever was the ability load sample data to test the parse and step through the outbound rules.

Typically a developer took the the Production Objects and referenced them to a SFM. The SFM was defined with AIMs for either Inbound or Outbound and presto you were moving messages. You could embed Production Objects within the AIM, make a ODL function call to it to determine data values, set dynamic links, as an example, which SFM or any number of manipulations, use it to call another AIM to retrieve additional data etc, all in all some fairly sophisticated processing could be developed.

woensdag 20 oktober 2010

HP Envy's scroll feature won't resume

New laptop, HP Envy 14, cool piece of gear. Little problem: after resuming from hibernate it won't scroll anymore. Only after a restart of Windows, scrolling came back.

First guess was right: upgraded the Synaptics driver to version 15.0.17.4. Now it works!

woensdag 21 juli 2010

Evernote cookie

I'm on a new laptop at a client's site. Firefox works as a charm, thanks to Firefox Sync. Now I also need Evernote, since I don't have OneNote here. (Two OneNotes is not practical anyway, as the name of the tool implies...)

But the webclipper of Evernote doesn't work. Installation is fine, try to clip, it keeps asking for my password.

After some more minor annoyances about the clipper and the Windows client, I looked around and came across SpringPad. A subject for another blog. However, the bookmarklet for SpringPad did not work either, same symptom. In SpringPad you can link your Google account and then log in with that, also in the clipper bookmarklet. So I tried that. And Google was the first to be so clever to tell me that I should enable cookies.

It turns out that you need to have third-party cookies enabled, at least until you shutdown the browser.

Would that have been the cure for the Evernote clipper as well? Click... o, yeah!

So: If you want to use the Evernote clipper, enable 'cookies from other websites'.

By the way: if you think about it, it's logical. You're on myrecipe.com, want to clip it, and for that you need a cookie from Evernote.com, which is in this case 'another website'.

dinsdag 11 mei 2010

VirtualBox networking for second domain

My laptop is configured to be part of the Furore domain, where I work. However, I frequently work at a customers' location. With my current customer, your machine has to be on the domain, say 'ABC', otherwise al kinds of services are unavailable.

Since my laptop cannot be configured for two domains, I set up a virtual Windows XP with VirtualBox. For the network I used the default NAT setting connected to my physical ethernet connection. Worked fine, for a while.

Today a network monitoring tool apparently saw a local IP address on the network, the one from the VirtualBox Host. Therefore they automatically shut down my network connection. Problem...

This can be prevented by using the Bridged setting (according to the documentation). So I tried. Didn't work. I suppose because the Hosts' MAC address is unknown to the domain controller, and therefore does not get an IP address from the DHCP server. I could try to contact the servicedesk to register this MAC address. But instead I will ask for a separate laptop from ABC. I'm done with administering things I cannot fully control myself.

maandag 22 februari 2010

Outlook Express can compact messages...

Interesting message I get the past few days after each startup. Funny thing is that I do not even use Outlook Express, I only use Outlook. So there is exactly 1 message in there, the default welcome message. Makes sense to compact that ;-)

However, I found the solution, accidentally on an Outlook forum. The crucial part:

It is related to desktop search - right-click the magnifying glass icon in the toolbar menu and choose Windows Desktop Search Options from the menu. If Microsoft Outlook Express is listed under 'Included Locations' then left-click on it and click on the 'Modify' button'. You should see an Indexed Locations popup where you can 'uncheck' the Microsoft Outlook Express: Main Identity entry and you will no longer receive the message.


Edit: Next startup the message reappeared! So I just gave in and pressed OK. It will probably be silent for some time now. In short:

Resistance is futile. We are Microsoft

zaterdag 28 november 2009

Windows 7 needs memory on VirtualBox

Today finally time to install Windows 7 on a virtual machine. Only it ended fairly quickly with a "failed to start" message. Without any clue as to what might be wrong. Searching on the internet did not reveal the answer directly, but someone had made a description of his own installation, mentioning the amount of memory allocated. That rang a bell. VirtualBox's default is 192 MB. That's not enough. I raised it to 1024 MB and now Windows is installing happily.