GP / SP Maintenance Schedule Notification Policy

Need to know:

1) Who are the user who need to be notified.

2) How many days of notification would be required.

3) Users would need to Logged of from GP / SP / SSRS / Accellos

4) We intend to do the maintenance on weekly basis.  The maintenance will be mostly on the publisher side, meaning the web site will continue to function.

6) The maintenance will last for 8 hours.  Progressive the down time will reduce.  The time specified here is conservative estimate.

7) Weekly maintenance is necessary as application and users are located in dispersed location.

8) Can we do away with the notification  and  step up a fixed ERP maintenance calendar.

9) Can we also set update the calendar and assign name to person/(s) who will get trained conduct the maintenance.

10) The web site will be taken down for 15-30 minutes.

11) It is necessary that users are logged out of the system during the Maintenance period.  It has been noticed that there are always users logged in with no activity.  Management involvement in in this endeavor is a must.

12) In case of non compliance what should be the action plan.  Who should be notified.

Thank you

Sanjay

 

 

 

 

 

 

How to stop SQL Related servers on 12508PPA1P

  1. Log on to the server as administrator
  2. Start the services MMC (Start -> Run -> Services.msc)
  3. Locate the SQL Server Integration Services 10.0
  4. Double Clickservices
  5. Change the start up type to disabled and then click on stop.
  6. Repeat steps 4 and 5 for SQL Server Reporting Services.

For reverting back, set the start type type to automatic and start the services.

MSDTC Reset Log

If application use Microsoft distributor coordinator, the log get filled eventually the MSDTC service hangs.

As preventive measure, periodic clean up of MSDTC Logs is not a bad idea.  Identify server where MSDTC is being used and reset logs as follows:

  • Rename the %SystemRoot%\System32\Dtclog folder to Dtclog.old.
  • Create a new Dtclog folder in the same location (%SystemRoot%\System32\Dtclog).
  • At a command prompt, type the following, and then press ENTER:
    MSDTC -resetlog
  • Start the MSDTC service.

 

How to place Azox e-commerce website in maintenance mode

  1. Log on on to the web site hosting the Azox website.
  2. Navigate to the webserver home directory
  3. _______\wwwroot\store\include\SiteMaintenance
  4. Under this folder there can be multiple folders one fore each site.
  5. Each of these folders contain  sitemaintenance.txt
  6. update the sitemaintenance.txt with DOWN for placing the site in maintenance mode.
  7. Update the sitemaintenance.txt with UP for taking the site out of maintenance.

The Message Queuing service cannot start because a queue is in an inconsistent state

Even Log Entries
The Message Queuing service cannot start because a queue is in an inconsistent state. For more information, see Microsoft Knowledge Base article 827493 at support.microsoft.com.

e-Commerce web site Error sending order to queue.
strQPathSuffix:(transactional) Error in SaveToMQ.SendMessage. System.Messaging.MessageQueueException (0×80004005): Message Queue service is not available. at System.Messaging.MessageQueueTransaction.Begin() at SaveToMsgQ.SaveToMQ.SendMessage(NOrderForm& order1, String strQPath1, String strLabel)

Consquences:
The message queue is missing at features section of the server manager.

Resolution:
At server where Microsoft Message Queuing feature is installed.
1) Stop all applications and services that uses MSMQ.
2) Kill the mqsvc.exe from the Task Manager
3) Go to C:\Windows\System32\msmq\storage and delete any .mq files
4) Start the MSMQ Service
5) Start your application which uses MSMQ.

Process Monitor job accumulations

Dealing with Microsoft Dynamics GP environment, which is :

  • Very active transitionally
  • Multitude of 3rd Party integrations
  • Large user base
  • Dynamics GP Clients hosted on terminal server environment.
  • With  large company database, reports running of long period of time, user tend move on to next activity without waiting for completion of current job.

In these scenario the process monitor keeps accumulating jobs.  Review of SY01300 table lists the jobs which are accumulated and not completed.  David Musgrave speaks techniques to manage the situation here, however the solution relates directly to developers  enabling “Kill” at process monitor.

