text:
Argenis Fernandezhttp://sqlblog.com/blogs/argenis_fernandez/atom.aspxCommunity Server2012-03-05T14:16:00ZHack-Attaching a SQL Server database with NORECOVERYhttp://sqlblog.com/blogs/argenis_fernandez/archive/2017/01/24/hack-attaching-a-sql-server-database-with-norecovery.aspx2017-01-24T18:27:00Z2017-01-24T18:27:00Z
Let me just start this post with a huge disclaimer/warning: what I'm about to show you in this post is NOT SUPPORTED by Microsoft at all. It's a hack, and it might not work whatsoever in your environment.

But I think it's pretty cool.

You might have probably heard about hack-attaching a database. It's a very good thing to know, and a powerful tool when you need it. That's not supported by Microsoft either (technically speaking), but I've seen folks use it. I may or may not have used it more than once :)

Whenever you attach a database to SQL Server, crash recovery is executed against it - and it is always brought online automatically. Requests from the community - and vendors, even - to Microsoft to implement a means to attach a database with NORECOVERY (such that you can later apply transaction log backups to it) have gone nowhere - closed as "Won't fix" in Connect. Some folks have blogged on their approach to how to do this, but I have found myself with mostly suspect or plain unusable databases while trying them.

In this post I will detail the steps that worked for me to make this possible - and even initializing an AlwaysOn Availability Groups replica leveraging a hack-attached database with NORECOVERY.

In a Pure Storage-hosted post I used StackOverflow's publicly-accessible database to discuss dedupe and compression in our arrays - in this post I use that database again.

To get started, I logged on to CSLAB-SQL00, and I took a VSS snapshot of the volume where the data and log files for this database live. Please note that you don't really need VSS for certain storage arrays, like Pure Storage FlashArrays, which always generates crash-consistent snaps and copies. Since a Pure Storage array is all I have access to, this is what I will use for the purposes of this blog post, but I wanted to use VSS to keep the process generic and applicable to other storage arrays.

Please note that the failed COM call shown above can be safely ignored, per this Microsoft KB article.

Using the FlashArray GUI, I create a volume from the snapshot:

The GUI asks for a name for the new volume, so I picked one:

Now let's present the new volume to CSLAB-SQL01, a different server attached to the same array. In this case I could also leverage the array's replication capabilities to have a snapshot, possibly of a protection group if your data and log files live on a separate volume, replicated to another array.

Presenting a volume to a host using the GUI couldn't be easier. Click on the gear icon, choose Connect Hosts and select the host you want. Then click Confirm, and off you go.

I now log on to CSLAB-SQL01, and issue a Rescan Disks on Disk Management. Keep in mind that all of this could be scripted using Pure's Powershell SDK. This guy pops up on the list:

And now I use some DISKPART goodness to bring the volume online, and with a new disk signature, which is needed here only because CSLAB-SQL00 and CSLAB-SQL01 are nodes of the same Windows Server Failover Cluster (WSFC), and clear out some attributes:

If you're wondering where I got that GUID from, I executed [GUID]::NewGuid() on another Powershell window. You could also execute SELECT NEWID() on any SQL Server instance to get a new GUID.

I mounted the new volume on X:\SqlData2 then granted NT SERVICE\MSSQLSERVER full control on the files.

To confirm that SQL Server can access the files, I issued a convenient DBCC CHECKPRIMARYFILE:

Much like in the traditional hack-attach approach, we create an empty database on the target instance. This is going to be on the X:\SqlData mount point/volume. You will need to make sure that file names and database file IDs match, otherwise you might not get things to work.

If you have Instant File Initialization (IFI) enabled, and you use a FlashArray volume to host this empty database, it will take very little space -- and it will only take a few seconds to create. In my test machine, this took about 650Kb of actual disk space and less than 2 seconds to complete.

I then took a full backup of the empty database (to FILE='nul', of course) and a tail of the log backup, to bring the empty database to Restoring status:

Now, we stop SQL Server and replace the volume mounted on X:\SqlData with the one that was mounted on X:\SqlData2, and start SQL Server again.

If you try to bring the database to STANDBY/Read-only, you should get something similar to this:

But CONTINUE_AFTER_ERROR comes to the rescue:

Now pay attention to the message that got cropped on my screenshot above: if you use Service Broker with your original database, you will have to enable it later.

We now have a database in STANDBY. Could we possibly restore some transaction log backups on top of it? You bet! I went to the source database, and created a dummy table with 1000 rows, then took a transaction log backup:

I copied the transaction log backup file to the target host (CSLAB-SQL01). This is what I got when I tried to restore it -- same error as when I put the database in STANDBY, basically:

Yep, CONTINUE_AFTER_ERROR to the rescue, again:

The database is now in NORECOVERY! To confirm I have a good database, I put the database in STANDBY again, then proceed to query the dummy table:

1000 rows there, so it looks like all is well. But is my database COMPLETELY clean?

A clean CHECKDB -- music to my ears.

Now you might be wondering: can I use this hack-attached database with NORECOVERY to join this database to an availability group? Yes. Can I make it a mirroring partner? Yup! How about a log shipping secondary? That too. Can this help you in case of "Oops, I dropped a table in production!"? You bet.

Some of you be thinking "Hey, can't I just use a VSS requester app like Commvault, Netbackup or Catalogic to do this?" Of course you can. This post is targeting those of you who don't have that choice.

To recap: I went from a SAN snapshot to point-in-time recovery in a couple minutes. I think that's pretty cool. But remember, this stuff isn't supported!

 Thanks for reading,

-A
Argenishttp://sqlblog.com/members/Argenis.aspxScripting out Contained Database Usershttp://sqlblog.com/blogs/argenis_fernandez/archive/2014/07/28/scripting-out-contained-database-users.aspx2014-07-29T00:48:40Z2014-07-29T00:48:40Z

Today's blog post comes from a Twitter thread on which @SQLSoldier, @sqlstudent144 and @SQLTaiob were discussing the internals of contained database users.

Unless you have been living under a rock, you've heard about the concept of contained users within a SQL Server database (hit the link if you have not). In this article I'd like to show you that you can, indeed, script out contained database users and recreate them on another database, as either contained users or as good old fashioned logins/server principals as well.

Why would this be useful? Well, because you would not need to know the password for the user in order to recreate it on another instance. I know there is a limited number of scenarios where this would be necessary, but nonetheless I figured I'd throw this blog post to show how it can be done.

