Posts

Moving SharePoint 2016 databases into SQL AlwaysOn group

Image
A year or so  ago I deployed an internal portal of our company based on SharePoint 2016. We were starting to use AlwaysOn on our SQL servers, but I was not sure if this would be applicable for the SharePoint 2016 and decided to use one of the SQL servers of this AlwaysOn group to store SharePoint databases. It was running fine but the need to move the content databases as well as service applications databases to the AlwaysOn arised a couple of weeks ago. That meant that these databases would stay on this server and their copies will appear on the second SQL server. AlwaysOn group listener appears as a separate SQL server, so this database move will look like a move to another database server. First of all to get the list of all databases we will run a PowerShell cmdlet: Get-SPDatabase | ft Name,DatabaseConnectionString You can see all the databases that reside in this SharePoint 2016 deployment. Some of these databases are Content databases, while the others are service application

VMWare Horizon Pool options are grayed out: how to edit?

Image
When you create a pool in VMWare Horizon View Administrator console you are able to modify the settings of this pool. However, some options may be grayed out and you would not be able to modify them using the web interface. I ran into that during the re-creation of one of the pool. I have set the option "Allow users to choose protocol" to Yes, while it was required to deny the protocol selection. I tried to find a way to change this option and noticed the following VMWare forum topic:  Cannot change Remote Desktop-Protocol . There is an answer from one of the forum members who described the method to modify pool settings using ADSI editing tool. You will need the following article to be able to connect to ADAM Database of VMWare Horizon View:  Connecting to the View ADAM Database (2012377) . Using this article I was able to connect to the ADAM Database and to find the required parameter by comparing its values with the values of another pool. The name of the attribu

VMWare View Agent 7.7 installation with Persona management brings the Windows 10 golden image into automatic repair state

Image
During the PoC project of VMWare Horizon View 7.6 for our customer we have noticed quite a weird issue with the View agent. In short, after the installation of View agent 7.7, any Windows 10 golden image gets into automatic repair state and is not able to boot normally. This issue had been reproduced on Windows 10 1803 and Windows 10 1809 LTSC. While this problem arises with Agent 7.7, there are no issues with Agent 7.6. In addition, the main reason is Persona Management component. You will not experience the issue if you are not using Persona Management in your environment. We have been testing desktop pools with the View Agent 7.6 and Persona Management and all the desktops were working quite good. All the golden images are configured using Local GPOs to define the settings of View Agent software, including the Persona Management component. Unfortunately, we were not able to use Domain GPOs for these VMs and VDI desktops due to some security restrictions of the customer. My colleag

Some tips and cmdlets to use during the migration from Exchange 2013 to Exchange 2016

Image
During the move from Exchange 2013 to 2016 you will need to migrate mailboxes from one mailbox database to another because you cannot mix Exchange 2013 and Exchange 2016 servers in one DAG. In this post I decided to mention some best practices and useful cmdlets you may need during the move. Some users may have large mailboxes if you are not limiting the size, that is why some our mailboxes were greater than 20GB and even 30GB. It is a good idea to ask these users to delete left junk emails. One of my users removed nearly  20GB of mails and items after my request. That was great but the size of this mailbox did not reduce because all these deleted items were moved to the Recoverable Items folder. So, here is the first best practice: ask your users to delete all unnecessary mails before the move from one database to another. If you do not want to clean up the Recoverable items folder manually it would be useful to check the retention period of the source mailbox database. If the rete

Cannot migrate an Exchange 2013/2016 mailbox after it has been migrated earlier

Image
This week we had been performing a migration from Exchange 2013 to 2016. This process included a migration of mailboxes from Exchange 2013 database availability group to a new DAG on Exchange 2016 servers. As you may know, there is no way to add Exchange 2016 servers into an existing DAG, created on Exchange 2013 servers. So, I had been performing these migrations and found out that a correct target database was not set for one mailbox. This mailbox migrated to a second database located on Exchange 2013. When I noticed that mistake I tried to move the mailbox to a correct database, but I did not succeed. I created a new mailbox move request using ECP targeting it to a correct database. This move request have started an initialization process and ended up with a message that 0 mailboxes were synced and 0 were finalized. The highlighted line stands for "Number of mailboxes finalized". I have migrated all the remaining mailboxes and was in need to solve that issue to decomm

Project Server 2016 errors 23000 and 26000 during the publishing process

Image
Yesterday I ran into an issue related to Project Server 2016. This was the first time I used this product to publish a project and I did not expect any issues. First I have put some tasks into the project and their durations. After that I saved this project to Project Server using my desktop Project application and published it successfully. Later I decided to add some resources to the project and was not able to publish it again. The following image is showing the error message which appears in the Project Server tasks list. You get two failures: ProjectPublishFailure (23000).  name='ProjectPublishFailure'  messagetype='Microsoft.Office.Project.Server.BusinessLayer.QueueMsg.UpdateSRAMessage: projectUid = 8ebbcaa0-6506-e811-9c4d-9cebe82e29b3'  messageID='14'  stage=''  blocking='Block'  and   GeneralQueueJobFailed (26000) - ProjectPublish.UpdateSRAMessage .  name='GeneralQueueJobFailed'  GroupType='ProjectPublish&#