Adopting the solution provided at KB866350, cleaning up the SY01300 table when users are not logged allows batches to be placed in batch recovery when users login the next time for the batch to be recovered while the reporting jobs are lost.

Periodic maintenance on SY01300 table:
— Check if users are logged in 
USE [DYNAMICS]
go
SELECT *
FROM   ACTIVITY WITH (NOLOCK)
— When no users are logged into the system, save data in SY01300 for further analysis 
IF OBJECT_ID(N’ZREPORTS..SY01300COPY’) IS NOT NULL
DROP TABLE WORKDB..SY01300 –> Change to work db / table name
USE COMPANYDB –> Change to Dynamics GP company database name
SELECT *
INTO   WORKDB..SY01300COPY
FROM   SY01300
BEGIN TRANSACTION
DELETE SY01300
–ROLLBACK
–COMMIT

Releasing Stuck Batches and Transactions without exiting all Users

Execute below script to release stuck batches and transactions without requiring users to be logged out. [Credits: David Musgrave’s Blog Entry].

— Dexterity Sessions Table
delete S
— select *
from tempdb..DEX_SESSION S
where not exists (
select * from DYNAMICS..ACTIVITY A
where S.session_id = A.SQLSESID)

— Dexterity Locks Table
delete L
— select *
from tempdb..DEX_LOCK L
where not exists (
select * from DYNAMICS..ACTIVITY A
where L.session_id = A.SQLSESID)

— Batch_Headers table in each company
exec sp_MSforeachdb
‘ use [?]
if exists ( select INTERID from DYNAMICS..SY01500 D where INTERID = ”?” )
begin
update S set BCHSTTUS = 0, MKDTOPST = 0, USERID = ””
— select *
from SY00500 S
where BCHSTTUS in (1,2,3,4,5,6)
and not exists (
select * from DYNAMICS..ACTIVITY A
JOIN DYNAMICS..SY01500 C ON C.CMPNYNAM = A.CMPNYNAM
where S.USERID = A.USERID and C.INTERID = db_name())
and exists (
select * from DYNAMICS..SY00800 B
where not exists (
select * from DYNAMICS..ACTIVITY A
where B.USERID = A.USERID and B.CMPNYNAM = A.CMPNYNAM)
and S.BCHSOURC = B.BCHSOURC and S.BACHNUMB = B.BACHNUMB)
print ””
print ”(” + ltrim(str(@@ROWCOUNT)) + ” row(s) affected) – Database ” + db_name()
end

— SY_Batch_Activity_MSTR table
delete B
— select *
from DYNAMICS..SY00800 B
where not exists (
select * from DYNAMICS..ACTIVITY A
where B.USERID = A.USERID and B.CMPNYNAM = A.CMPNYNAM)

— SY_ResourceActivity table
delete R
— select *
from DYNAMICS..SY00801 R
where not exists (
select * from DYNAMICS..ACTIVITY A
JOIN DYNAMICS..SY01500 C ON C.CMPNYNAM = A.CMPNYNAM
where R.USERID = A.USERID and R.CMPANYID = C.CMPANYID)

Is MSDTC service required ?

How to determine Microsoft Distributed Transaction Coordinator is being used by any application ?  This information will assist in determining whether the MSDTC service should be disabled.

  1. Log on to server as an administrator.
  2. Start – Run – dcomcnfg
  3. Navigate the MMC
    • Component Services
    • Computers
    • My Computers
    • Distributed Transaction Coordinator
    • Local DTC
    • Transaction Statistics
    • If the server has been running for long time and the transaction statistics are all zero’s as follows – The MSDTC Service is not being used by any components.

      MSDTC Transaction Statistics
      MSDTC Transaction Statistics

To enable or disable DCOM

  1. Open Component Services.
  2. In the console tree, click the Computers folder, right-click the computer for which you want to enable or disable DCOM, and then click Properties .
  3. Click the Default Properties tab.
  4. To enable DCOM, select the Enable Distributed COM on this computer check box. To disable DCOM, clear this check box.
  5. Click OK .

Credits:
Quantum Johns Blog Post.
Reference:
http://technet.microsoft.com/en-us/library/cc771686(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc771387.aspx