A more obscure use case: with the password hash (which I'm about to show you how to obtain) you could also crack the password using a utility like hashcat, as highlighted on this SQLServerCentral article.

The Investigation

SQL Server uses System Base Tables to save the password hashes of logins and contained database users. For logins it uses sys.sysxlgns, whereas for contained database users it leverages sys.sysowners.

I'll show you what I do to figure this stuff out: I create a login/contained user, and then I immediately browse the transaction log with, for example, fn_dblog.

It's pretty obvious that only two base tables touched by the operation are sys.sysxlgns, and also sys.sysprivs – the latter is used to track permissions. If I connect to the DAC on my instance, I can query for the password hash of this login I've just created.

A few interesting things about this hash. This was taken on my laptop, and I happen to be running SQL Server 2014 RTM CU2, which is the latest public build of SQL Server 2014 as of time of writing. In 2008 R2 and prior versions (back to 2000), the password hashes would start with 0x0100. The reason why this changed is because starting with SQL Server 2012 password hashes are kept using a SHA512 algorithm, as opposed to SHA-1 (used since 2000) or Snefru (used in 6.5 and 7.0). SHA-1 is nowadays deemed unsafe and is very easy to crack.

For regular SQL logins, this information is exposed through the sys.sql_logins catalog view, so there is really no need to connect to the DAC to grab an SID/password hash pair. For contained database users, there is (currently) no method of obtaining SID or password hashes without connecting to the DAC.

If we create a contained database user, this is what we get from the transaction log:

Note that the System Base Table used in this case is sys.sysowners. sys.sysprivs is used as well, and again this is to track permissions.

To query sys.sysowners, you would have to connect to the DAC, as I mentioned previously. And this is what you would get:

There are other ways to figure out what SQL Server uses under the hood to store contained database user password hashes, like looking at the execution plan for a query to sys.dm_db_uncontained_entities (Thanks, Robert Davis!)

SIDs, Logins, Contained Users, and Why You Care…Or Not.

One of the reasons behind the existence of Contained Users was the concept of portability of databases: it is really painful to maintain Server Principals (Logins) synced across most shared-nothing SQL Server HA/DR technologies (Mirroring, Availability Groups, and Log Shipping). Often times you would need the Security Identifier (SID) of these logins to match across instances, and that meant that you had to fetch whatever SID was assigned to the login on the principal instance so you could recreate it on a secondary. With contained users you normally wouldn't care about SIDs, as the users are always available (and synced, as long as synchronization takes place) across instances.

Now you might be presented some particular requirement that might specify that SIDs synced between logins on certain instances and contained database users on other databases. How would you go about creating a contained database user with a specific SID?

The answer is that you can't do it directly, but there's a little trick that would allow you to do it.

Create a login with a specified SID and password hash, create a user for that server principal on a partially contained database, then migrate that user to contained using the system stored procedure sp_user_migrate_to_contained, then drop the login.

CREATE LOGIN <login_name> WITH PASSWORD = <password_hash> HASHED, SID = <sid> ;

GO

USE <partially_contained_db>;

GO

CREATE USER <user_name> FROM LOGIN <login_name>;

GO

EXEC sp_migrate_user_to_contained @username = <user_name>, @rename = N'keep_name', @disablelogin = N'disable_login';

GO

DROP LOGIN <login_name>;

GO

Here's how this skeleton would look like in action:

And now I have a contained user with a specified SID and password hash. In my example above, I renamed the user after migrated it to contained so that it is, hopefully, easier to understand.

Enjoy!
Argenishttp://sqlblog.com/members/Argenis.aspxOn Community and Recognitionhttp://sqlblog.com/blogs/argenis_fernandez/archive/2014/07/01/story-time-people.aspx2014-07-01T15:00:00Z2014-07-01T15:00:00Z

Even though way early in my career I had a SQL Server MVP as a mentor (by pure chance), it wasn't until 2008-2009 that I sort of researched a bit more about the program, and what it really meant. I was beginning to understand how powerful networking in our community really is, and how attending and participating on SQL Saturdays and other events would make all the difference in my career.

I thought having that "badge" would be cool, but I really didn't know how to get one.

I remember I asked K. Brian Kelley [twitter|blog], somebody who I consider a friend (even though I've never met him in person) how could I become a SQL Server MVP. He mentioned helping others through any vehicle (forums like MSDN's, SQL Server Central, etc.) would help, but that I really needed to ask myself what it would mean to me to be an MVP. And I often wondered, really, what it all meant. Was it just an award given to somebody who would answer questions from others relentlessly? Would it be just some award given to members of this semi-secret inner circle?

Over time I became more and more involved with the community. I started speaking, and continued helping others, mostly through #SQLHelp on Twitter (funny how a hashtag changes your life!). I was seriously turned off by forums (still am) and didn't care much about blogging very frequently. After all, other folks out there blog about just about every single topic on SQL Server, and I didn't one to be just one more guy. Yet I blogged, but it was only when I thought my post could really make a difference to somebody facing a similar situation or working with an under-documented feature.

The fact that I tweeted incessantly helped get my name out there, and I kept being accepted to speak at SQL Saturdays and even the PASS Summit. Then I got my MCM certification, which really gave my name some exposure out there.

I was really becoming influential.

I eventually delivered pre-conferences at premier events like SQLBits, spoke at massive events like DevConnections and TechEd, and started toying with the idea of helping PASS even more. Then, with the help of Robert Davis [twitter|blog], and also from K. Brian Kelley himself, we launched the Security Virtual Chapter for PASS.

I was doing all this high profile stuff, which was fantastic, but I never lost sight of my roots: volunteering and helping others. I kept signing up to help PASS as member of the Program Committee, something that I have proudly done for 3 years in a row (and I'm not going to discuss current controversy on the subject here), helped moderate Lightning Talks at the Summit even when I wasn't chosen as a speaker, spent hours talking to people at the Community Zone at the Summit and the BA Conference, moderated online web casts for the Security VC, and helped moderate online events like 24 Hours of PASS. And, all along, learning and sharing on #SQLHelp.

All the little things that not a lot of people sign up for (or avoid altogether), I happily help with.

Yet "MVPness" is not something that I feel entitled to. Not something that I demanded every quarter. I find it funny that I look forward to the MVP Summit taking place in Seattle because that means I get to hang out with that group – I have met a LOT of them along the way, and some of them I consider extremely close friends. These are people that I deeply respect. Still, I am not expecting an award by association.

I do the things I do for the SQL Server community because I love it, not because I want another three letter acronym on my resume.

Earlier on this year I was nominated for the award by several very influential folks in the community (Thank you!!). I seriously thought I wasn't going to get it, because I thought I hadn't done enough for the community to deserve it.

Today, I am _insanely_ honored to be recognized for my contributions to the community.

This is one badge I will wear with pride.

Today I was awarded the SQL Server MVP award.

And now the real work begins.

This award is yours, #SQLFamily, and also goes to the unsung heroes of this community that have been working hard for YEARS and still have not been awarded; you know who you are. Never give up, my friends. Stay true to your north.
Argenishttp://sqlblog.com/members/Argenis.aspxBest Advice Ever: Learn By Helping Othershttp://sqlblog.com/blogs/argenis_fernandez/archive/2013/10/24/best-advice-ever-learn-by-helping-others.aspx2013-10-25T01:32:00Z2013-10-25T01:32:00Z
I remember when back in 2001 my friend and former SQL Server MVP Carlos Eduardo Rojas was busy earning his MVP street-cred in the NNTP forums, aka Newsgroups. I always thought he was playing the Sheriff trying to put some order in a Wild Wild West town by trying to understand what these people were asking. He spent a lot of time doing this stuff – and I thought it was just plain crazy. After all, he was doing it for free. What was he gaining from all of that work?

It was not until the advent of Twitter and #SQLHelp that I realized the real gain behind helping others. Forget about the glory and the laurels of others thanking you (and thinking you're the best thing ever – ha!), or whatever award with whatever three letter acronym might be given to you.

It's about what you learn in the process of helping others.

See, when you teach something, it's usually at a fixed date and time, and on a specific topic. But helping others with their issues or general questions is something that goes on 24x7, on whatever topic under the sun. Just go look at sites like DBA.StackExchange.com, or the SQLServerCentral forums. It's questions coming in literally non-stop from all corners or the world. And yet a lot of people are willing to help you, regardless of who you are, where you come from, or what time of day it is.

And in my case, this process of helping others usually leads to me learning something new. Especially in those cases where the question isn't really something I'm good at. The delicate part comes when you're ready to give an answer, but you're not sure. Often times I'll try to validate with Internet searches and what have you. Often times I'll throw in a question mark at the end of the answer, so as not to look authoritative, but rather suggestive. But as time passes by, you get more and more comfortable with that topic. And that's the real gain.

 I have done this for many years now on #SQLHelp, which is my preferred vehicle for providing assistance. I cannot tell you how much I've learned from it. By helping others, by watching others help. It's all knowledge and experience you gain…and you might not be getting all that in your day job today. Such thing, my dear reader, is invaluable. It's what will differentiate yours amongst a pack of resumes. It's what will get you places. Take it from me - a guy who, like you, knew nothing about SQL Server.
Argenishttp://sqlblog.com/members/Argenis.aspxDBCC CHECKDB on VVLDB and latches (Or: My Pain is Your Gain)http://sqlblog.com/blogs/argenis_fernandez/archive/2013/06/16/dbcc-checkdb-on-vvldb-and-latches-or-my-pain-is-your-gain.aspx2013-06-17T08:32:00Z2013-06-17T08:32:00Z

Does your CHECKDB hurt, Argenis?

There is a classic blog series by Paul Randal [blog|twitter] called "CHECKDB From Every Angle" which is pretty much mandatory reading for anybody who's even remotely considering going for the MCM certification, or its replacement (the Microsoft Certified Solutions Master: Data Platform – makes my fingers hurt just from typing it). Of particular interest is the post "Consistency Options for a VLDB" – on it, Paul provides solid, timeless advice (I use the word "timeless" because it was written in 2007, and it all applies today!) on how to perform checks on very large databases.

Well, here I was trying to figure out how to make CHECKDB run faster on a restored copy of one of our databases, which happens to exceed 7TB in size. The whole thing was taking several days on multiple systems, regardless of the storage used – SAS, SATA or even SSD…and I actually didn't pay much attention to how long it was taking, or even bothered to look at the reasons why - as long as it was finishing okay and found no consistency errors.

Yes – I know. That was a huge mistake, as corruption found in a database several days after taking place could only allow for further spread of the corruption – and potentially large data loss.

In the last two weeks I increased my attention towards this problem, as we noticed that CHECKDB was taking EVEN LONGER on brand new all-flash storage in the SAN! I couldn't really explain it, and were almost ready to blame the storage vendor. The vendor told us that they could initially see the server driving decent I/O – around 450Mb/sec, and then it would settle at a very slow rate of 10Mb/sec or so. "Hum", I thought – "CHECKDB is just not pushing the I/O subsystem hard enough". Perfmon confirmed the vendor's observations.

Dreaded @BlobEater

What was CHECKDB doing all the time while doing so little I/O? Eating Blobs.

It turns out that CHECKDB was taking an extremely long time on one of our frankentables, which happens to be have 35 billion rows (yup, with a b) and sucks up several terabytes of space in the database. We do have a project ongoing to purge/split/partition this table, so it's just a matter of time before we deal with it.

But the reality today is that CHECKDB is coming to a screeching halt in performance when dealing with this particular table.

Checking sys.dm_os_waiting_tasks and sys.dm_os_latch_stats showed that LATCH_EX (DBCC_OBJECT_METADATA) was by far the top wait type. I remembered hearing recently about that wait from another post that Paul Randal made, but that was related to computed-column indexes, and in fact, Paul himself reminded me of his article via twitter. But alas, our pathologic table had no non-clustered indexes on computed columns.

I knew that latches are used by the database engine to do internal synchronization – but how could I help speed this up? After all, this is stuff that doesn't have a lot of knobs to tweak.

(There's a fantastic level 500 talk by Bob Ward from Microsoft CSS [blog|twitter] called "Inside SQL Server Latches" given at PASS 2010 – and you can check it out here. DISCLAIMER: I assume no responsibility for any brain melting that might ensue from watching Bob's talk!)

Failed Hypotheses

Earlier on this week I flew down to Palo Alto, CA, to visit our Headquarters – and after having a great time with my Monkey peers, I was relaxing on the plane back to Seattle watching a great talk by SQL Server MVP and fellow MCM Maciej Pilecki [twitter] called "Masterclass: A Day in the Life of a Database Transaction" where he discusses many different topics related to transaction management inside SQL Server. Very good stuff, and when I got home it was a little late – that slow DBCC CHECKDB that I had been dealing with was way in the back of my head.

As I was looking at the problem at hand earlier on this week, I thought "How about I set the database to read-only?" I remembered one of the things Maciej had (jokingly) said in his talk: "if you don't want locking and blocking, set the database to read-only" (or something to that effect, pardon my loose memory). I immediately killed the CHECKDB which had been running painfully for days, and set the database to read-only mode. Then I ran DBCC CHECKDB against it. It started going really fast (even a bit faster than before), and then throttled down again to around 10Mb/sec. All sorts of expletives went through my head at the time. Sure enough, the same latching scenario was present. Oh well.

I even spent some time trying to figure out if NUMA was hurting performance. Folks on Twitter made suggestions in this regard (thanks, Lonny! [twitter])

…Eureka?

This past Friday I was still scratching my head about the whole thing; I was ready to start profiling with XPERF to see if I could figure out which part of the engine was to blame and then get Microsoft to look at the evidence.

After getting a bunch of good news I'll blog about separately, I sat down for a figurative smack down with CHECKDB before the weekend. And then the light bulb went on.

A sparse column. I thought that I couldn't possibly be experiencing the same scenario that Paul blogged about back in March showing extreme latching with non-clustered indexes on computed columns. Did I even have a non-clustered index on my sparse column?

As it turns out, I did. I had one filtered non-clustered index – with the sparse column as the index key (and only column).

To prove that this was the problem, I went and setup a test.

Yup, that'll do it

The repro is very simple for this issue: I tested it on the latest public builds of SQL Server 2008 R2 SP2 (CU6) and SQL Server 2012 SP1 (CU4).

First, create a test database and a test table, which only needs to contain a sparse column:

CREATE DATABASE SparseColTest; GO USE SparseColTest; GO CREATE TABLE testTable (testCol smalldatetime SPARSE NULL); GO INSERT INTO testTable (testCol) VALUES (NULL); GO 1000000

That's 1 million rows, and even though you're inserting NULLs, that's going to take a while. In my laptop, it took 3 minutes and 31 seconds.

Next, we run DBCC CHECKDB against the database:

DBCC CHECKDB('SparseColTest') WITH NO_INFOMSGS, ALL_ERRORMSGS;

This runs extremely fast, as least on my test rig – 198 milliseconds.

Now let's create a filtered non-clustered index on the sparse column:

CREATE NONCLUSTERED INDEX [badBadIndex] ON testTable (testCol) WHERE testCol IS NOT NULL;

With the index in place now, let's run DBCC CHECKDB one more time:

DBCC CHECKDB('SparseColTest') WITH NO_INFOMSGS, ALL_ERRORMSGS;

In my test system this statement completed in 11433 milliseconds. 11.43 full seconds. Quite the jump from 198 milliseconds.

I went ahead and dropped the filtered non-clustered indexes on the restored copy of our production database, and ran CHECKDB against that. We went down from 7+ days to 19 hours and 20 minutes.

Cue the "Argenis is not impressed" meme, please, Mr. LaRock.

My pain is your gain, folks. Go check to see if you have any of such indexes – they're likely causing your consistency checks to run very, very slow.

Happy CHECKDBing,

-Argenis

ps: I plan to file a Connect item for this issue – I consider it a pretty serious bug in the engine. After all, filtered indexes were invented BECAUSE of the sparse column feature – and it makes a lot of sense to use them together. Watch this space and my twitter timeline for a link.
Argenishttp://sqlblog.com/members/Argenis.aspxDBA Best Practices - A Blog Series: Episode 3 - Use a Wiki for Documentationhttp://sqlblog.com/blogs/argenis_fernandez/archive/2013/02/13/dba-best-practices-a-blog-series-episode-3-use-a-wiki-for-documentation.aspx2013-02-13T20:31:00Z2013-02-13T20:31:00Z

Retaking on this blog series after an extended hiatus. I hope you will enjoy today's topic on documentation.

Boring Work? Nope – An Opportunity

One of the often neglected and yet extremely important tasks of any DBA is to document his/her environment. I can certainly relate to those of you who haven't written a single page of documentation for your environment – I was there before. And I felt bad.

The good news is that documentation doesn't have to be painful. My friends at Brent Ozar Unlimited recently posted a video on documentation – you can find it in this link – and they touch on that very same subject: There ARE ways to document your environment that will leave you greatly satisfied with the results, and some of you might even enjoy the process. Your manager will love you for it – and you won't feel bad for the new guy who replaces you when it's time to move on.

How About Word Documents and Excel Sheets in SharePoint?

Not perfect. Let's face it. Writing pages and pages of documentation for your database environment (or ANY IT environment) in Word is tiresome. Excel sheets can have tons of information and might be easy to peruse. But no matter how good your formatting is, how many pictures and Visio diagrams you throw at it, you'll always get the sense that the document you spent days working on will just end up in the SharePoint site and collect dust there. SharePoint can handle changes and versioning for you, if you use it correctly – so that's a plus. But think about ease of access to the documents – ease of editing. Discussions around it. Even automated updates! Is a SharePoint folder the way to go for that? (Or a UNC path, for those of you without SharePoint?)

An Old Friend Can Work Marvels

You've been to WikiPedia. More than once. You know how useful it is, and how, thanks for the built-in search function and Search Engines, easy it is to find information on it.

How about using a wiki engine for your documentation? Can't picture that in your head? Hear me out: wikis are VERY easy to create, edit and collaborate on – you just click on Edit and away you go. They have built-in version control, discussion pages, categories, lists, and pretty much everything you need to have a versatile documentation site.

Picture this: a wiki page for every environment, listing all the servers that belong to it – and linking to individual wiki pages with tons of information about those servers, including former incident highlights, detailed information about the server (CPUs, RAM, OS Version, SQL Instances, patches, team(s) who own the server, escalation paths for incidents, and much more.

The best part: these pages that have lots of information can be updated via an automated process. WHAT? AUTOMATED DOCUMENTATION YOU SAY? Yes. Think scripts. Scripts that will go over your environments on a regular basis and update information on them in the wiki. Does that sound cool or what? All you need is to understand the capabilities of your wiki engine (think API), and pair it up with your favorite scripting language. For me, it's a slam-dunk: I'll use PowerShell to automate the information gathering process, and a wiki engine that runs on SQL Server – I'll show you a few options in a bit.

Now imagine that you give access to your NOC/Helpdesk to this wiki site: you don't want them to change anything on it, so you set permissions for read-only access to the site. The benefits would be great: now the NOC has easy access to information on a given server that just alerted, and if you saved notes for that type of alert for that server, instructing Operators to collect certain information before they call you, that can save precious time and help you troubleshoot the issue. You might even let the NOC track incidents on a particular section of the wiki page for that server, so you can figure out if there is a pattern that you need to address.

YMMV on your organization's needs – but this can be a very valuable tool to keep your business running efficiently. I have worked for teams that relied heavily on Wikis for documentation - and saw first hand how this greatly improves access to information for our team. How you use it in your environment and how you adapt it to your requirements is entirely up to you – I only wanted to give you a few ideas on how you might put this to your advantage.

Which Wiki Engine Should I Use?

There are TONS of wiki engines out there: WikiPedia has a page (not frequently updated, alas) that lists some of them. Being the SQL Server guy that I am, I'm naturally inclined to use something powered by SQL in the backend. The most widely used wiki engine, developed by the Wikimedia Foundation, is a typical LAMP (Linux/Apache/MySQL/PHP) application. If you have experience with Apache, PHP and MySQL, you should use that. It's updated very frequently, and it's got a large community behind it.

Now, if you have SharePoint, you may or may not know that it comes with a wiki engine as well – and that's detailed here.

Recently I used FlexWiki , which uses SQL Server as a backend. Being a SQL database on the backend, you back it up and keep it safe as the rest of your backups – just don't use the same servers you're trying to document to host the wiki engine's database. If you lose that server, you lost access to the documentation about it.

Unfortunately, FlexWiki isn't being actively maintained. But look at the list of Wiki software – you're bound to find something that fits your needs.

No More Excuses – Get To It!

If you have no documentation/poor documentation. Go take care of it, now. Go create and/or reuse scripts that gather information about your environment. Be proactive about it – make sure those scripts get updated. Show your work to your peers and your boss. Feel confident that you have control of your environment, and rock on!

What Are Your Thoughts?

I'd love to hear what you're doing in your environment as far as documentation goes. Will you leave some comments below? Also, if you feel like giving some feedback on the DBA Best Practices series, I'd appreciate it.

Until next time,

-Argenis
Argenishttp://sqlblog.com/members/Argenis.aspxPaul Randal's Disaster Recovery Step-by-Step Posterhttp://sqlblog.com/blogs/argenis_fernandez/archive/2013/02/07/paul-randal-s-disaster-recovery-step-by-step-poster.aspx2013-02-07T21:09:00Z2013-02-07T21:09:00Z
If you were looking for Paul Randal's [Blog|Twitter] DR poster and couldn't find it anywhere on the net, I have good news for you: I saved a copy on my PC before it was taken down, and (with Paul's permission) wanted to make it available here.

So, without further ado, enjoy the poster.
Argenishttp://sqlblog.com/members/Argenis.aspxThe Myth Around 32-bit SQL Server Instances on 64-bit Operating Systems, and AWEhttp://sqlblog.com/blogs/argenis_fernandez/archive/2012/12/30/the-myth-around-32-bit-sql-server-instances-on-64-bit-operating-systems-and-awe.aspx2012-12-31T02:36:00Z2012-12-31T02:36:00Z
(I'm taking a break from my DBA Best Practices blog series to talk about this today – the series continues after the Holidays!)

I love to be proved wrong. Really, I do.

Recently we had a discussion in an distribution list where somebody asked whether a SQL Server 32-bit instance could address more than 4Gb of RAM when running on top of a 64-bit OS. One of the really smart guys in Microsoft SQL Server Support, Karthick P.K. [Blog|Blog|Twitter] replied "sure, just add more RAM and enable AWE – SQL will use that memory". I was much convinced that this was incorrect, so I jumped in and said that AWE does nothing under those circumstances. After all, that is what I had read in the past in many different articles. I even had some SQL Server MVPs who have been around the block forever agreeing with me.

But the good news is that I was wrong.

AWE in fact does nothing on 64-bit instances of SQL Server. But on WOW64 - Windows on Windows 64-bit, the subsystem of Windows x64 that allows you to run 32-bit processes and instances of SQL Server, AWE does allow you to address memory above 4Gb. Let me show you.

Side note: AWE is now deprecated - removed in SQL Server 2012. The last version of SQL Server that supports AWE is SQL Server 2008 R2. Because of this, a SQL Server 2012 x86 instance won't be able to enjoy over 4Gb of memory – even if running on WOW64.

I setup a vanilla VM in my lab with a 64-bit OS with 8Gb of memory. MSINFO32 looks like this on the VM:

I installed a 32-bit SQL Server 2008 R2 SP2 instance on the VM. @@VERSION looked like this:

I did not enable AWE. I did grant the "Perform Volume Maintenance Tasks" and "Lock Pages in Memory" privileges using secpol.msc (not pictured!). I wanted to see what memory consumption would look like without AWE enabled.

This screenshot shows the permissions granted to the SQL Server Service Account (NETWORK SERVICE, in this case) – used "whoami /priv", a quick and dirty way to get the privileges of the service account using xp_cmdshell. Ugh, xp_cmdshell. It's okay, it's just a test.

I went ahead and created a test database with just one big table – big enough to use all the buffer pool memory on the instance when a size-of-data operation is executed on it. I did set Max Server Memory to 6Gb.

Here's the CREATE table script:

CREATE TABLE [dbo].[testTable]( [id] [int] IDENTITY(1,1) NOT NULL, [wideColumn] [nvarchar](4000) NULL, PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[testTable] ADD DEFAULT (replicate(N'A',(4000))) FOR [wideColumn] GO

Next, I went ahead and inserted 1M rows on the table:

INSERT INTO [dbo].[testTable] DEFAULT VALUES GO 1000000

If you do the math very quickly, you will agree with me that this not so little table will be more than 6Gb in size. Let's check anyway:

Cool! The table is large enough for the purpose of this test. But how does memory utilization look like after that 1M row insert?

That's less than 4Gb. Next I turned on AWE, and restarted the instance. Then I queried the ERRORLOG to confirm that AWE was enabled:

Okay, since I had just restarted the instance my buffer pool was gone – needed to force a size of data operation on the large table. Rebuilding the clustered index did just fine (I know, that's probably overkill). Then I checked sys.dm_os_process_memory again:

And there we go! A lot more than 4Gb being used now that AWE is in play. I had set Max Server Memory to 6Gb, as I detailed earlier.

It looks like there's quite a lot of incorrect documentation regarding this, so I wanted to clear out any confusion – and learn something new along the way. Don't you love SQL Server?

Happy Holidays and Happy New Year!

-Argenis

P.S.: If you are running IA64 (Itanium) - then this doesn't apply to you. AWE does not work at all on IA64.
Argenishttp://sqlblog.com/members/Argenis.aspxDBA Best Practices - A Blog Series: Episode 2 - Password Listshttp://sqlblog.com/blogs/argenis_fernandez/archive/2012/11/29/dba-best-practices-a-blog-series-episode-2-password-lists.aspx2012-11-30T05:10:54Z2012-11-30T05:10:54Z

Digital World, Digital Locks

One of the biggest digital assets that any company has is its secrets. These include passwords, key rings, certificates, and any other digital asset used to protect another asset from tampering or unauthorized access.

As a DBA, you are very likely to manage some of these assets for your company - and your employer trusts you with keeping them safe. Probably one of the most important of these assets are passwords. As you well know, the can be used anywhere: for service accounts, credentials, proxies, linked servers, DTS/SSIS packages, symmetrical keys, private keys, etc., etc.

Have you given some thought to what you're doing to keep these passwords safe? Are you backing them up somewhere? Who else besides you can access them?

Good-Ol' Post-It Notes Under Your Keyboard

If you have a password-protected Excel sheet for your passwords, I have bad news for you: Excel's level of encryption is good for your grandma's budget spreadsheet, not for a list of enterprise passwords.

I will try to summarize the main point of this best practice in one sentence: You should keep your passwords on an encrypted, access and version-controlled, backed-up, well-known shared location that every DBA on your team is aware of, and maintain copies of this password "database" on your DBA's workstations.

Now I have to break down that statement to you:

- Encrypted: what's the point of saving your passwords on a file that any Windows admin with enough privileges can read?

- Access controlled: This one is pretty much self-explanatory.

- Version controlled: Passwords change (and I'm really hoping you do change them) and version control would allow you to track what a previous password was if the utility you've chosen doesn't handle that for you.

- Backed-up: You want a safe copy of the password list to be kept offline, preferably in long term storage, with relative ease of restoring.

- Well-known shared location: This is critical for teams: what good is a password list if only one person in the team knows where it is?

I have seen multiple examples of this that work well. They all start with an encrypted database. Certainly you could leverage SQL Server's native encryption solutions like cell encryption for this. I have found such implementations to be impractical, for the most part.

Enter The World Of Utilities

There are a myriad of open source/free software solutions to help you here. One of my favorites is KeePass, which creates encrypted files that can be saved to a network share, Sharepoint, etc. KeePass has UIs for most operating systems, including Windows, MacOS, iOS, Android and Windows Phone.

Other solutions I've used before worth mentioning include PasswordSafe and 1Password, with the latter one being a paid solution – but wildly popular in mobile devices.

There are, of course, even more "enterprise-level" solutions available from 3rd party vendors. The truth is that most of the customers that I work with don't need that level of protection of their digital assets, and something like a KeePass database on Sharepoint suits them very well.

What are you doing to safeguard your passwords? Leave a comment below, and join the discussion!

Cheers,

-Argenis
Argenishttp://sqlblog.com/members/Argenis.aspxDBA Best Practices - A Blog Series: Episode 1 - Backupshttp://sqlblog.com/blogs/argenis_fernandez/archive/2012/11/15/dba-best-practices-a-blog-series-episode-1-backups.aspx2012-11-16T05:42:00Z2012-11-16T05:42:00Z

This blog post is part of the DBA Best Practices series, on which various topics of concern for daily database operations are discussed. Your feedback and comments are very much welcome, so please drop by the comments section and be sure to leave your thoughts on the subject.

Morning Coffee

When I was a DBA, the first thing I did when I sat down at my desk at work was checking that all backups had completed successfully. It really was more of a ritual, since I had a dual system in place to check for backup completion: 1) the scheduled agent jobs to back up the databases were set to alert the NOC in failure, and 2) I had a script run from a central server every so often to check for any backup failures.

Why the redundancy, you might ask. Well, for one I was once bitten by the fact that database mail doesn't work 100% of the time. Potential causes for failure include issues on the SMTP box that relays your server email, firewall problems, DNS issues, etc. And so to be sure that my backups completed fine, I needed to rely on a mechanism other than having the servers do the taking - I needed to interrogate the servers and ask each one if an issue had occurred. This is why I had a script run every so often.

Some of you might have monitoring tools in place like Microsoft System Center Operations Manager (SCOM) or similar 3rd party products that would track all these things for you. But at that moment, we had no resort but to write our own Powershell scripts to do it.

Now it goes without saying that if you don't have backups in place, you might as well find another career. Your most sacred job as a DBA is to protect the data from a disaster, and only properly safeguarded backups can offer you peace of mind here.

"But, we have a cluster...we don't need backups"

Sadly I've heard this line more than I would have liked to. You need to understand that a cluster is comprised of shared storage, and that is precisely your single point of failure. A cluster will protect you from an issue at the Operating System level, and also under an outage of any SQL-related service or dependent devices. But it will most definitely NOT protect you against corruption, nor will it protect you against somebody deleting data from a table - accidentally or otherwise.

Backup, fine. How often do I take a backup?

The answer to this is something you will hear frequently when working with databases: it depends.

What does it depend on? For one, you need to understand how much data your business is willing to lose. This is what's called Recovery Point Objective, or RPO. If you don't know how much data your business is willing to lose, you need to have an honest and realistic conversation about data loss expectations with your customers, internal or external. From my experience, their first answer to the question "how much data loss can you withstand?" will be "zero". In that case, you will need to explain how zero data loss is very difficult and very costly to achieve, even in today's computing environments.

Do you want to go ahead and take full backups of all your databases every hour, or even every day? Probably not, because of the impact that taking a full backup can have on a system. That's what differential and transaction log backups are for.

Have I answered the question of how often to take a backup? No, and I did that on purpose. You need to think about how much time you have to recover from any event that requires you to restore your databases. This is what's called Recovery Time Objective. Again, if you go ask your customer how long of an outage they can withstand, at first you will get a completely unrealistic number - and that will be your starting point for discussing a solution that is cost effective.

The point that I'm trying to get across is that you need to have a plan. This plan needs to be practiced, and tested. Like a football playbook, you need to rehearse the moves you'll perform when the time comes. How often is up to you, and the objective is that you feel better about yourself and the steps you need to follow when emergency strikes.

A backup is nothing more than an untested restore

Backups are files. Files are prone to corruption. Put those two together and realize how you feel about those backups sitting on that network drive. When was the last time you restored any of those?

Restoring your backups on another box - that, by the way, doesn't have to match the specs of your production server - will give you two things: 1) peace of mind, because now you know that your backups are good and 2) a place to offload your consistency checks with DBCC CHECKDB or any of the other DBCC commands like CHECKTABLE or CHECKCATALOG. This is a great strategy for VLDBs that cannot withstand the additional load created by the consistency checks.

If you choose to offload your consistency checks to another server though, be sure to run DBCC CHECKDB WITH PHYSICALONLY on the production server, and if you're using SQL Server 2008 R2 SP1 CU4 and above, be sure to enable traceflags 2562 and/or 2549, which will speed up the PHYSICALONLY checks further - you can read more about this enhancement here.

Back to the "How Often" question for a second. If you have the disk, and the network latency, and the system resources to do so, why not backup the transaction log often? As in, every 5 minutes, or even less than that? There's not much downside to doing it, as you will have to clear the log with a backup sooner than later, lest you risk running out space on your tlog, or even your drive. The one drawback to this approach is that you will have more files to deal with at restore time, and processing each file will add a bit of extra time to the entire process. But it might be worth that time knowing that you minimized the amount of data lost. Again, test your plan to make sure that it matches your particular needs.

Where to back up to? Network share? Locally? SAN volume?

This is another topic where everybody has a favorite choice. So, I'll stick to mentioning what I like to do and what I consider to be the best practice in this regard. I like to backup to a SAN volume, i.e., a drive that actually lives in the SAN, and can be easily attached to another server in a pinch, saving you valuable time - you wouldn't need to restore files on the network (slow) or pull out drives out a dead server (been there, done that, it's also slow!).

The key is to have a copy of those backup files made quickly, and, if at all possible, to a remote target on a different datacenter - or even the cloud. There are plenty of solutions out there that can help you put such a solution together. That right there is the first step towards a practical Disaster Recovery plan. But there's much more to DR, and that's material for a different blog post in this series.
Argenishttp://sqlblog.com/members/Argenis.aspxT-SQL Tuesday #36 (#tsql2sday)– Post-PASS Summit Depressionhttp://sqlblog.com/blogs/argenis_fernandez/archive/2012/11/13/t-sql-tuesday-36-tsql2sday-post-pass-summit-depression.aspx2012-11-14T05:40:06Z2012-11-14T05:40:06Z

I had an email thread going with a prominent member of the SQL Server community today, where he confessed that he didn't attend any sessions during the PASS Summit last week. He spent all of this time networking and catching up with people.

I, personally, can relate.

This year's Summit was another incarnation of that ritual of SQL Server professionals meeting to share their knowledge, experience, and just have a wonderful time while doing so.

It's been a few days after the Summit is over, and I'm definitely dealing with withdrawal.

My name is Argenis, and I'm a #SQLFamilyHolic.

(This post is part of the T-SQL Tuesday series, a monthly series of blog posts from members of the SQL Server community – this month, Chris Yates is hosting)
Argenishttp://sqlblog.com/members/Argenis.aspxDBA Best Practices: A Blog Serieshttp://sqlblog.com/blogs/argenis_fernandez/archive/2012/11/12/dba-best-practices-a-blog-series.aspx2012-11-13T07:11:57Z2012-11-13T07:11:57Z

Introduction

After the success of the "Demystifying DBA Best Practices" Pre-Conference that my good friend Robert Davis, a.k.a. SQLSoldier [Blog|Twitter] and I delivered at multiple events, including the PASS Summit 2012, I have decided to blog about some of the topics discussed at the Pre-Con. My thanks go to Robert for agreeing to share this content with the larger SQL Server community.

This will be a rather lengthy blog series - and as in the Pre-Con, I expect a lot of interaction and feedback. Make sure you throw in your two cents in the comments section of every blog post.

First topic that I'll be discussing in this blog series: The thing of utmost importance for any Database Administrator: the data. Let's discuss the importance of backups and a solid restore strategy.

Care to share your thoughts on this subject in the comments section below?
Argenishttp://sqlblog.com/members/Argenis.aspxDatabase Mail and SMO are indeed supported on 64-bit, Standard Edition instances of SQL Server 2012http://sqlblog.com/blogs/argenis_fernandez/archive/2012/08/15/database-mail-and-smo-are-indeed-supported-on-64-bit-standard-edition-instances-of-sql-server-2012.aspx2012-08-16T02:49:00Z2012-08-16T02:49:00Z

This is something that comes up rather regularly at forums, so I decided to create a quick post to make sure that folks out there can feel better about SQL Server 2012.

If you read this Web article, "Features Supported By Editions of SQL Server 2012" as of time of writing this post, you will see that the article points out that these two features are not supported on x64 Standard Edition. This is NOT correct. It is most definitely a documentation bug – one that unfortunately has caused some customers to sit on a waiting pattern before upgrading to SQL Server 2012.

Database Mail and SMO indeed work and are fully supported on SQL Server 2012 Standard Edition x64 instances. These features work as they should.

I have contacted the documentation teams internally to make sure that this is reflected on next releases of said Web article.
Argenishttp://sqlblog.com/members/Argenis.aspxGhost Records, Backups, and Database Compression…With a Pinch of Security Considerationshttp://sqlblog.com/blogs/argenis_fernandez/archive/2012/05/29/ghost-records-backups-and-database-compression-with-a-pinch-of-security-considerations.aspx2012-05-30T07:12:00Z2012-05-30T07:12:00Z

Today Jeffrey Langdon (@jlangdon) posed on #SQLHelp the following questions:

So I set to answer his question, and I said to myself: "Hey, I haven't blogged in a while, how about I blog about this particular topic?". Thus, this post was born.

(If you have never heard of Ghost Records and/or the Ghost Cleanup Task, go see this blog post by Paul Randal)

1) Do ghost records get copied over in a backup?

If you guessed yes, you guessed right. The backup process in SQL Server takes all data as it is on disk – it doesn't crack the pages open to selectively pick which slots have actual data and which ones do not. The whole page is backed up, regardless of its contents.

Even if ghost cleanup has run and processed the ghost records, the slots are not overwritten immediately, but rather until another DML operation comes along and uses them.

As a matter of fact, all of the allocated space for a database will be included in a full backup.

So, this poses a bit of a security/compliance problem for some of you DBA folk: if you want to take a full backup of a database after you've purged sensitive data, you should rebuild all of your indexes (with FILLFACTOR set to 100%). But the empty space on your data file(s) might still contain sensitive data! A SHRINKFILE might help get rid of that (not so) empty space, but that might not be the end of your troubles. You might _STILL_ have (not so) empty space on your files!

One approach that you can follow is to export all of the data on your database to another SQL Server instance that does NOT have Instant File Initialization enabled. This can be a tedious and time-consuming process, though. So you have to weigh in your options and see what makes sense for you. Snapshot Replication is another idea that comes to mind.

2) Does Compression get rid of ghost records (2008)?

The answer to this is no. The Ghost Records/Ghost Cleanup Task mechanism is alive and well on compressed tables and indexes. You can prove this running a simple script:

CREATE DATABASE GhostRecordsTest
GO

USE GhostRecordsTest
GO

CREATE TABLE myTable (myPrimaryKey int IDENTITY(1,1) PRIMARY KEY CLUSTERED,
 myWideColumn varchar(1000) NOT NULL DEFAULT 'Default string value')

ALTER TABLE myTable REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE)
GO

INSERT INTO myTable DEFAULT VALUES
GO 10

DELETE myTable WHERE myPrimaryKey % 2 = 0

DBCC TRACEON(2514)

DBCC CHECKTABLE(myTable)

TraceFlag 2514 will make DBCC CHECKTABLE give you an extra tidbit of information on its output. For the above script: "Ghost Record count = 5"

Until next time,

-Argenis
Argenishttp://sqlblog.com/members/Argenis.aspxT-SQL Tuesday #028 – Jack of All Trades, Master of None?http://sqlblog.com/blogs/argenis_fernandez/archive/2012/03/05/t-sql-tuesday-028-jack-of-all-trades-master-of-none.aspx2012-03-06T00:16:00Z2012-03-06T00:16:00Z

I've lost count of how many times I've heard that phrase.

Are you specialized? On something? Or anything at all? Has that been a good or a bad thing? Why?

Are you the SQL guy at work? Or the one who does everything?

Do you code? And configure wireless routers at work also?

If you had to pick one thing to specialize on, what would it be?

Over the course of my career I've worn many many hats. I always felt I was doing fine, had a stable job, but wasn't quite fond of my prospects for the future. Then a friend said that I should focus on one thing and be the best at it. And while I'm most certainly NOT the best at it, I've gotten progressively better on it, to the degree that I've been called an 'Expert' by some (hate that word!) – I'd rather be called 'knowledgeable'. My career took off like a rocket after I specialized, and certainly choosing to focus on one thing (SQL Server, in my case) has been one of the best decisions I've ever made. I've also been careful of not forgetting my roots as a SysAdmin – and always try to keep up with changes on the Windows/SAN/Networking front, but not with the same level of intensity.

So, in this installment of T-SQL Tuesday I'd like to ask you to blog about your experience. Tell us why you specialized, or why you'd like to specialize. If you don't think that specialization is a good thing, tell us why. Discuss. Argue your point(s).

Rules

Your post must be published between 00:00 GMT Tuesday March 13th, 2011, and 00:00 GMT Wednesday March14th, 2011

Your post must contain the T-SQL Tuesday logo from above and the image should link back to this blog post.

Trackbacks should work, but if you don't see one please link to your post in the comments section below so everyone can see your work

Optional, but highly encouraged…

Include a reference to T-SQL Tuesday in the title of your post

Tweet about your post using the hash tag #TSQL2sDay

Consider hosting T-SQL Tuesday yourself. Adam Machanic keeps the list.

Argenishttp://sqlblog.com/members/Argenis.aspx


text:
I started chemotherapy in January 2012. At first, my treatments were three weeks on, one week off. My white cell count couldn't handle the three weeks in a row, so my doc switched me to two weeks on, one off. My sister started her chemo in February 2012, and hers was scheduled for one week of chemo with the following two (or was it three?) weeks off. She had a lot more nausea than I did, but mine caused bone pain that she didn't experience, so I guess we did have some distinctly different experiences. However, our hair loss came at about the same time.
Losing one's hair is a singular experience. Never have I thought of myself as a raving beauty, and I suppose I never really thought of myself as vain, either. However, if I am truthful, I must admit to the latter being true. I found myself unwilling to just watch my hair exit the scene without some regret. My sisters cut it short for me (as it keeps the mess on the pillow and in the shower drain to a minimum), but when the last 30 or so hairs refused to fall out, I couldn't bring myself to buzz them off. They were trying so hard to give me back some small degree of dignity that is lost when one's hair deserts one, that it just didn't seem fair to chop them off and be done with them. Jeanie, however, had no qualms or illusions about how her hair felt, and she cut it off and subsequently shaved it off as soon as it started falling out in clumps. She always was a practically-minded girl.
We got together for a family visit one weekend while our brother was in town from New Mexico. By this time, Jeanie's head was shaved, and I think I had about 16 hairs left. I didn't actually count them, but you get the picture. I was looking forward to having a picture taken of the two of us with our bald(ing) heads, but Jeanie was a bit uncomfortable with the idea. I guess she takes after our dad, who has worn a hairpiece for about 50 years, and in that time, I think I've only seen him without it on one time. On this memorable occasion, our family was spending a few days at the family cabin and Dad heard a strange noise outside. Highly atypically, he came out of his room without his toupee and with bare feet, which is another story for another time. Suffice it to say that my dad likes to be completely put together before he leaves his bedroom in the morning.
Unlike my father, I am overly-casual. I run around in my house-dress unless I am leaving the house. My slippers are my new best friends (another side-effect of chemo, my toes are numb and feel like they're freezing all of the time, even though they are not cold to the touch). And, since I don't have to fix my hair, it takes me just a few minutes to be ready to go out. It's been a few months now since I've been without anything more than stubble on my head, and I have found it to be so freeing. I spend all of my time in my home without anything covering my bald pate, unless I'm feeling chilly, which sometimes happens with the a/c running. I forget, sometimes, that I'm bald, and will walk outside to watch my grandkids play in the little wading pool, or ride their bikes, and not think of it until neighbors have passed by with a friendly wave. I must be scaring their children.
My four-year-old granddaughter came into my room last night and asked me what I looked like when I had hair. I guess 6 months ago is a long time for a four-year-old to remember. She sat on my lap in front of my computer and waited while I searched for some photos of myself sporting a full head of hair. When I finally found a few, she smiled with her twinkly eyes and enthusiastically exclaimed, "Honey, you look funny with hair!" (My grandkids call me "Honey" instead of "Grandma" – another long story.) If I'm wearing a cap on my head, my grandkids beg me to take it off so that they can see my hairless crown. I started it, I guess, because I didn't want them to be afraid of me when they saw that my hair was falling out, so when I showed them my gradually balding head I laughed about it and said, "Doesn't my hair look silly?" Now, it seems, at least one of them likes me better bald.
There are so many advantages to being hairless! Having grown up female, my friends, sisters, and I spent what seems to me today, an inordinate amount of time fussing about and trying to control something that has its own will. We permed it, dyed it, blew it out, teased it, kinked it, streaked it, cut it, curled it, braided it, added hair-pieces to it, ironed it, and pony-tailed it. For me, all of these things were in vain, except perhaps the braiding. I do love hair on most other people, but for some, it's a rather unfortunate addition to what could have been a lovely face (and I'm not talking about whiskers). I've decided that I am going to thoroughly enjoy this time without hair, when showering takes half the time (no hair-washing, and no shaving), and when, the moment I'm a little too warm, I can whip off my head covering and cool off immediately.
I've found that I'm not entirely looking forward to my hair coming back.

subset: commoncrawl


text:
- Please select a date to see the proper prices!
Description of the accommodation:
Rooms, services 14 comfortably furnished rooms are offered by Hotel Rutzer Asiago to guests looking for accommodation in Asiago. In the safe you may secure your valuables. The exact list of services available at Hotel Rutzer Asiago (including those for an extra fee) and the exact list of equipment in a room can be found on the information sheet below.
Payment Depending on the selected date, room and price, you may need to provide credit card guarantee or advance bank card payment to finalize your reservation.
Arrival, opening hours The earliest time to check in to your room is 14:00, the latest time to check out of your room is 10:30. The personnel is at your service in Italian and English languages.
Hotel Rutzer Asiago rooms Rooms
- Please select a date to see the proper prices!
Accommodation services
Garden, Safe deposit box
Hairdryer, Desk in the room, Mini-bar


text:
Savage Weekend Trailer (1979)
"You have been chosen. You are doomed. Prepare for.... SAVAGE WEEKEND" 09 March 1979 Horror, Thriller 88 mins
Several couples head upstate to the country to watch a boat being built. Unfortunately they are stalked by a murderer behind a ghoulish mask.
Watch the official Savage Weekend 1979 trailer in HD below or find more Savage Weekend videos on Vidimovie.


text:
Where does art end and cinema start? Enjoy our new contemporary film series as guest curators blur the lines between art and cinema.
Film program for December 2016
The Theatre-ality of Cinema: Curated by Kiki Fung
Saturday 17 December, 2pm
Free, Drop in
Level 2, Veolia Lecture Theatre
Around a Small Mountain
Year- 2009
Director- Jacques Rivette
Running Time- 1 hr, 24 mins
Rated- M
After a chance encounter with Kate (Jane Birkin), a former circus performer who is unable to return to form due to an unspoken trauma, Vittorio (Sergio Castellitto) is instantly smitten. Drawn to uncover the mystery and hidden past of both Kate and the circus, Vittorio's attempts to delve into the unknown territory of stage lead to a series of role-playing that will prompt profound revelation.
Jacques Rivette's final film examines the subject that fascinated him endlessly: the theatre. As the jigsaw puzzle of Kate's past is assembled, the circus becomes a mystical space where memory and the present collide, offering a chance for redemption and resurrection. This is a divine conclusion to the master's career, as every character and every encounter gather in the circus' ring for a final resolution.
Image credit- Film promotional still
17 December 2016, 2:00-3:24pm
This event has finished.


text:
GraphicRiver House 5645347
Photoshop \ Stock Graphic \ 3D Renders \ Architecture
Transparent \ Channel \ Shadow \ Residential \ Window \ Shadows \ Resolution
Stock Graphic - House 5645347 by AnatolyM @ GraphicRiver
Photoshop \ Stock Graphic \ 3D Renders \ Architecture
Yellow house. 3D image. 3D image. Transparent high resolution PSD with shadows. Alpha channel.
High Resolution: Yes; Layered: No; Graphics Files Included: Photoshop PSD; Minimum Adobe CS Version: CS.
Construction Colored Line Icons; Cloud Colored Line Icons; Ecology Colored Line Icons; Christmas Colored Line Icons; Medicine Colored Line Icons; Office Colored Line Icons; Human Resources Colored Line Icons.
Keywords: 3d, alpha, apartment, architecture, background, build, building, channel, concrete, construction, door, estate, graphics, home, house, illustration, image, isolated, mortgage, property, real, render, rent, residential, roof, shadow, transparent, white, window, yellow.


text:
Amazon : Company Profile, Online Test Pattern 2016 / 2017 for Freshers - Prepare for Amazon ::: -->> Amazon, is an American electronic commerce and cloud computing company with headquarters in Seattle, Washington. It is the largest Internet-based retailer in the United States.
Amazon.com started as an online bookstore, later diversifying to sell DVDs, Blu-rays, CDs, video downloads/streaming, MP3 downloads/streaming, audiobook downloads/streaming, software, video games, electronics, apparel, furniture, food, toys and jewelry.
The company also produces consumer electronics—notably, Amazon Kindle e-readers, Fire tablets, and Fire TV —and is the world's largest provider of cloud infrastructure services (IaaS). Amazon also sells certain low-end products like USB cables under its in-house brand Amazon Basics.
Amazon has separate retail websites for United States, United Kingdom and Ireland, France, Canada, Germany, Italy, Spain, Netherlands, Australia, Brazil, Japan, China, India and Mexico. Amazon also offers international shipping to certain other countries for some of its products. In 2011, it professed an intention to launch its websites in Poland and Sweden.
Amazon Selection Process :: Aptitude written test online, Technical interview & HR interview.
Amazon Online Test Pattern :: Aptitude & Reasoning/Technical : 20 Questions && Programs :: 2 Questions. Click Here for Aricent Syllabus 2016 / 2017 For Freshers


text:
Melbourne Hotel Jobs & Careers
Join our team of hospitality professionals…
Job opportunities become available in a number of different areas from time to time…join our team of dedicated hospitality professionals across a range of different departments at one of Melbourne's largest hotels.
If you are interested in finding out more or would like to submit your resume for any future positions that may arise please contact us.
Call us now on +61 3 9669 0000, or send an email to email@example.com and include the following information:
- Your name
- Your address
- Your contact phone number
- Your email address
- Positions of interest
- A paragraph introducing yourself
- Attach your resume in Microsoft Word or PDF format
We will retain your information on file and, if a suitable position becomes available we will contact you.


text:
The founder of O2O platform Design 1+1 gives us her insights into the Hong Kong design scene.
January 20th, 2016
Kiesly Tsang is well aware of the barriers Hong Kong creators face when it comes to getting their wares out there. So much so that she set up Design 1+1 as a digital marketplace for emerging design talent to showcase their creations to the world, and to act as a stepping stone for their works to be used on local and regional hospitality projects. As a new year kicks off, Tsang talks about Hong Kong's design identity and what we can do to nurture the industry in 2016 and beyond.
Does Hong Kong have a strong design identity?
You can find most of the vernacular and elements of Hong Kong design in local brand G.O.D. There's the birdcage, slang, the Double Happiness symbol, the clay pot, the red lantern, the gold fish, the letter box and the iron door grill. All of this represents what is quintessentially Hong Kong. It's about being able to look with fresh eyes at what we normally take for granted.
Our community is what shapes our design identity. Think about street signage on Nathan Road, the seafood restaurants on Lamma Island and the street life on Hollywood Road. Before 1997, we were hugely influenced by our status as a British colony. We could find Western design elements in everything from signage to architecture. Now, our cultures are crossing each other – it's like a double culture. What you look around and see, you pick up, instinctively. The ability to do this is an advantage for local Hong Kong designers.
Serenity by BeCandle takes its cue from traditional tea ceremony
Why are we willing to pay more for international design than we are for local design?
Hong Kong is this international, materialistic city – you can almost get anything in Hong Kong. Until recently, all the international luxury brands saw huge growth. My experience has shown me that most people have no idea why they're paying a 'designer price' for something, or what makes it so different from other objects on the market. All too often, it's not the acquisition of designer goods they seek; it's actually the psychological rewards they want.
At the same time, many consumers aren't even aware of the incredible variety of local design and designers born and grown right on their doorstep. For many of these local designers, there's no access to celebrities, no 3D marketing gimmicks – they don't have marketing budgets, all they have is words and pictures. The public would rather put money into the brands they know, which means the ones they don't know continue to have limited resources to promote themselves with. It's a vicious circle.
Designed by Hong Kong design collective thecaveworkshop, Existence of Void draws on traditional Chinese pavilions and negative space to comment on urban planning, space and density
What do we need to do in order to cultivate Hong Kong's design community?
We have to establish lots of different programmes; lot of talks, workshops, events, shows, platforms for the exchange of ideas, exhibitions inside shopping malls and galleries… etc. It's all about interaction with the public and in this way delivering your messages and concepts, and educating the public. We have a long way to go and it won't be easy, but we have to keep exploring and rediscovering.
How can Hong Kong designers help themselves?
They need to keep creating good design, and they need to spend more time exploring and cultivating their creativity. They should stay true to what they believe and figure out their own style and the market they are targeting. Are they targeting core needs, comfort needs or flourishing needs?
Trying to go it alone or engaging in traditional retail partnerships is not a great solution … designers should focus on partnership models that puts the majority of funds back in their own hands.
Our Chair by thecaveworkshop remembers the Umbrella Movement through a quirky design feature: the hook perched atop the backrest
Which emerging Hong Kong designers excite you the most right now?
BeCandle and thecaveworkshop. BeCandle because there is a lot of potential to go beyond candles: it's all about the concept behind the idea and about refining it. They have a product called Serenity; the concept is about traditional Asian tea culture, about sharing a moment of harmony and relaxation during the preparation and serving process.
As for thecaveworkshop, it's because they are artists, they bother to look at the details and to think about how people should live. For example, their recent projects – Existence of Void and Our Chair – are about public space and remembering the Umbrella Movement respectively. These projects are about exploring what is human now, without hiding anything from ourselves – they're about beauty, ugliness, darkness, sexuality, political affairs, metaphors and more. These projects touch the heart.
Kiesly Tsang Concepts Ltd
Design 1+1
The internet never sleeps! Here's the stuff you might have missed


text:
Heidi Klum really knows how to give the people what they want. After falling from the its pedestal at the top of pop culture when it first aired, Project Runway is experiencing what I can only equate to that letdown when you first get to college and realize the popularity you cultivated in high school means jack to your new classmates. It's still a good show, it's still worth watching, but it's not nearly the watercooler fodder it once was.
Perhaps that's why Klum is baring it all (almost) on the new promo poster for the Lifetime series. Klum admits this is the raciest promotion for the fashion series to date, telling The Hollywood Reporter, "I guest you could say 'Hans and Franz' are celebrating season nine!" And now you know what Heidi Klum named her breasts. You're welcome.
The show premieres its ninth season July 28 with familiar faces all in their rightful places. Nina Garcia, Tim Gunn and Michael Kors will be present and it looks like Klum and the gang will see Malin Akerman, Zoe Saldana, Kim Kardashian and Christina Ricci take turns as guest judges and fashion icons during the season. This could be good, folks.
Source: THR


text:
Lisbeth Dahl Deco's the Dogs Journey Paris Cosmetic Bag
$28.00 $56.00
More Stunning Ideas - click here >>
We would love to hear from you:
For any questions, comments, feedback or simply drop a line, please contact us at: email@example.com
Want to socialize with us?
You may Tweet to us @bellakoola, post a message or Like us at Facebook.
Lisbeth Dahl Tokyo Paris Cosmetic Bag with a gold heart charm attached to zipper. Join Deco the Dog on his adventurous journey around the worked making new friends in the cities he visits.
Size: H4.9" x W7.8" x D1.95 / H12.5 x W20 x D5 cm
Material: Polyester
Color: Multi Color
Sold as: 1 / Set of 2 at a Discounted Price ( you may choose from the 3 series - London, Tokyo & Paris)
Shipping - World Wide
Up to $25.00 purchase


text:
Strumpet Trailer (2001)
10 July 2001 72 mins
Strayman, a spontaneous poet, is landlord to a pack of stray dogs. Unable to resist another of life's strays, he hooks up with Strumpet, a shy, homeless girl with an extraordinary gift for music. After Strayman's neighbour overhears them singing, the three set off for London - Strayman's dogs in tow - in search of fame, fortune, and Top Of The Pops.
Watch the official Strumpet 2001 trailer in HD below or find more Strumpet videos on Vidimovie.


text:
A teenage art prodigy propelled onto the international media stage needed help unveiling a national peace monument to John Lennon, which held natural international acclaim.
A newly appointed CEO of an international financial firm had a lot to prove to his board and his company. His youth had overshadowed his intellect and his leadership abilities.
Corporate presentations are often filled with overwhelming amounts of content because in order for many to prove they've done their due diligence, they believe more is more.
You might expect that the CFO and Vice Chairman of a successful Fortune 500 company to naturally speak with memorable impact, but it's rarely the case.
The president of a national industry organization needed to prepare for a speaking tour at high-profile industry events.
CLIENT: American Hotel Register Company
CLIENT: Bausch & Lomb
CLIENT: Cleveland Clinic
CLIENT: STERIS Healthcare
CLIENT: Vistage International
CLIENT: Wyndham Vacation Ownership
In hindsight, the bedazzled briefcases signaled the debacle ahead. Let's set aside the Best Picture envelope nestled inside that caused the ruckus. The topsy-turvy spectacle was triggered by these black attachès—adorned with the golden logos of the Oscars and PriceWaterhouseCooper. These swag-clad beauties were designed to draw attention to the power couple as the accounting partners sashayed down the red carpet. And therein lies the root cause of the problem. When your accountant walks the runway, leaders should run the other direction.
The CEO firing was direct and dismissive. Barnes & Noble didn't stick to the bland yet reliable "we're moving in a different direction" script when it booted Chief Executive Officer Ron Boire. They didn't give him a gentle heave-ho with the old standby "he's stepping down to pursue different opportunities" tale. Instead, Barnes & Noble whacked their CEO in bold fashion. The core issue is trust. And trust is an endless dance.


text:
In GCSE Music, students study the AQA syllabus. This requires them to provide two performances – one solo and one as a part of a group 40%; a free composition 20%; a composition and analysis 20% and a written examination at the end of year 11. Students are encouraged to make use of the music technology available to help them with their compositions, but it is by no means compulsory and we enjoy a very varied and highly personalised course that is suitable for a wide breadth of prior learning. A-level Music and Music Technology are available for further progression.
Music Extra-Curricular Activities
The department organises a wide range of extra-curricular activities at both lunch time and after school, there are also a number of concerts open to parents each year. Pupils who wish to learn to play an instrument can also receive individual lessons during the school day. Pupils who study in the department have been successful in a number of competitions and public performances. Further examples of students work at the following websites
Music @ Flickr – Link to http://www.flickr.com/groups/2113660@N23/
Ukulele Orchestra on YouTube – Link to http://www.youtube.com/watch?v=1t1EgwiL13o


text:
Kwadwo Ohene Asante arrived in Canada from Ghana more than 50 years ago. He became a pre-eminent pediatrician who helped countless Canadians and an international expert in understanding fetal-alcohol syndrome stemming from his work in northern B.C.
At 77 years old, Dr. Asante is now trying to turn the tables and have Canada give something back to Ghana.
However, his highly respected work, honoured with a Governor-General's Meritorious Service Medal, has not led to much support in Canada for medical services in Ghana.
With some frustration in his voice, Dr. Asante said Sunday that government aid agencies and universities have turned down requests to help train Ghanaian students in Canada or contribute to a neuroscience centre at the Korle-Bu hospital in Ghana.
He referred to the irony of Canada being reluctant to help improve medical services in Ghana while many Ghanaians and others from African help maintain health services in Canada.
"I am disappointed, considering all the contributions from the Third World people who have kept the Canadian medical services going. I thought at least Canadian institutions would be glad to train some people," he said in an interview from his home in Maple Ridge, B.C., 40 kilometres from downtown Vancouver.
Ghana has only five neurosurgeons and two neurologists for 20 million people, he said. Canadian institutions say they do not have the money to help students from poor countries and Canadian aid agencies have been deaf to requests for financial support. They do not have Ghana on their agenda, Dr. Asante said.
"I think Canada could do more, much more to assist Ghana and other African countries," Dr. Asante said.
Dr. Asante, currently a professor emeritus of pediatrics at the University of British Columbia, was among the first in Canada to link disabilities in children and mothers who drink alcohol during pregnancy. He identified FAS in the 1970s at a time when the cause of the disabilities in the children was unexplained. In recent years, he has been part of a team in the Vancouver region at the forefront of FAS diagnosis in North America.
The oldest of eight children, Dr. Asante was born into a family of teachers who lived in southern Ghana, a former British colony previously know as the Gold Coast. His maternal grandfather was a Methodist missionary; his paternal grandfather was a Presbyterian missionary.
Dr. Asante began helping others at an extremely young age. He recalled reading the Bible to his grandfather before he was old enough to go to school. "As a boy, I was his seeing-eye dog," Dr. Asante said.
He was sent to a Presbyterian boarding school at the age of 12. The family could not afford to send him to high school but he won scholarships to pay his way. "There were always books around," he said. "We were very privileged." He grew up speaking three Ghanaian languages and English, which at the time was an official language of the country.
He decided to become a doctor while in secondary school, aiming to emulate a friend of his father's who was a doctor. He had hoped to train in Britain, but was accepted at UBC for an undergraduate degree in science, so he headed to Canada. He went to Scotland for his medical training and returned afterward to Vancouver.
He always intended to return to Ghana after completing his education. He specialized in pediatrics because he thought it would be useful in Ghana. But the country remained unstable for many years after its independence in 1957. He kept putting off his return.
He completed his medical residency with huge debts. He thought he would work in northern B.C. for a few years to pay off his bills before returning to Ghana. He stayed in Terrace for 20 years. "I started my own practice and found out I was needed there," he said.
His first encounter with FAS was in 1973 while in Yukon. He began reading up on international research and paying closer attention to children with similar problems. At the time, it was thought of as a northern and native problem. "We discovered it could be a problem for anyone who used alcohol," he said. He thought it was preventable and would disappear once people understand the issue. "I did not realize it would turn out to be my lifetime work," he said.
Dr. Asante moved to the Vancouver region in 1990 and in 1999, he became involved with the first free-standing centre for diagnosis and management of FAS. Looking back on his career, he thought about how he was a citizen of the world.
"Things that are happening in Canada are happening in other parts of world too," he said. "The needs of children are the same, in Canada and in Africa, and we should all contribute to help children, wherever we are."


text:
I am planning a trip to Kilimanjaro and Tanzania for July 2010. I was wondering if anyone has had experience with Kensington travel agents. They were highly rated by national Geographic's. Their pricing seem reasonable, especially after I dealt with a travel agent that a friend recommended.
Itinerary Summary aprox $5,000 per person with out airfare
Day 1 : Sat, Jul 17 2010
Nairobi Kensington Cares **
Nairobi Other - Flying Doctors
Transfer - Airport - Game Van/Guide
Country Lodge
standard1 DBL,1 SGL (B)
Day 2 : Sun, Jul 18 2010
Nairobi Tour - Private - Elephant orphanage
Tour - Private - Giraffe/Blixen
Tour - Private - Transportation - Game Van/Guide
Country Lodge
standard1 DBL,1 SGL (B)
Day 3 : Mon, Jul 19 2010
Nairobi Transfer - Masai Mara - 4X4/Guide
Masai Mara Afternoon Game Drive
Kensington Mara West
chalet (full board)1 TPL (BLD)
Day 4 : Tue, Jul 20 2010
Masai Mara Morning Game Drive 2 Family - KT 4X4/Guide
Afternoon Game Drive 2 -
Kensington Mara West
chalet (full board)1 TPL (BLD)
Day 5 : Wed, Jul 21 2010
Masai Mara Transfer - Serengeti (with sightseeing) (9hr) - KT 4X4/Guide
Isebania Isebania Border Crossing
Picnic Lunch
Serengeti Dinner
Kensington Serengeti
full board1 TPL (BLD)
Day 6 : Thu, Jul 22 2010
Serengeti Morning Game Drive - 4X4/Guide
Afternoon Game Drive 2
Kensington Serengeti
full board1 TPL (BLD)
Day 7 : Fri, Jul 23 2010
Serengeti Transfer - Ngorongoro Conservation Area - 4X4/Guide
Tour - Private - Olduvlai Gorge - Entrance
Picnic Lunch
Ngorongoro Optional Activity
Kensington Endoro
chalet suite1 TPL (BLD)
Day 8 : Sat, Jul 24 2010
Ngorongoro Private vehicle - 4X4/Guide
Crater Tour for Plantation Lodges - 4X4/Guide
Kensington Endoro
chalet suite1 TPL (BLD)
Day 9 : Sun, Jul 25 2010
Lake Eyasi Game Tracking & Local Village - 4X4/Guide
Ngorongoro Dinner
Kensington Endoro
chalet suite1 TPL (BLD)
Day 10 : Mon, Jul 26 2010
Ngorongoro Transfer - Arusha - 4X4/Guide
Picnic Lunch
kili drop off.
Arusha Dinner at leisure
Coffee Lodge
lodge1 TPL (B)
Day 11 : Tue, Jul 27 2010
Ngorongoro Transfer - Amboseli drive (6hr) - 4X4/Guide
Arusha Transfer - Amboseli - 4X4/Guide
Deluxe Lunch -
Amboseli Afternoon Game Drive -
Serena Amboseli
lodge1 TPL (BLD)
Day 12 : Wed, Jul 28 2010
Amboseli Morning Game Drive & Transfer to Nairobi - KT 4X4/Guide
Nairobi Tour - Private - Souvenir shopping
Kensington Office
Transfer - Airport - Game Van/Guide
Recent ActivityView all Africa & the Middle East activity »
- 1 HP printer 1800:570:1233 installation CONTACT HP Tec*h by 24/7
- 2 East Africa (Tanzania) or South (Botswana) Middle June 2018
- 3 Can one free lance In Victoria Falls?
- 4 Anyone been to Mashatu Game Reserve?
- 5 Dubai Dubai Airport Traffic to get to a hotel on time
- 6 South Africa in March
- 7 Flying from Seattle to Morocco
- 8 Safari Camera Lens - Follow Up Thread
- 9 Victoria Falls (Zimbabwe and Zambia) - Travel Report
- 10 Looking walking tour in Dar Es Salaam
- 11 11 days...Jordan and Israel ...help with itinerary
- 12 Is January a good time to visit Tanzania
- 13 Mara Safari in June - Camera Lens Recommendation
- 14 Any recent experiences with Ethiopian Air Coach
- 15 Israel Trip - Very Early Planning Stage
- 16 Three Days In Tel Aviv
- 17 help me to visit Morocco
- 18 9 days itinerary help and some other questions
- 19 Question about tours from Cape Town
- 20 Yes, we went to Sudan and we LOVED it! A Trip Report
- 21 Travelling to Nigeria for the first time
- 22 Morocco road condition
- 23 Africa – after 10 years of waiting – an amazing and wondrous journey.
- 24 Fraudulent Safari Operator
- 25 Travelling with Egypt Air with Umrah Visa.
Kensington Tours
I am planning a trip to Kilimanjaro and Tanzania for July 2010. I was wondering if anyone has had experience with Kensington travel agents. They were highly rated by national Geographic's. Their pricing seem reasonable, especially after I dealt with a travel agent that a friend recommended.
Report Abuse
I'd stay another day in the Mara.
Would they sub Ol Tukai in Amboseli for Serena?
Where is their Serengeti camp? Late July you probably want Central to North.
What is crater tour for Plantation Lodges? You go with that lodge's group/vehicle?
How many crater trips do you get and how long?
Who is the ground operator? Is it Kensington or a local company?
I'd ask for drive times to be sure it is what you expect.
You should expect $450/day for this sort of trip in TZ so it's in the ballpark. Who is the ground operator? Is it Kensington or a local company?
Have a great trip!
Report Abuse
I know of them and have visited their camp in the Mara. I'm sure you would have a good time as long as you like tented camps which in fact are fairly luxurious. Also the migration of millions of Wildebeast and Zebra will be the area of the Mara - so a great spectacle. Thanks, Alan of Uniglobe Lets Go Travel, Kenya, www.uniglobeletsgotravel.com .
Report Abuse
Kensington is reputable, but with all that driving you are cutting short the stay in both the Mara and/or Serengeti with only 1/full-day at each. That's shortchanging you. End July is a tricky time for where exactly to catch the migration... can already be in the Mara or the northern Serengeti. There is no indication where the Serengeti camp is sited. Interesting that the only segment where they show drive times (9/hrs from Mara/Serengeti) where many others are also very long, i.e., 5-6/hrs from NBO/Mara; 4+/hrs from Serengeti to Ngorongoro; 4.5/hrs to Arusha; 4.5/hrs from Arusha/Amboseli. And, that Lake Eyasi, which I can't figure if you're visiting there and if so... all in 1/day? on that nasty bumpy road...ugh!
You're constantly on the move with average of 1/nt most places.
Personally, they're trying to do too much in 12/days with more time being spent in transit than game viewing.
If traveling end-July, leaving the Masai Mara for the end when the herds will be here, consider:
Day 1 - Arv. NBO - o/n
Day 2 - NBO - sightseeing NBO
Day 3 - Drive (4.5/hrs) to Amboseli - o/n
Day 4 - Amboseli - o/n
Day 5 - Drive (1.5/hrs) via Namanga border to (1.5/hrs) Arusha; lunch (1/hr) to (2.5/hrs) Lake Manyara - o/n
Day 6 - Drive (2.5/hrs) to Ngorongoro; afternoon crater tour - o/n
Day 7 - Ngo - morning crater tour; afternoon leisure or Olmoto crater trek or crater rim walk - o/n
Day 8 - Drive (4.5/hrs) to Arusha; fly 1:45pm to NBO; connect to 3pm flight to Masai Mara - o/n
Days 9, 10 & 11 - Masai Mara - o/n
Day 12 - Fly 11am to NBO; day-room; transfer to airport for homebound.
There are plenty of tour operators or in-country outfitters who can provide the above itinerary as a private tour, just you and your travel partner/s on your schedule and choice of properties, whether lodges or tented camps... at competitive pricing.
My 2-cents!
Report Abuse
Thanks for all your input. I now have more of an idea of what to look at for the schedule. Any other thoughts will be greatly appreciated.
Report Abuse
I believe Kensington' Serengeti camp is in the western Serengeti and their Mara camp is in the Talek area.
Do you specifically want to visit both countries? Are there any areas that are must do's for you?
Report Abuse
Hi Folks.
What time other than end of July would be good for migration? If you miss the migration will the rest of what you still be worth the trip?
Our Goals on this safari are:
1. Kilimanjaro is a must. We only need to get to the bottom. I need to deliver a memento of a deceased friend per her last wishes.
2. One of travelers is an Elephant fanatic. She would love to touch, feed bath and ride them. Unfortunately that means Nairobi Tour - Private - Elephant orphanage. There does not appear to be any place in Tanzania that has that facility.
3. The Migration of the animals is what we would love to see. We have been told it is magnificent.
4. Ngorongoro Conservation Area Crater is high on our list This is the write up:
a. Endoro Lodge has been revamped and relocated to the foot of the Ngorongoro Highland Forest just outside of the Ngorongoro Conservation Area. Private transportation and guide in the Ngorongoro national park. Includes national park fees. You'll be up early this morning as you drive approximately 20 minutes from your camp or lodge to the main gates of the Ngorongoro Conservation Area. The crater is roughly 20 km/12 mi wide and 600 m/2,000 ft deep, once you've reached the top of the caldera it takes about 45 minutes to decend to the crater floor. The floor is home to a rich and highly concentrated wildlife. Some 20,000 mammals of size live there, including about 20 black rhinoceros, making the crater the best place in Tanzania to see the rhino. The crater floor also has one of the highest carnivore densities in the world. Lions, cheetahs, hyaenas and jackals are commonly seen, while leopards, servals and bat-eared foxes may be seen with some good luck..
b. Once again reading up on it makes it sound like if visit there you will see almost every species of animal you will see on all the games drives in Tanzania.
5. The Masai Mara and Serengeti once again are place recommend by the tour agencies. I need to learn a little more about the difference of each to see if we need to go to both.
6. Lastly we would like to have a day or two to recoup in Zanzibar.
Report Abuse
End-July the herds can already be at the very Northern Serengeti or in the Masai Mara/Kenya. Realize though that with millions of animals they don't all make it into Kenya. The area in Northern Serengeti is very large, but with few properties, most being camps in the lux category. Only Lobo Wildlife Lodge is in the budget range, and while the scenery is lovely, a bit south of the north and doesn't get good reviews for cleanliness and food.
Unless you fly up here, the drive, i.e., from Ngorongoro would necessitate 1/nt stop mid-way in Central to continue drive next day. From here, it's recommended to fly back to Arusha as the drive takes 10+/hrs and not a good idea... winds up being a wasted day.
Elephants are best found at Tarangire NP which has a mini-migration between July/Oct, known for large herds, wildies, giraffe, zebra, predators, and the baobab tree landscape. In Nairobi, at the Elephant Orphanage, you can view daily between 11am-12N when open to the public, where you can touch the chubbies and watch them with their handlers, or if adopting one of them, visit at dusk to put yours to sleep. No riding ellees!
If your friend is interested in riding elephants... get thee to Southeast Asia or a few expensive camps in South Africa or Botswana. Besides, nowadays people are opting not to "ride" ellees regardless where being offered.
As for Kilimanjaro, realize that if arriving at JRO airport, the mountain is east (by 1/hr) in Moshi, whereas, Arusha from where most safaris commence is west (1/hr) of the airport. So it's a 2/hr drive between Kili/Arusha.
Ngorongoro is an excellent stop and unique to Tanzania with wide diversity of game. Realize though that crater tours are limited to 6/hrs each, but can be arranged to do back-to-back visits - one on afternoon of arrival, another next morning.
Zanzibar deserves minimum 3/days, as you'll require flight from the mainland and back again for homebound departure. If choosing to visit ZNZ by road, it's a 8-10/hr bus ride to Dar-es-Salaam, then a ferry (2-3/hrs) or short 15/min flight to the island.
Report Abuse
Our Goals on this safari are:
1. Kilimanjaro is a must. We only need to get to the bottom. I need to deliver a memento of a deceased friend per her last wishes.
--When in your above itinerary were you going to get to the base of Kili? I think you need to allocate a day for this round trip excursion.
2. One of travelers is an Elephant fanatic. She would love to touch, feed bath and ride them.
--A real ele fanatic would probably not ride them. As Sandi mentions, there are places like Abu's in Botswana where I believe you can humanely ride eles, but that costs thousands per day. She could adopt an ele at Sheldrick's and spend time with it midday and/or before its bedtime, A day in NBO is a good idea for more than Sheldrick's. It can allow a buffer day up front in the trip, there is Giraffe Center, Nat'l Museum, Karen Blixen's home, bead factory, etc.
3. The Migration of the animals is what we would love to see. We have been told it is magnificent.
--Late July and even better Aug in the Mara for 3-4 days would allow you to see huge herds and much more.
4. Ngorongoro Conservation Area Crater is high on our list This is the write up:
--You definitely should go to the crater. Decide if you wish a morning visit, an afternoon visit, or morn and aft.
b. Once again reading up on it makes it sound like if visit there you will see almost every species of animal you will see on all the games drives in Tanzania.
--Herds of eles are not common there. Too hard for them to negotiate the steep crater. Lone bulls are commonly found. But the crater does have the largest animal concentration in Africa I think. There also is a higher concentration of cars there than other places.
5. The Masai Mara and Serengeti once again are place recommend by the tour agencies. I need to learn a little more about the difference of each to see if we need to go to both.
--You would "need" to do both if it was important to you to see both of these famed locations. But the herds migrate between the two countries, so if you go to one or the other, you'll see the same species. I wanted to go to both on my first trip, which departed late July. If you need to cut time, I'd go in Aug and go to the Maasai Mara.
6. Lastly we would like to have a day or two to recoup in Zanzibar.
--You'd want the Mara at the end, so that means flying back to Tanzania. I've seen reasonable flt schedules to accomplish that. Others with more expertise on Zanzibar can help you out there.
You are figuring out the key aspects of your trip and heading in the right direction.
Comment has been removed by Fodor's moderators
Report Abuse
Did you end up using Kensington? if so, what was your opinion...we are looking to do the same August 2011...tentatively: Mara West - 3 nights, Mbalageti Camp (Serengeti 9 hr drive) 2 nights, Bougainvillea Safari Lodge Ngorongoro 2 nights, and ultimately on to Cape Town. COMMENTS? looking at this or RHINOAFRICA (the reverse). Cape 5 nights, Kruger (Arathusa) 4 nights, to Chobe Safari Lodge (3 nights, day trip Vic Falls, off to Mara 4 nights at Kichwa Tembo...thoughts appreciated by anyone/everyone! Cheers, GOCL
Report Abuse
I would like to continue the Kensington question, did you end up using them? How about gocl? Did you use them in August? I was investigating the same on their company. I have heard they are great if it all goes well, if something goes awry they are not so great.
Anybody agree/disagree?
Report Abuse
I'm strongly considering Kensington for Kenyaalso. Diana, the only thing i read that indicated what you said "heard they are great ...if something goes awry, they are not so great" was one comment on Tripadvisor,about a flight downgrade. Is this what you're referring to. or was there something else you read or heard, and if so, what was it specifically?
So far I've enquired of only two companies. Kensington replied almsot immediately, and based on my onward travel plans, immediately provided a solution.
The other company so far (three days ago) has sent a "canned" response only, with no further reply based on my answers to their questions.
Sign in to comment.