Monday, November 28, 2016

"The disk is offline because it has a signature collision with - Microsoft Community

How to Fix the Disk Signature Collision Problem in Windows

Windows 7 comes with a command line utility called diskpart that can let you view and change the disk signature.

  1. Open a command prompt as administrator. To do this in Windows, click the Windows start menu (the round Windows icon on the left bottom corner), type "cmd" (without the quotes), right click the "cmd.exe" item that appears at the top of your menu, and click the line "Run as administrator". Do this even if you are already logged in as administrator, since on Windows 7, administrators run with reduced rights by default.
  2. A black command prompt window will open. In Windows, the title bar of the window will tell you that you are running it as Administrator. If it does not, it means you did not do what I just said above. Return and follow the first step, or you will not be able to successfully carry out the rest of this tutorial.
  3. Type "diskpart" (without the quotes) into the window. (Note: for this and the other commands described here, you'll have to hit the ENTER key after you finish typing your commands for them to take effect.)
  4. Microsoft DiskPart will start. When it is ready, it will issue a "DISKPART>" prompt, allowing you to enter your commands.
  5. Type "list disk" (without the quotes). This will list all the disks that are currently mounted (connected to the system). The disk will not have the usual names and labels that you're accustomed to from the Windows Explorer interface, so you will have to recognize them by their sizes.
    Note that "list disk" actually lists the physical disks, and not the partitions that you may have assigned drive letters. This means that if you have 2 physical disks, with 3 partitions on each, so that you have drives C:, D:, E:, F:, G: and H:, "list disk" will only show "Disk 0" and "Disk 1".
  6. To view the signature of a disk, you must first select it. To select a disk, type "select disk x" (without the quotes) where x is the number of the disk from your "list disk" display. When you type (say) "select disk 1", DiskPart will respond by telling you "Disk 1 is now the selected disk".
    Now type "uniqueid disk" (again, without the quotes). DiskPart will respond with the disk's signature, a series of hexadecimal digits (or at least I think it's hexadecimal).
  7. To change the signature to some other number, type "uniqueid disk ID=[NEW SIGNATURE]" (without the quotes) where "[NEW SIGNATURE]" stands for the new identifier you want for the disk (without the square brackets and without the quotes). However, before you do that, you may want to type "help uniqueid disk", which will give you more information on how the command works. You may also want to find out the disk signatures of your other disks on your system before you modify your current one so that you don't cause a new signature collision in trying to solve your current problem. In addition, if you're really not sure how many digits you should give your disk, perhaps try changing only one digit of the current signature (eg, increasing or decreasing it by 1). Remember my disclaimer above: I really don't know what I'm talking about here: do it at your own risk.
  8. To quit DiskPart, type "exit". Incidentally, in case you get lost while running DiskPart, when you are at the "DISKPART>" prompt, you can type "help" to get a list of commands. Typing "help" followed by the command typically gives you more info about that command.
    Once you've quit DiskPart, type "exit" again to quit the Administrator 

    9. Disconnect the hard drive and plug back in

Saturday, November 26, 2016

On Hacking MicroSD Cards « bunnie's blog

On Hacking MicroSD Cards « bunnie's blog:

'via Blog this'

Friday, November 25, 2016

Solved: Windows 10 unable to type anything anywhere issue.

Recently, Windows 10 stopped letting me type anything in Search, in Start Menu, Cortana. Even calc.exe would not let me type!

Here is my story and the (so called) fix.

After much work and not wanting to do a clean reinstall, I was able to narrow it down to ctfmon.exe not running... (ctfmon is also known as CTF Loader, btw.)

I know from other fresh and clean Windows 10 installs that ctfmon does not appear to be running, so I am still confused on the why it allows this computer system to type.

If I kill the ctfmon.exe task, via Task Manager, then immediately again I am unable to type in anything metro-related. The old control panel search still works. Explorer still works. Everything works, except for new these new fangled Windows 10 apps.

If I run ctfmon.exe (Hint: you can press Win+R to run ctfmon.exe, or navigate in explorer to c:\Windows\System32), then typing immediately starts working again.

