Wednesday, December 4, 2013

Fix orphan users in MS SQL Server after restore

When you restore a MS SQL Server to a different machine, you might expect orphan users.
This also happens when you detach a database and then attach it on another server.

You see the users in the Security->Users section of the sql server and also in the database itself, but you can't login with it.

The problem is, that MS SQL stores the SID along the users, and when you restore it on another MS SQL server the link between user names and SID won't match any longer.

Fixing this via GUI is unfortunally not possible, when you try to map the user it trys to create a new sql user and fails, because there already exists such a user.

Fortunally there are a few stored procedures (available since sql 2000 version) which help you fix the logins.

First, make sure that this is the problem. This will lists the orphaned users:
EXEC sp_change_users_login 'Report'
If you already have a login id and password for this user, fix it by doing:
EXEC sp_change_users_login 'Auto_Fix', 'user'
If you want to create a new login id and password for this user, fix it by doing:
EXEC sp_change_users_login 'Auto_Fix', 'user', 'login', 'password'

Tuesday, December 3, 2013

Install teamviewer 8 under linux for unattended access

Teamviewer is a great software for remote support.
 When your partner has internet access and a GUI available, you can use it to do maintenance work from anywhere in the world and via most of the devices available today. (SMartphones, tables, etc.)

With version 8 they did introduce the unattended access for linux systems too.
Unfortunally the installation routine does not always register the services correctly, so you can't access the remote system.

Fortunally there is a simple fix which works under ubuntu (and most debian based systems)

Just create a service entry yourself and set it to autostart, just as mentioned below:

cd /opt/teamviewer8/tv_bin/script
sudo cp teamviewerd.sysv /etc/init.d/
sudo chmod 755 /etc/init.d/teamviewerd.sysv
sudo update-rc.d teamviewerd.sysv defaults
  
With this in place you can now access the teamviewer instance on the linux system too.

Tuesday, November 19, 2013

Outlook 2010 does not send emails with exchange server

Outlook 2010 and 2013 have a realy nasty bug.

The effect when connected to a exchange server shows up in the inability to send out emails.
Incomming mails in cached mode just work fine, and outlook tells us in the status bar "Connected to server".

When you write a mail, it just gets stuck in the outbox and tells us about a communication error with error code 0x8004011D, meaning that the server is not available.
Just plain rubish, otherwise we would not have incomming mails and in the status bar it would not show "Connected to server"





When you create a new profile for the user, it works a few days, until again it blocks at this point.
When you create a profile without cached mode, it will work with no problems as well, but that's not the intention to have a cached mode.

The solution to this mistery are linked mailboxes.
When you create a profile and add the linked mailboxes as independent account's in outlook, you will get in troubles. It looks like outlook internally adds the linked mailboxes to the profile too, and then has double accounts and messes up things.

The solution is simple: Just remove the additional mailboxes from the outlook profile and mails will be sent out just as you would expect.

Thursday, November 14, 2013

Ever needed to convert a VHD file to a real harddisk?

You probably know the scenario:

The client has started a small project and needed a new server for this.

In these days you useally go for a VM running on a server, and (since it uses few resources) you place the disk content of that VM into a file in the filesystem.
Since it's a small project with small load this is the ideal (cheapest) solution.

A few months later, you realize that this project is not as small as the customer tolds you or is requiring more and more storage place.

So you add more physical disks to the server and make a dedicated mirrored drive for that (once small) VM.

And now you have to transfer the content of the VHD file into the real disk, so you can directly access it with best performance from the VM.
Since MS did not provide a tool for this conversion, you need another tool for it.

There are serveral of them, the simplest GUI tool is Vhd2disk from Sysinternals.

Here is the link to the forum with the download links.



The conversion is very simple, just make sure to select the correct target disk, otherwise you will miss some other data!

Once restored you can change the disk in the Hype-V manager and (if required) expand the volume(s) to take advantage of the additional space.

Monday, October 28, 2013

SQL 2012 Server fails in Windows Update with error 84C4000E

About two years ago I posted a entry about SQL2008R2 failing in installing updates via Windows Update.

http://techtuxwords.blogspot.ch/2011/09/ms-sql-server-2008-r2-sp1-fails-with.html

As you can see, the very same happens with SQL 2012 server, the reason is again the very same issue.
So you have to again change the locale to installing the update, and then you can switch back afterwards.

Wednesday, August 14, 2013

Why a fat GIT repository is a bad idea

When using distributed versioning systems like GIT or Mercury, the size of a repository matters.
For users who only know GIT/Mercurial this might be obvious.
But if you previously used a server based VCS (like Subversion etc.) then this might be interesting to know.

When you use GIT or Mercury to replicate changes, you always send then whole repository file, and this repository file contains all versions/branches etc. So the repository file is quickli becoming large.

When using subversion, the server part handles all the merges/versioning etc.
The client receives/sends only small deltas to/from the server.

So for GIT and Mercurial, make a repository for each subproject and for each "focus"

You can read the full article at dzone

http://java.dzone.com/articles/git-happy-repository

Tuesday, June 18, 2013

You wish to know which files/folders on your linux server are using up most space?

Sometimes when operating a server you recieve a warning that your disk space is almost used up. (Of course you need a monitoring system for this)
As usual, you don't know what your users are storing where and how much.

To identify the largest folders or files you can use this small command line:

du -a /var | sort -n -r | head -n 20

This shows you the 20 top files/folders under /var.

Of course you can also run it agains your root folder, it will then take somewhat longer to complete.
For more details look at this post.

Wednesday, March 20, 2013

Using old help files with windows 8 (and 7, vista)

When you need to use older software in windows 8 (or windows 7 and vista) then you probably have seen the message that the help file can not be opened.

This is because the old .hlp file format is no longer supported by microsoft.
The new help files are in html format which does not macht the old windows help system.

If you still need to open the old help files (otherwise you would probably not be here), then you can download and install the old winhelp application.

You can download it from the microsoft download center

Monday, March 4, 2013

Video encoding with Java

After some reasearch for a good performing java library to do different video conversions, we stumbled over many projects.

On closer inspection we found that most of them are old projects, with no one maintainig them any longer.

We finaly got to the jave project which did what we needed.
Unfortunally it is based on a old version of ffmpeg, which has some problems depending on the input/output formats used.

So we did upgrade the binaries, adapted the parsing code and added a few new features to the library.
After some time trying to contact the original author to push back the changes upstream, we descided to create a new project which is maintained by us.

We named this Jave2, to show the difference to the original jave probject.
The project is hosted on github, you can find it here.

Wednesday, February 20, 2013

Video encoding for Web

When you wish to publish your videos on your own homepage instead of hosting them on youtube, then there are several things to consider.

There exist a lot of tutorials, howtos and faq about this subject, but most are outdated or incomplete.

One of the best we have found is this Webpage: http://diveintohtml5.info/video.html#what-works
It explains what which browser expects and what is needed to get it working.

In short:

- Make a H.264+AAC+MP4 video for iOS and Safari
- Make a WebM video for almost all others, it's considered the future for web videos

Now you can put both files in a html5 video tag and it works almost on all devices.

One major problem is (of course, once more) IE 8 and older.
For these you have to use a flash player, which then plays the MP4 video
http://diveintohtml5.info/video.html#ie

When you convert your videos to MP4, then make sure to use baseline encoding, otherwise many (most?) players will only play the sound, but not the video (or not even the audio part of your video)

If you wish to convert the videos automatically from the commandline, then look for the ffmpeg package.
It might be worth to take one of the 1.x releases, instead of the onse bundled with your distribution, since many things got fixed, especially when it comes to H.264 videos