Introduction
Migrating Microsoft SQL Server from an older version can be considered as an issue if you didn’t consider the variances between both versions (especially if your Database uses some deprecated features), so how can we detect all these changes between SQL Server versions?
One way is to understand the different compatibility levels of each version and make sure to compare both features manually. On the other hand, Microsoft has provided SQL Server Upgrade Advisory Tool which can make your life much easier.
This post aims to guide you through a quick tour using the Microsoft SQL Server 2012 Upgrade Advisory Tool.
Walkthrough Scenario
To start you need to download the Microsoft SQL Server 2012 Advisory Tool which is part of the SQL Server 2012 Feature Pack (Microsoft® SQL Server® 2012 Upgrade Advisor (Feature Pack)).
Next you open the Microsoft SQL Server 2012 Advisory Tool, the Main Menu will appear as below
From the Main Menu you can choose one of two actions:
Let’s start by clicking on “Launch Upgrade Advisor Analysis Wizard”, after that the welcome screen will appear, read it and click next.
Then you will see the SQL Server Component Selection Screen, you can enter the SQL Server Name and click Detect button and the wizard will automatically detect the installed components (such SQL Server, Analysis Services, etc.)
Click next and you will see the Connection Parameter Screen, you need to provide the proper connection values to proceed
Note:
The below screen might have different parameter depending on the SQL Server Components chosen from the earlier screen.
Next you need to complete the SQL Server Parameters needed such as the Databases that you need to analysis
Next the Upgrade Advisor will start the analysis
Next the result screen will show up with warnings, errors … etc..
If the components are ready to upgrade then the result will show a message like no issues to resolve, however we choose to have a report with some issues to proceed with the next steps.
After that you can choose to Launch the Report to review the pending issues to resolve, a sample report is shown below
You can check additional information about each issue by expanding the details and fix the issues. In addition, you can rerun the test after fixing these issues to guarantee a smooth SQL Server Upgrade.
Also note that all the reports are stored locally on the machine and you can access them again from the Main Menu using the Launch Upgrade Advisor Report Viewer Link
Additional References
Below are some useful references that provides more information about the items mentioned in the above post:
A hybrid SharePoint environment means a combination of SharePoint on-premise farm and Office 365 (O365) SharePoint online (SPO) farm to leverage both platforms advantages.
In this post, I will demonstrate a console client solution that reads and writes taxonomy items from/to SPO platform and share some tips relevant to taxonomy in your farm or hybrid farm design. The solution works for on-premise as well (that would be different site URL and credentials off course)
I am going to extend the sample code from an msdn article -Managed metadata and navigation in SharePoint 2013 - I wanted to confirm that it applies to SPO context as well.
Requirements:
Ok, lets start the demonstration, will ignore minor steps.
And, action
1: static string _siteUrl;
2: static SharePointOnlineCredentials _credentials;
3:
4: public static void Main(string[] args)
5: {
6: try
7: {
8: _siteUrl = System.Configuration.ConfigurationManager.AppSettings["siteUrl"];
9:
10: var password = new SecureString();
11: System.Configuration.ConfigurationManager.AppSettings["pwd"].ToList().ForEach(n => password.AppendChar(n));
12: _credentials = new SharePointOnlineCredentials(System.Configuration.ConfigurationManager.AppSettings["tenant"], password);
13:
14: CreateColorsTermSet();
15: DumpTaxonomyItems();
16: }
17: catch (Exception ex)
18: {
19: var msg = ex.Message;
20: //TODO:log this
21: }
22: }
1: private static void CreateColorsTermSet()
2: {
3: ClientContext clientContext = new ClientContext(_siteUrl);
4: clientContext.Credentials = _credentials;
5:
6: TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(clientContext);
7: clientContext.Load(taxonomySession,
8: ts => ts.TermStores.Include(
9: store => store.Name,
10: store => store.Groups.Include(
11: group => group.Name
12: )
13: )
14: );
15: clientContext.ExecuteQuery();
16:
17: if (taxonomySession != null)
19: TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
20: if (termStore != null)
21: {
22: //
23: // Create group, termset, and terms.
24: //
25: TermGroup myGroup = termStore.CreateGroup("MyGroup", Guid.NewGuid());
26: TermSet myTermSet = myGroup.CreateTermSet("Color", Guid.NewGuid(), 1033);
27: myTermSet.CreateTerm("Red", 1033, Guid.NewGuid());
28: myTermSet.CreateTerm("Orange", 1033, Guid.NewGuid());
29: myTermSet.CreateTerm("Yellow", 1033, Guid.NewGuid());
30: myTermSet.CreateTerm("Green", 1033, Guid.NewGuid());
31: myTermSet.CreateTerm("Blue", 1033, Guid.NewGuid());
32: myTermSet.CreateTerm("Purple", 1033, Guid.NewGuid());
33:
34: clientContext.ExecuteQuery();
35: }
36: }
37: }
38:
39: private static void DumpTaxonomyItems()
40: {
41: ClientContext clientContext = new ClientContext(_siteUrl);
42: clientContext.Credentials = _credentials;
43:
44: //
45: // Load up the taxonomy item names.
46: //
47: TaxonomySession taxonomySession = TaxonomySession.GetTaxonomySession(clientContext);
48: TermStore termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
49: clientContext.Load(termStore,
50: store => store.Name,
51: store => store.Groups.Include(
52: group => group.Name,
53: group => group.TermSets.Include(
54: termSet => termSet.Name,
55: termSet => termSet.Terms.Include(
56: term => term.Name)
57: )
58: )
59: );
60: clientContext.ExecuteQuery();
61:
62:
63: //
64: //Writes the taxonomy item names.
65: //
66: if (taxonomySession != null)
67: {
68: if (termStore != null)
69: {
70: foreach (TermGroup group in termStore.Groups)
71: {
72: Console.WriteLine("Group " + group.Name);
73:
74: foreach (TermSet termSet in group.TermSets)
75: {
76: Console.WriteLine("TermSet " + termSet.Name);
77:
78: foreach (Term term in termSet.Terms)
79: {
80: //Writes root-level terms only.
81: Console.WriteLine("Term " + term.Name);
82: }
83: }
84: }
85: }
86: }
87:
88: Console.ReadLine();
89:
90: }
F5 and voila!
Please note that:
1- First you need to create a new Azure WebSite. So logon to https://manage.windowsazure.com and go to the websites and click create.
2- Once the web site is created now download the publishing profile.
3- Now go to your app and import this publishing profile and publish your app to azure.
4- Click save to save the created profiles but do not publish yet as it will fail. Now open the file “backeryapp - Web Deploy.pubxml” using VS and edit it to insert the following lines
5- Now publish your site to azure and it should succeed
6- Now you should be able to open your site and see the normal public page (not linked to SharePoint).
7- Now open your “AppManifest.xml” file and make sure you change the URL or your app to the Azure URL (Note that the URL must be HTTPS based)
8- Now do not deploy it to SharePoint yet as it will fail, you need to register your app to SharePoint (same as what VS is doing automatically for you) so go to your tenant and open the page https://<tenant>.sharepoint.com/_layouts/15/appregnew.aspx and click on the two generate buttons and fill the information as required:
9- Now copy both the Client Id and the Client Secret and put them in your site web.config file replacing the values there. Republish your site to azure.
10- Now click on Create on the application registration page
11- Now publish the SharePoint App.
12- Now go to your SharePoint tenant and upload the App package.
13- Now test your app from the link below
In this blog post series I will share MEA Applications of the month for Microsoft Windows 8 (W8) Devices, Windows Phone 8 (WP8) Devices and Xbox, these applications were selected by real application users, you will find a short description about each application as a why question this application was selected, then from where you can download it,
Oct 2013 Apps of the Month can be found here.
Nov 2013 Apps of the Month can be found here.
Jan 2014 Apps of the Month can be found here.
Feb 2014 Apps of the Month can be found here.
Applications selected as MEA Apps of Feb 2014 month are as follows:
GeoPhoto:
WP8
Why?
Ever wondered where you took all your great photos? Or want to know where one specific photo was shot? No problem with GeoPhoto!
This app allow you to view all your geotagged pictures on Nokia HERE maps and have a SkyDrive support (view your SkyDrive-pics on the map)
From Where to download?
WP8: http://www.windowsphone.com/en-us/store/app/geophoto/f10991b2-3e1a-4fb0-99bc-833338a33502
Daily Workouts:
W8, WP8
This is the ideal app for someone that needs a quick assisted workout, this is the app for you.
You can chose the length and type of the exercise, and follow the videos.
WP8: http://www.windowsphone.com/en-us/store/app/daily-workouts/ff574527-1d9d-4ca5-85bb-d14183825fbe
MarketWatch:
To track Microsoft stock performance & any other stocks,
The MarketWatch Windows phone app delivers real-time market data and quotes, breaking markets and business news and analysis, and investing advice throughout the day.
Features:
- Latest markets, finance and business news from MarketWatch
- Market data center updated in real time
- Detailed stock quote pages with key trading information and charts
- Speech recognition for hands-free listening: tell your Windows phone to read you the latest MarketWatch headlines and stories, news on a company, or the latest quote for a stock
- Customizable Watchlist – track your stocks and see related MarketWatch stories
- Save and share articles
WP8, W8: http://www.windowsphone.com/en-us/store/app/marketwatch/7ddf0001-00ec-4617-84ef-cdae92b65ab4
Greate British Chefs:
W8
Cooking is one of my favorite hobbies. Great cooking personifies a lot of what I inspire for; innovation, perfection and devotion. This app really brings together all the element for me to indulge in my favorite past time. It has great design layout, easy interface, great visuals. Its everything that W8 app should be…..
· 320 recipes sorted by chef, filter and theme
· Stunning HD photography
· Chef and restaurant profiles
· Over 100 instructional videos
· Informative articles delivered straight to the app
· Build up and share your shopping list by recipe or aisle
· Pin, print and Share your favorite recipes
· You can now "favourite" up to 250 recipes
W8: http://apps.microsoft.com/webpdp/app/00276318-565e-43a1-96ed-2dbf0df2bb6e
Enjoy these great application and keep tuned for next month applications.