I still don't know why it stopped working or even why this fix works, but it does work [on my machine]! (Windows 10 Pro version 1607, if that helps anyone)

Wednesday, September 7, 2016

Revisiting Mendocino Motors

From the article:

Why Does it Spin?

There’s a great technical explanation about how and why these things spin in our original Mendocino Motor article.  Here’s the short explanation:
  • Sunlight hits the solar panel, which generates a voltage.
  • The solar panel is hooked up to a coil of wire, which now has a current running through it.
  • With a strong magnet or magnets nearby, the coil is sitting in a strong magnetic field.
  • When a current is run through the coil of wire that’s sitting in a magnetic field, a force acts on it.  In these setups, it’s a brief burst of torque turning the rotor in the moment that sunlight is shining on the panel.
This explanation is true for both the vertical and horizontal motors we made.

Tuesday, August 23, 2016

Sleep recalibrates homeostatic and associative synaptic plasticity in the human cortex : Nature Communications : Nature Research

Sleep recalibrates homeostatic and associative synaptic plasticity in the human cortex : Nature Communications : Nature Research:

'via Blog this'

zeptimius comments on Why do people want President Obama to visit the flooded areas in Louisiana so badly? What difference does it make?

There's an old joke about media spin.

President... whoever, let's say Obama, visits some country, let's say Spokania. As he gets out of Air Force One, a journalist calls out, "Mr President, will you be visiting any brothels during your stay?"

Obama thinks to himself, "This is a gotcha question, if I say no, tomorrow's headline will be, 'OBAMA: I WON'T BE VISITING ANY BROTHELS IN SPOKANIA'. I better play dumb." So he says to the journalist, "What do you mean, are there brothels here?"



How to create custom Gmail alerts on any Android device | Computerworld

FYI: I had to go to settings through composing a new message, then tap on Settings.

Friday, August 19, 2016

Windows Containers and Docker - Simple Talk

And here is the Summary: (full article here)

Windows Server 2016 features support for containers.
The Docker revolution has become so significant that even Microsoft has plowed forward into the container territories, first through Docker/Linux support in Azure and now through integration in Windows Server 2016, now at Technical Preview 5.
Microsoft is so serious about containers, in fact, that it now actively participates in the Open Container Initiative (OCI) and has embraced the collaborative mindset as if it came up with it on its own, promising seamless integration with the Docker ecosystem, despite its open-source, community-minded, Linux-based heritage.
Microsoft plans to offer two types of containers in Windows Server 2016: the Windows Server container and the Hyper-V container.
Microsoft is also introducing the Windows Server 2016 Nano edition, a minimal headless version of the OS that includes no local GUI or console.
Microsoft has also added nested virtualization to Windows Server 2016 so you can run Hyper-V containers if the host is a VM. Microsoft is also adding container support to Windows 10, though only for Hyper-V containers.
As you can see, Hyper-V containers currently support only the Nano Server image, but your choice for Windows Server containers depends on which edition of Windows Server you're running.
It also means you won't be able to run a Linux-based container on a Windows-based machine, or vice versa, but that's also true for Hyper-V containers.
You do not need to choose the container type ( Windows Server or Hyper-V) until you're ready to implement the actual container.
To help automate container management for both Windows Server and Hyper-V containers, Microsoft has been providing a PowerShell module in the Windows Server 2016 technical previews. However, Microsoft recently announced that it would be deprecating this module and replacing it with a new one that builds directly on top of the Docker engine's REST interface, not a surprising move given the pivotal role Docker plays in the unfolding container drama.
Windows containers are now part of that project, with Docker working to fully integrate Windows containers into the Docker ecosystem.
The Docker engine provides the functionality necessary to manage your Docker environment.
However, the Docker engine is not part of the Windows installation.
The Docker engine essentially does all the container-management grunt work for you, while exposing the API necessary for the Docker client to interface with the engine. Although you cannot run a Windows container on Linux or a Linux container on Windows, you can use the same client to manage both Linux and Windows containers, whether Windows Server or Hyper-V containers.
As with the Docker engine, you must download and install the Docker client yourself. The client can run on either Windows 10 or Windows Server 2016. That should be coming soon, just like the new PowerShell container module, which will also allow you to manage your Windows containers.
Microsoft and Docker still have plenty of work left to do before Windows containers are fully functional, but what we've seen so far represents a significant step forward. Given the extent in which Docker has taken hold in recent years, the Windows-Docker integration makes the picture even brighter, especially for those who want to be able to work with both Linux and Windows containers.
The degree to which Docker will rock the Windows world is yet to be seen, and there's no telling whether Windows containers will bring die-hard Linux fans over to the dark side, but for those already invested in the Windows ecosystem, containers could prove a big boon-and play a significant role in convincing organizations to upgrade to Windows Server 2016, a factor that Microsoft has no doubt been considering since the first Docker sonic boom.

