Skip to main content

Thinking out aloud - Dave Hunter's SharePoint Blog

Go Search
Home
Blog
  

Locations of visitors to this page


 Useful Links

  Microsoft UK events
  SharePoint 2007 on CodePlex
  SharePoint Community Portal
  SharePoint User Group
  SharePoint Community Portal
  SharePoint Pedia
  SharePoint MSDN Forums
  SharePoint University
Home > Thinking out aloud - Dave Hunter's SharePoint Blog > Posts > Backup Script for K2 BlackPearl Databases
My thoughts and findings on Microsoft Information worker technologies, including MCMS and SharePoint 2007 (MOSS).
Backup Script for K2 BlackPearl Databases
It's important to backup K2's databases before you deploy any new workflows.  At the moment there isn't a tool to remove K2 BlackPearl Workflow Process definitions deployed to a server.
 
If you have a backup of the databases then you can restore to that point in time.  K2 BlackPearl has 14 databases so it's easier to run a script to perform the backup rather than using Microsoft SQL Server Management Studio.
 
Here's my backup script ....
 
/* declare the variables */
declare @dbname as nvarchar(255)
declare @bckstmt as nvarchar(255)
declare @backupDir as nvarchar(255)
declare @dateSufix as nvarchar(10)

declare @year as varchar(4)
declare @month as varchar(2)
declare @day as varchar(2)

/*
Creates a backup for each of the K2 BlackPearl databases
in a specified folder set by the variable @backupDir
Adds a suffix to the database names to reflect the date
for example:
In folder C:\_DBBackups
Categories_2008-03-14.bak */
/* set the variables */ SET @backupDir = 'C:\_DBBackups' SET @year = CONVERT(varchar(4),DATEPART(yyyy, GetDate())) SET @month = CONVERT(varchar(2),DATEPART(mm, GetDate())) SET @day = CONVERT(varchar(2),DATEPART(dd, GetDate())) /* make sure the month and day variables contain 2 characters */ IF LEN(@month) = 1 SET @month = '0' + @month IF LEN(@day) = 1 SET @day = '0' + @day /* build the date suffix */ SET @dateSufix = @year + '-' + @month + '-' + @day /***************************************************************
backup the Categories database
****************************************************************/
set @dbname = 'Categories' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the Dependencies database
***************************************************************/
set @dbname = 'Dependencies' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the EnvironmentSettings database
***************************************************************/
set @dbname = 'EnvironmentSettings' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the EventBus database
***************************************************************/
set @dbname = 'EventBus' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the EventBusScheduler database
***************************************************************/
set @dbname = 'EventBusScheduler' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the HostServer database
***************************************************************/
set @dbname = 'HostServer' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the K2Server database
***************************************************************/
set @dbname = 'K2Server' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the K2ServerLog database
***************************************************************/
set @dbname = 'K2ServerLog' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the K2SQLUM database
***************************************************************/
set @dbname = 'K2SQLUM' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the SmartBox database
***************************************************************/
set @dbname = 'SmartBox' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the SmartBroker database
***************************************************************/
set @dbname = 'SmartBroker' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the SmartFunctions database
***************************************************************/
set @dbname = 'SmartFunctions' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the WebWorkflow database
***************************************************************/
set @dbname = 'WebWorkflow' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt) /***************************************************************
backup the Workspace database
***************************************************************/
set @dbname = 'Workspace' set @bckstmt = 'BACKUP DATABASE ' + @dbname + ' to ' + 'Disk = ' + char(39) + @backupDir + '\' + rtrim(ltrim(@dbname)) + '_' + @dateSufix + '.bak' + char(39) exec (@bckstmt)
 
Hope it helps.  Please test before using.
 
UPDATE: Corrected a syntax error.
  Copyright
This work is licenced under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.0 UK: England & Wales License
  Site Map

Comments

There are no comments yet for this post.

 Dave Hunter

I'm currently a Senior Consultant at Netstore 2e2. I specialise in Microsoft Information Worker technologies (especially MOSS, MCMS and .NET), with over 8 years of experience within this area of specialism. 

I have gained two certifications for MOSS and WSS and look to complete the full certification track soon.

View Dave Hunter's profile on LinkedIn

  Subscribe in a reader


 Latest Posts

I’m attending the first ever SharePoint Saturday in the UK31/08/2010 19:43
I’ve re-joined CIBER UK31/08/2010 19:26
I’ve been Awarded a MVP for SharePoint01/04/2010 19:49
SharePoint 2010 Training on Microsoft E-Learning15/03/2010 17:56
SharePoint UK User Group - Thursday 27th August London Meeting25/08/2009 17:56
CAML Query that filters on the current user23/07/2009 17:50
Microsoft Ramp Up Free SharePoint Developer Training22/07/2009 20:59
How To: Change a SharePoint Application Pool Programmatically07/07/2009 18:08
SharePoint Forums Topping 100 Answers06/07/2009 12:29
Find out the SharePoint Internal Name for a Column or Site Column28/05/2009 09:56
1 - 10 Next