Tuesday, August 9, 2016

About conditional comments (Internet Explorer)

"As of Internet Explorer 10, conditional comments are no longer supported by standards mode. Use feature detection to provide effective fallback strategies for website features that aren't supported by the browser."


Researchers crack open unusually advanced malware that hid for 5 years | Ars Technica

Kinda scary.. and a bit cool. I hope no damage is done.

Timer Resolution « Lucas Hale


Monday, August 8, 2016

The Bitfinex Bitcoin Hack: What We Know (And Don't Know) - CoinDesk

"More than $60m worth of bitcoin was stolen from one of the world's largest digital currency exchanges yesterday, and nearly 24 hours later, the event is still shrouded in mystery."

Sunday, August 7, 2016

Western Digital Adds Helium-Filled WD Gold 10 TB HDD to Lineup



The WD Gold 10 TB drive (WD101KRYZ) shares the hermetically-sealed 3.5'' platform with the WD Gold 8 TB, which was introduced earlier this year. Just like the other WD Gold HDDs, the new 10 TB model was designed for a variety of server applications, including small to medium-scale machines, as well as rack-mount data center servers and storage enclosures. The drive is promoted as being optimized for RAID environments and supports enhanced RAFF technology that protects against vibration (by monitoring linear and rotational vibration in real time) as well as head positioning system with two actuators, which increases positional accuracy. In addition, the WD Gold 10 TB also supports time-limited error recovery technology (TLER), which prevents drive fallout caused by extended HDD error recovery processes.
The WD Gold 8 TB model released earlier this year already featured a number of performance and energy efficiency optimizations and the WD Gold 10 TB hard drive is designed to improve even further.

Friday, August 5, 2016

Search for drivers ACPI\VEN_INT&DEV_0800

This driver worked for the "Legacy Device" under Windows 10 on a Dell machine.

Sunday, July 10, 2016

How to Remove Quick Access from Windows 10 File Explorer

  1. Regedit
  2. HKEY_CLASSES_ROOT\CLSID\{679f85cb-0220-4080-b29b-5540cc05aab6}\ShellFolder
  3. Permissions: change owner to you.
  4. Log out, then back in.
Side effect: lose ability to drag from left pane in Explorer.

Friday, July 1, 2016

C# Enum.Description() extension method

        /// <summary>
        /// Returns the text of the [Description("text")] attribute on an enum. Or null if not found.
        /// </summary>
        /// <param name="element"></param>
        /// <returns></returns>
        [ CanBeNull ]
        public static String Description( this Enum element ) {
            var type = element.GetType();

            var memberInfo = type.GetMember( element.ToString() );

            if ( !memberInfo.Any() ) {
                return null;
            var attributes = memberInfo[ 0 ].GetCustomAttributes( typeof( DescriptionAttribute ), false );

            return attributes.Any() ? ( attributes[ 0 ] as DescriptionAttribute )?.Description : null;

Wednesday, June 29, 2016

Multicast delegates and events in C#

"lock(this)" is still bad. Please don't lock on this.

Saturday, June 18, 2016

Essays: The Eternal Value of Privacy - Schneier on Security

Thank you for stating these ideas in your article, Bruce.

The Eternal Value of Privacy

  • Bruce Schneier
  • Wired
  • May 18, 2006
The most common retort against privacy advocates -- by those in favor of ID checks, cameras, databases, data mining and other wholesale surveillance measures -- is this line: "If you aren't doing anything wrong, what do you have to hide?"
Some clever answers: "If I'm not doing anything wrong, then you have no cause to watch me." "Because the government gets to define what's wrong, and they keep changing the definition." "Because you might do something wrong with my information." My problem with quips like these -- as right as they are -- is that they accept the premise that privacy is about hiding a wrong. It's not. Privacy is an inherent human right, and a requirement for maintaining the human condition with dignity and respect.
Two proverbs say it best: Quis custodiet custodes ipsos? ("Who watches the watchers?") and "Absolute power corrupts absolutely."
Cardinal Richelieu understood the value of surveillance when he famously said, "If one would give me six lines written by the hand of the most honest man, I would find something in them to have him hanged." Watch someone long enough, and you'll find something to arrest -- or just blackmail -- with. Privacy is important because without it, surveillance information will be abused: to peep, to sell to marketers and to spy on political enemies -- whoever they happen to be at the time.
Privacy protects us from abuses by those in power, even if we're doing nothing wrong at the time of surveillance.
We do nothing wrong when we make love or go to the bathroom. We are not deliberately hiding anything when we seek out private places for reflection or conversation. We keep private journals, sing in the privacy of the shower, and write letters to secret lovers and then burn them. Privacy is a basic human need.
A future in which privacy would face constant assault was so alien to the framers of the Constitution that it never occurred to them to call out privacy as an explicit right. Privacy was inherent to the nobility of their being and their cause. Of course being watched in your own home was unreasonable. Watching at all was an act so unseemly as to be inconceivable among gentlemen in their day. You watched convicted criminals, not free citizens. You ruled your own home. It's intrinsic to the concept of liberty.
For if we are observed in all matters, we are constantly under threat of correction, judgment, criticism, even plagiarism of our own uniqueness. We become children, fettered under watchful eyes, constantly fearful that -- either now or in the uncertain future -- patterns we leave behind will be brought back to implicate us, by whatever authority has now become focused upon our once-private and innocent acts. We lose our individuality, because everything we do is observable and recordable.
How many of us have paused during conversation in the past four-and-a-half years, suddenly aware that we might be eavesdropped on? Probably it was a phone conversation, although maybe it was an e-mail or instant-message exchange or a conversation in a public place. Maybe the topic was terrorism, or politics, or Islam. We stop suddenly, momentarily afraid that our words might be taken out of context, then we laugh at our paranoia and go on. But our demeanor has changed, and our words are subtly altered.
This is the loss of freedom we face when our privacy is taken from us. This is life in former East Germany, or life in Saddam Hussein's Iraq. And it's our future as we allow an ever-intrusive eye into our personal, private lives.
Too many wrongly characterize the debate as "security versus privacy." The real choice is liberty versus control. Tyranny, whether it arises under threat of foreign physical attack or under constant domestic authoritative scrutiny, is still tyranny. Liberty requires security without intrusion, security plus privacy. Widespread police surveillance is the very definition of a police state. And that's why we should champion privacy even when we have nothing to hide.

It’s not a Fourth Amendment search if a cop swipes your credit card, court finds | Ars Technica

What a load of ....!

Monday, June 13, 2016


We are sickened and saddened by the recent shootings in Orlando.  First, the murder of fellow YouTuber, Christina Grimmie, followed by the worst mass shooting in American history. This is a tragic weekend for the people of Orlando, the LGBTQ community, and humanity in general. 

These horrible events spark fiery debate online about gun control, terrorism, and extremist ideology.  These debates are important, but how we debate is also important.  We’re already witnessing hateful verbal attacks between people who feel strongly that they have the explanations and solutions for these tragedies.  When we begin to disrespect and belittle each other, we become more like the perpetrators of the hateful acts themselves.

Unfortunately, these events aren’t simple. They can’t be boiled down to one contributing factor.  But one thing is clear: the vast majority of us want them to STOP.  We hate seeing peoples’ lives ended by cowards.  We hate that families and friends will go on without their loved ones.  We hate that humans are capable of so much destruction.

Most of us want to live to see a time when love conquers hate, when people can live in peace regardless of their race, religion, sexual orientation and identity.  As we seek to find ways to make that a reality, to find solutions to these deeply troubling issues, we must engage with one another with respect and dignity.  Let’s be part of the solution.  We will get through this.  Hate is not going to win.

Rhett & Link

Sunday, June 12, 2016

BEST FIX: Error 50 DISM does not support servicing Windows PE with the /online option -

January 3, 2016

Deployment Image Servicing and Management (DISM) is used to refresh a Windows image, or prepare an image. It is a command line tool. It has many uses, including its use to repair when System File Checker scan reports errors or corrupted files.

But rarely users have reported getting the following error “Error 50 DISM does not support servicing Windows PE with the /online option. The DISM log file can be found at x:windows\dism\dism.log” when they run the DISM command. Its cause is that the windows seem to think that we are in Win PE (Pre-installation Environment). This is the result of a misplaced registry key. Follow our guide to fix it quickly.

Deleting the Registry key

Hold down Windows key and press R. Type regedit and press Enter. Click Yes if a UAC warning appears.
In the registry editor windows, click on HKEY_LOCAL_MACHINE In the left pane to expand it.
Under HKEY_LOCAL_MACHINE, click on SYSTEM to expand it. Similarly navigate toHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.
Under Control, there will be a folder named MiniNTRight click on it and click Permissions.
Select your username in the group or usernames list and make sure the check box against Full Control is checked. Then click OK.
Right click on the same MiniNT key, and click Delete. Confirm any message for deletion.
Restart your system and run the command again. Your problem should be gone.

Update BIOS

If the above solution doesn’t work; make sure that you restore bios to it’s default settings. You can do this by booting into BIOS. Since all models are different; it would be best to refer to the manual to see how to restore bios to default.

Tuesday, April 26, 2016

Dynamically Generate Format File For OPENROWSET - SQLServerCentral

Dynamically Generate Format File For OPENROWSET

By Joey Moelands
I was wondering why nobody ever wrote a script to dynamically generate a format file for BCP based on meta data. When you store youre target table and field definitions in meta data.
In steps (you need to program it your selve, don't want to make it to easy...)
1. Fill the meta data tables with your table definition
2. Create stored procedure for drop / create table from meta data definition
3. Create stored procedure for Select ... From table from meta data definition
And now the magic;
1. Dynamically generate a drop and create script for a table to be imported.
2. Dynamically generate the format file (needed for the insert into table, created by step 1).
3. Dynamically generrate the insert into statement for inserting into table (created in step 1).
This way you can fully dynamically do text file import for csv related files (instead of building thousands of SSIS packages to do bulk insert.....)
Some of the paramaters in the format file are now hard coded, offcourse all the variables in the format file can be put into the meta data. The definition of the XML needed is located here on MSDN;
Joey Moelands

SQL Server Resource Governor - SQLServerCentral

My Aim

I want to throttle down the CPU assigned to SSAS based processes allowing my other tasks to also use CPU during contention, this is because the SSAS tasks has a negative impact on my other workloads.

The Solution

I decided to create two pools, a so-called slow one (called SQLCPUSLOW) and a fast one (called SQLCPUFAST). The SQLCPUSLOW pool was assigned a maximum of 10% of CPU during contention periods and the fast pool I had assigned 90%. Please note, as stated by Boris Baryshnikov, “When you specify percentage on a pool it ensures average CPU bandwidth distribution on per scheduler basis for CPU bound workloads”. (
The key element to my solution here is that The MAX_CPU_PERCENT value tells the scheduler how to allocate resources when there is contention between workloads.

T-SQL Setup

Here is the T-SQL I used to set up the Resource Governor pools.
USE master
-- Create Pools
   max_cpu_percent = 10

   max_cpu_percent = 90
The below code then binds the pools created to workload groups.
-- Create groups

Clean Up

If you need to start again you would use the below T-SQL.
USE master

USE master

Monday, April 25, 2016


It automatically sends transaction log backups from one database (Known as the primary database) to a database (Known as the Secondary database) on another server. An optional third server, known as the monitor server, records the history and status of backup and restore operations. The monitor server can raise alerts if these operations fail to occur as scheduled. 


Database mirroring is a primarily software solution for increasing database availability.
It maintains two copies of a single database that must reside on different server instances of SQL Server Database Engine.


It is a set of technologies for copying and distributing data and database objects from one database to another and then synchronizing between databases to maintain consistency. Using replication, you can distribute data to different locations and to remote or mobile users over local and wide area networks, dial-up connections, wireless connections, and the Internet.

Log Shipping::Primary server, secondary server and monitor server (Optional).
Mirroring::Principal server, mirror server, and witness server (Optional).
Replication::Publisher, Subscribers, Distributor (Optional).
Data Transfer

Log Shipping::T-Logs are backed up and transferred to secondary server.
Mirroring::Individual T-Log records are transferred using TCP endpoints.
Replication::Replication works by tracking/detecting changes (either by triggers or by scanning the log) and shipping the changes.
Server Limitation

Log Shipping::It can be configured as One to Many. i.e one primary server and many secondary servers. Or
Secondary server can contain multiple Primary databases that are log shipped from multiple servers.
Mirroring::It is one to one. i.e. One principal server to one mirror server.
  • Central publisher/distributor, multiple subscribers.
  • Central Distributor, multiple publishers, multiple subscribers.
  • Central Distributer, multiple publishers, single subscriber.
  • Mixed Topology.
Types Of Failover

Log Shipping::Manual.
Mirroring::Automatic or manual.
DB Access

Log Shipping::You can use a secondary database for reporting purposes when the secondary database restore in STANDBY mode.
Mirroring::Mirrored DB can only be accessed using snapshot DB.
Replication::The Subscriber Database is open to reads and writes.
Recovery Model

Log Shipping::Log shipping supports both Bulk Logged Recovery Model and Full Recovery Model.
Mirroring::Mirroring supports only Full Recovery model.
Replication::It supports Full Recovery model.
Restoring State

Log Shipping::The restore can be completed using either the NORECOVERY or STANDBY option.
Mirroring::The restore can be completed using with NORECOVERY.
Replication::The restore can be completed using With RECOVERY.

Log Shipping::This can be done manually or
through Log Shipping options.
Mirroring::User make backup & Restore manually.
Replication::User create an empty database with the same name.
Distributer/ Witness

Log Shipping::The monitor server should be on a server separate from the primary or secondary servers to avoid losing critical information and disrupting monitoring if the primary or secondary server is lost. . If a monitor server is not used, alert jobs are created locally on the primary server instance and each secondary server instance.
Mirroring::Principal server can’t act as both principal server and witness server.
Replication::Publisher can be also distributer.
Types Of Servers

Log Shipping::All servers should be SQL Server.
Mirroring::All servers should be SQL Server.
Replication::Publisher can be ORACLE Server.
SQL Server Agent Dependency/Jobs

Log Shipping::Yes. Log shipping involves four jobs, which are handled by dedicated SQL Server Agent jobs. These jobs include the backup job, copy job, restore job, and alert job.
Mirroring::Independent on SQL Server agent.
Replication::Yes. Snapshot agent, log reader agent & Distribution agent (transactional replication)
Merge agent (merge replication).

Log Shipping::
  • The servers involved in log shipping should have the same logical design and collation setting.
  • The databases in a log shipping configuration must use the full recovery model or bulk-logged recovery model.
  • The SQL server agent should be configured to start up automatically.
  • You must have sysadmin privileges on each computer running SQL server to configure log shipping.
  • Verify that there are no differences in system collation settings between the principal and mirror servers.
  • Verify that the local windows groups and SQL Server logins definitions are the same on both servers.
  • Verify that external software components are installed on both the principal and the mirror servers.
  • Verify that the SQL Server software version is the same on both servers.
  • Verify that global assemblies are deployed on both the principal and mirror server.
  • Verify that for the certificates and keys used to access external resources, authentication and encryption match on the principal and mirror server.
  • Verify that there are no differences in system collation settings between the servers.
  • Verify that the local windows groups and SQL Server Login definitions are the same on both servers.
  • Verify that external software components are installed on both servers.
  • Verify that CLR assemblies deployed on the publisher are also deployed on the subscriber.
  • Verify that SQL agent jobs and alerts are present on the subscriber server, if these are required.
  • Verify that for the certificates and keys used to access external resources, authentication and encryption match on the publisher and subscriber server.
Using With Other Features Or Components

Log Shipping::Log shipping can be used with Database mirroring, Replication.
Mirroring::Database mirroring can be used with
Log shipping, Database snapshots , Replication.
Replication::Replication can be used with log shipping, database mirroring.
DDL Operations

Log Shipping::DDL changes are applied automatically.
Mirroring::DDL changes are applied automatically.
Replication::only DML changes to the tables you have published will be replicated.
Database Limit

Log Shipping::No limit.
Mirroring::generally good to have 10 DB’s for one server.
Replication::No limit.

Log Shipping::There will be data transfer latency. >1min.
Mirroring::There will not be data transfer latency.
Replication::Potentially as low as a few seconds.
Committed /

Log Shipping::Both committed and uncommitted transactions are transferred to the secondary database.
Mirroring::Only committed transactions are transferred to the mirror database.
Replication::Only committed transactions are transferred to the subscriber database.
Primary key

Log Shipping::Not required.
Mirroring::Not required.
Replication::All replicated table should have Primary Key.
New Created Database&
Stored Procedure

Log Shipping::Monitoring and history information is stored in tables in msdb, which can be accessed using log shipping stored procedures.
Replication::Creates new SPs ( 3 Sps of one table).
Distribution Database.
Rowguid column will be created.
Individual Articles

Log Shipping::No. Whole database must be selected.
Mirroring::No. Whole database must be selected.
Replication::Yes. Including tables, views, stored procedures, and other objects. Also filter can be used to restrict the columns and rows of the data sent to subscribers.

Log Shipping::Log shipping supports FILESTREAM.
Mirroring::Mirroring does not support FILESTREAM.
Replication::Replication supports FILESTREAM.
DB Name

Log Shipping::The secondary database can be either the same name as primary database or it may be another name.
Mirroring::It must be the same name.
Replication::It must be the same name.
DB Availability

Log Shipping::In case of standby mode: read only database.
In case of restoring with no recovery: Restoring state.
Mirroring::In Recovery state, no user can make any operation.
You can take snapshot.
Replication::Snapshot (read-only).
Other types (Database are available).
Warm/ Hot Standby Solution

Log Shipping::It provides a warm standby solution that has multiple copies of a database and require a manual failover.
Mirroring::When a database mirroring session is synchronized, database mirroring provides a hot standby server that supports rapid failover without a loss of data from committed transactions. When the session is not synchronized, the mirror server is typically available as a warm standby server (with possible data loss).
Replication::It provides a warm standby solution that has multiple copies of a database and require a manual failover.
System Data Transferred

Log Shipping::Mostly.
System Databases

Mirroring::You cannot mirror the Master, msdb, tempdb, or model databases.
Mode Or Types

Log Shipping::
  • Standby mode (read-only)-you can disconnect users when restoring backups .
  • No recovery mode (restoring state)-user cannot access the secondary database.
  • high-safety mode supports synchronous operation.
  • high-performance mode, runs asynchronously.
  • High-safety mode with automatic failover.

  • Snapshot replication.
  • Transactional replication.
  • Transactional publication with updatable subscriptions.
  • Merge publication.
  • Pull/Push subscription.