En Liten Podd Om It – Avsnitt 181 – Vi har tur när vi lyckas tänka rätt

Detta är avsnitt 181 och spelades in den 2 september, och eftersom att Ampharos är pokemon 181 så handlar detta avsnitt om:

FEEDBACK OCH BACKLOG:
* Johan har haft dubbla barnkalas (igen!), Mats har GDPR-säkrat en sharepoint, David har varit sjuk
* Quell är en cool manick för att blocka smärta med hjälp av el (massor med bra länkar)
* BONUSLÄNK: Kanske funkar mot RLS
* BONUSLÄNK: Vart finns hjärtat i en kentaurLänk2.
* OpenAI spelade DOTA 2 i The International och förlorade båda matcharna som var 5v5, och här är en länk till
* Eventuellt gör David en pudel, men troligen är det ett missförstånd
* Mats har testat Bose sleepbuds
* David hade jättefel förra veckan. Han har kollat upp hur många vi är…
* Microsoft har tagit bort ”Highlights” från skype
* Trogne lyssnaren Daniel tipsar om att på Synology finns det en app för att synka foton

MICROSOFT:
* Microsoft kommer att släppa Xbox all Access i USA
* Nästa version av Windows 10 kommer heta ”oktober 2018 uppdateringen”
* Björn tror att Microsoft slutar hyra ut surface för att snart komma med ett nytt sätt at hyra klienter på…
* Device gränsen för Office 365 ändras

APPLE:
* Apple har haft problem med moderkorten i vissa Iphone 8
LÄNK för att kolla på Apple’s support website
* Apple Music kommer få stöd för att finnas i Android Auto

GOOGLE:
* Googles nya säkerhetsföretag heter Chronicle
* Länk: VirusTotal
* Länk: Project Zero bloggen
* Google släpper Titan Security Key
* BONUSLÄNK: Vad är FIDO (FastIDentity Online)

ÖVRIGA NYHETER:
* USB-sladd som spionerar
Amazon länk för att köpa en
USB kondom
* Ett spywareföretag blev hackat
* Lite grejjer från IFA-mässan

ALLMÄNT TIPS:
* Tips från David om en grej som heter ”Cloudmounter”

PRYLLISTA:
* David: HTC Vive Pro VR Headset
* Björn: Ny ryggsäck med lysdioder
* Johan: Insignia Smart portable bluetooth speaker
* Mats: Segway Drift W1

DELTAGARE I AVSNITTET:
* Björn: @DiverseTips
* David: @dlilja
* Johan: @JoPe72
* Mats: @Mahu78

EGNA LÄNKAR:
En Liten Podd Om IT på webben
En Liten Podd Om IT på Facebook

LÄNKAR TILL VART MAN HITTAR PODDEN FÖR ATT LYSSNA:
Apple Podcaster (iTunes)
Overcast
Acast
Spotify
Sticher

En Liten Podd Om It – Avsnitt 180 – Vi som inte såg Glenmark, Eriksson och Strömstedt

Detta är avsnitt 180 och spelades in den 26 augusti, och eftersom 180 :

FEEDBACK OCH BACKLOG:
* IKEA Trådfri väggvårta kommer i oktober
HASS.io knapp för att starta och stänga av servrar
* Prisjakt för att filtrera
* MacBook Pro, “dongle hell” och dockningsstation, eller varför inte en skärm?
* Lyft erbjuder gratis skjuts till vallokaler den 6:e november
* Därför byter vi mellan Android och iOS

MICROSOFT:
* Teams är klart, enligt Microsoft
* Men hur gör man om man behöver logga in med flera olika konton?

APPLE:
* Apple kastar ut gambling-appar från App Store i Kina

GOOGLE:
* Google har blivit stämda för location-data i en Class Action Lawsuit
* Datally
* En app för att hantera din surfpott
* Files Go
* För att rensa upp lite i ditt filsystem i Android
* Dualboot:a Chrome och Windows på en ChromeBook
* Google Frankrike stänger sitt egna konto i Google+

ÖVRIGA NYHETER:
* Amerikanska senatorer vill stoppa 3D-skrivare

ALLMÄNT TIPS:
* Windows 95 som app för samtliga OS
* Simon Stålenhag gör coola och snygga tavlor
* BONUSLÄNK: https://www.demilked.com/pop-culture-digital-art-filip-hodas/

LYSSNARFRÅGA:
* Tempo-app för att rangordna låtar
* “Simple BPM Detector” på Android
* Sök efter “BPM finder” eller “BPM detector” på iOS

DISKUSSION:
* Molnbackup av data, bland annat bilder
* David kör BackBlaze.com
   * Johan kör Windows-NAS hemma och kör sedan Duplicati

PRYLLISTA:
* David: Apple TV 4k
* Johan: Skruvdragare
* BONUSLÄNK: Regnigt kafé

DELTAGARE I AVSNITTET:
* David: @dlilja
* Johan: @JoPe72

FRÅNVARANDE DELTAGARE I AVSNITTET:
* Björn: @DiverseTips
* Mats: @Mahu78

EGNA LÄNKAR:
En Liten Podd Om IT på webben
En Liten Podd Om IT på Facebook

LÄNKAR TILL VART MAN HITTAR PODDEN FÖR ATT LYSSNA:
Apple Podcaster (iTunes)
Overcast
Acast
Spotify
Sticher

En Liten Podd Om It – Avsnitt 179 – Tomater är inte gott, punkt

Detta är avsnitt 179 och spelades in den 19 augusti, och eftersom 179 med Romerska siffror skrivs som CLXXIX och det nästan låter som ”slicks” så handlar detta avsnitt om:

FEEDBACK OCH BACKLOG:
* Johan har varit i Barcelona, David har byggt hönshus och Björn har ”jobbat” i två veckor.
* Trump har twittrat om att sociala medier är dumma mot honom och Trumps ”kompisar”

MICROSOFT:
Windows 10 och ”Inprivate Desktop”
* BONUSLÄNK: Sandboxie som Johan pratade om finns faktiskt fortfarande. De behöver lite hjälp av nån som kan webbdesign
* BONUSLÄNK: lite mer teknik om hur det funkar
* Tips på genomgång av Windows 2019. Toutube på 20 minuter.
”Known folder migration” finns nu även till konsumenter

APPLE:
* Siri kommer snart få stöd för multipla användare. Eller rättare sagt. Apple har ansökt om ett patent för detta, men vi får se när (eller om) det kommer

GOOGLE:
* Det har kommit fram igen att Google samlar in platsinformation fast man stängt av platstjänster
* Google jobbar på att man skall kunna koppla hörapparater till telefonen (som redan finns i Apple iOS)
* Google Assistant kommer på Svenska. Här ligger ett helt gäng länka:  Länk1Länk2Länk3Länk 4

ÖVRIGA NYHETER:
* David tycker att klistermärken på datorn är dumt
*

ALLMÄNT TIPS:
* Plug in till Chome för att få stöd för chrome till Timeline

PRYLLISTA:
* David: Kuddar.Här är själva Kickstarten.
* Björn: Dockningsstationen ”Masterkey 4.0”
* Johan: En Arduino
* Tips från lyssnare: Bilbanan Anki Overdrive starter kit med superlågt pris

DELTAGARE I AVSNITTET:
* Björn: @DiverseTips
* David: @dlilja
* Johan: @JoPe72

FRÅNVARANDE DELTAGARE I AVSNITTET:
* Mats: @Mahu78

EGNA LÄNKAR:
En Liten Podd Om IT på webben
En Liten Podd Om IT på Facebook

LÄNKAR TILL VART MAN HITTAR PODDEN FÖR ATT LYSSNA:
Apple Podcaster (iTunes)
Overcast
Acast
Spotify
Sticher

En Liten Podd Om IT – Avsnitt 178 – Det var ett kul avsnitt, men…

Detta är avsnitt 178 och spelades in den 12 augusti, och eftersom 178 är ett semiprimtal samt att år 178 var ett normalår som började med en onsdag så handlar detta avsnitt om:

FEEDBACK OCH BACKLOGG:

* GDPR, partybåtar och dåliga arbetsgivare. Staten säljer arbetsuppgifter mot vår vilja.
* Här kan du avregistrera dig från SPAR: https://www.statenspersonadressregister.se/root/dina-personuppgifter/reklamsparr.html
* Facebook vill veta din blodgrupp för de tror att de kan rädda världen med personuppgifter.
Rättslig grund för behandling av personuppgifter: https://www.datainspektionen.se/lagar–regler/dataskyddsforordningen/rattslig-grund/
* Lise rättar oss rörande O365 och Sharepoint.
* GDPR vs Privacy.
* Fortnite som beta till Android: https://www.androidcentral.com/fortnite
* En robot hittar Waldo: https://gizmodo.com/a-wheres-waldo-finding-robot-is-here-to-steal-your-todd-1828226739

MICROSOFT:
* Filmer överallt: https://www.engadget.com/2018/08/06/microsoft-movies-anywhere/
* Skype 7 kommer att finnas kvar lite längre än Microsoft först tänkte: https://9to5mac.com/2018/08/06/microsoft-skype-7-extended/
* Surface Go skeppas: https://www.theverge.com/2018/8/2/17641686/microsoft-surface-go-now-shipping-tablet-hands-on-video
* Notifikationer i Chrome om du kör Win10: https://www.theverge.com/2018/8/8/17665398/google-chrome-windows-10-notifications-action-center-support
* Poppa musik via Spotify över Skype: https://www.engadget.com/2018/08/08/skype-chats-spotify/

APPLE:
* Med ljus och lykta har vi letat efter en Apple-nyhet men oj vad vi inte har hittat någon. Vi killgissar att de håller tyst till det är dags att släppa fnuttisjutton nya telefoner med fler pixlar än de förra.
* David kör “SetResX” för att skala om sin MacBook Pro-skärm: http://osxdaily.com/2012/06/18/3-ways-to-run-a-retina-macbook-pro-at-2880×1800-native-resolution/
* EU kommer kanske pressa och smiska Apple för deras iPhone och iPad-kontakter: https://9to5mac.com/2018/08/07/eu-chargers-apple/

GOOGLE:
* Samsung släpper högtalarassistent: https://thenextweb.com/tech/2018/08/09/samsung-debuts-its-funky-galaxy-home-bixby-powered-speaker/
* Samsung släpper även en penna: https://www.theverge.com/platform/amp/2018/8/9/17665284/samsung-galaxy-note-9-watch-bixby-home-speaker-news-unpacked-event-2018
* Köper du en Samsung-telefon är Spotify-appen förinstallerad
* Google släpper en stoooor Pixel 3: https://www.forbes.com/sites/gordonkelly/2018/08/11/google-pixel-3-xl-pixel-2-design-specs-camera-release-date-price-cost/#3abc88ca67e7
* Chrome OS kan köra .deb-filer: https://swedroid.se/chrome-os-kan-nu-enkelt-installera-deb-filer-for-linux/

ÖVRIGA NYHETER:
* Nintendos online-tjänst går live i september: https://venturebeat.com/2018/08/09/nintendo-switch-online-service-debuts-in-second-half-of-september/

PRYLLISTA:
* David: Wii-U trådlös kontroller
* Mats: https://www.inet.se/produkt/2213680/benq-screenbar-lampa-till-skarm
* Johan: https://www.webhallen.com/se/product/288686-Raspberry-Pi-Zero-W-Essentials-kit

DELTAGARE I AVSNITTET:
* David: @dlilja
* Mats: @Mahu78
* Johan: @JoPe72

FRÅNVARANDE DELTAGARE I AVSNITTET:
* Björn: @DiverseTips

EGNA LÄNKAR:
En Liten Podd Om IT på webben
En Liten Podd Om IT på Facebook

LÄNKAR TILL PODDEN PÅ OLIKA SPELARE:
Apple Podcaster (iTunes)
Overcast
Acast
Spotify
Sticher

Internal Error occurred executing stored procedure when creating session for the AOS

This is one I should have written down a long time ago…

When setting up a new database for AX 2012 and I am trying to start the service I am getting the following error:

Internal Error occurred executing stored procedure when creating session for the AOS.

The reason for this is that AX is looking for two Stored Procedure in the AX database  called CREATESERVERSESSIONS and CREATEUSERSESSIONS. If these are missing the service will not start. My temporary solution is that I script out the SPs from another database and create them where they are issing.

Johan

Links:
http://dynamics-ax-live.blogspot.com/2009/04/missing-stored-procedures.html

Blocking sessions in Azure SQL

Some environments in Dynamics 365 for Finance and Operations are using Azure SQL. In LCS you can see blocked sessions for the environment but you are not able to do anything about them. To solve the issue you need to log into one of the AOSes using RDP and start Management Studio.

The issue in SMSS when sonnecting it to Azure SQL is that you do not have assess to Activity Monitor… you need to solve the issue using T-SQL.

In order to find the blocking session, run this query:

SELECT
    blocking_session_id AS BlockingSessionID,
    session_id AS VictimSessionID,
   
    (SELECT  FROM sys.sysprocesses
     CROSS APPLY sys.dm_exec_sql_text([sql_handle])
     WHERE spid = blocking_session_id) AS BlockingQuery,
   
     AS VictimQuery,
    wait_time/1000 AS WaitDurationSecond,
    wait_type AS WaitType,
    percent_complete AS BlockingQueryCompletePercent
FROM sys.dm_exec_requests
CROSS APPLY sys.dm_exec_sql_text([sql_handle])
WHERE blocking_session_id > 0

To kill the blocking sessions

Kill [SessionID]

That is it…

Note that when you kill a session in SQL the server rolls the transactions back and that might take some time

/Johan

SSRS using wrong configuration

Everything that is printed in AX 2012 is using SQL Server Reporting Services (SSRS). It does this by connecting to AX when it is told to and gets the data. To find the settings for the AX Server it normally uses the default client configuration. In some cases (especially when you have multiple instances) this fails or SSRS is using the wrong configuration.

You can help SSRS by saving the correct configuration in  C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin with the name Microsoft.Dynamics.AX.ReportConfiguration.axc

Have a nice day

/Johan

Problems accessing the /reports website in Dynamics 365 VMs

Hi

Today I had an issue trying to access the classic reports folder for SSRS in a Dynamics 365 for Finance and Operations VM hosted in Azure. When connecting to the site we used http://[VMname]/reports and all we get is a login prompt.

This one was quite easy… Just fire up the Reporting Services Configuration Manager, goto Web Portal URL and click Apply to configure it

And that is it!

Happy weekend

/Johan

Copy database from a OneBox environment to an Azure Sql Environment

Most of this post is a copy of the Microsoft Article (which is referenced below) but with my remarks, clarifications adn some changes for making the process easier.

1. Create a Backup copy of the Source database

BACKUP DATABASE [AxDB] TO DISK = N'D:\Backups\axdb_original.bak' WITH NOFORMAT, NOINIT, NAME = N'AxDB_golden-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
RESTORE DATABASE [AxDB_CopyForExport] FROM DISK = N'D:\Backups\axdb_original.bak' WITH FILE = 1, MOVE N'AXDBBuild_Data' TO N'F:\MSSQL_DATA\AxDB_CopyForExport.mdf', MOVE N'AXDBBuild_Log' TO N'G:\MSSQL_LOGS\AxDB_CopyForExport_Log.ldf', NOUNLOAD, STATS = 5

Note: You need to change the paths for the database files

2. Prepare YOUR COPY of the database for moving to Azure SQL

update sysglobalconfiguration set value = 'SQLAZURE' where name = 'BACKENDDB' 
update sysglobalconfiguration set value = 1 where name = 'TEMPTABLEINAXDB'
drop procedure XU_DisableEnableNonClusteredIndexes
drop schema [NT AUTHORITY\NETWORK SERVICE]
drop user [NT AUTHORITY\NETWORK SERVICE]
drop user axdbadmin
drop user axdeployuser
drop user axmrruntimeuser
drop user axretaildatasyncuser
drop user axretailruntimeuser
drop user axdeployextuser

3. Export the prepared database to a BacPac file

cd C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\
md D:\Exportedbacpac
SqlPackage.exe /a:export /ssn:localhost /sdn:AxDB_CopyForExport /tf:D:\Exportedbacpac\my.bacpac /p:CommandTimeout=1200 /p:VerifyFullTextDocumentTypesSupported=false

Note: This operation will take quite a while

4. Copy the bacpac file to the destination server
Note: If you have a large file you can use an Azure Storage Blog

5. Import the bacpac as a new database

cd C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\
SqlPackage.exe /a:import /sf:C:\Temp\my.bacpac /tsn:azuresqlserver.database.windows.net /tu:sqladmin /tp:<passwordforsqladmin> /tdn:AxDB_New /p:CommandTimeout=1200 /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P2

Note: This operation will take quite a while

6. Update the database with users, passwords and some other settings using the script below:

CREATE USER axdeployuser FROM LOGIN axdeployuser
EXEC sp_addrolemember 'db_owner', 'axdeployuser'

CREATE USER axdeployextuser WITH PASSWORD = '<password from LCS>'
IF EXISTS (select * from sys.database_principals where type = 'R' and name = 'DeployExtensibilityRole')
BEGIN
EXEC sp_addrolemember 'DeployExtensibilityRole', 'axdeployextuser'
END

CREATE USER axdbadmin WITH PASSWORD = '<password from LCS>'
EXEC sp_addrolemember 'db_owner', 'axdbadmin'

CREATE USER axruntimeuser WITH PASSWORD = '<password from LCS>'
EXEC sp_addrolemember 'db_datareader', 'axruntimeuser'
EXEC sp_addrolemember 'db_datawriter', 'axruntimeuser'

CREATE USER axmrruntimeuser WITH PASSWORD = '<password from LCS>'
EXEC sp_addrolemember 'ReportingIntegrationUser', 'axmrruntimeuser'
EXEC sp_addrolemember 'db_datareader', 'axmrruntimeuser'
EXEC sp_addrolemember 'db_datawriter', 'axmrruntimeuser'

CREATE USER axretailruntimeuser WITH PASSWORD = '<password from LCS>'
EXEC sp_addrolemember 'UsersRole', 'axretailruntimeuser'
EXEC sp_addrolemember 'ReportUsersRole', 'axretailruntimeuser'

CREATE USER axretaildatasyncuser WITH PASSWORD = '<password from LCS>'
EXEC sp_addrolemember 'DataSyncUsersRole', 'axretaildatasyncuser'

ALTER DATABASE SCOPED CONFIGURATION  SET MAXDOP=2
ALTER DATABASE SCOPED CONFIGURATION  SET LEGACY_CARDINALITY_ESTIMATION=ON
ALTER DATABASE SCOPED CONFIGURATION  SET PARAMETER_SNIFFING= ON
ALTER DATABASE SCOPED CONFIGURATION  SET QUERY_OPTIMIZER_HOTFIXES=OFF
ALTER DATABASE <imported database name> SET COMPATIBILITY_LEVEL = 130;
ALTER DATABASE <imported database name> SET QUERY_STORE = ON;

update [dbo].[SYSSERVICECONFIGURATIONSETTING]
set value =''
where name = 'TENANTID'

update dbo.POWERBICONFIG
set TENANTID = ''

update dbo.PROVISIONINGMESSAGETABLE
set TENANTID = ''

Note: Use these SQL queries to get the TENANTID:
select * from [dbo].[SYSSERVICECONFIGURATIONSETTING]
where name = 'TENANTID'
select TENANTID from dbo.POWERBICONFIG
select TENANTID from dbo.PROVISIONINGMESSAGETABLE

7. Stop services locking the original database

  • World wide web publishing service (on all AOS computers)
  • Microsoft Dynamics 365 for Finance and Operations Batch Management Service (on non-private AOS computers only)
  • Management Reporter 2012 Process Service (on business intelligence [BI] computers only)

Note: this needs to be done on all servers for the environment

8. Run this script to switch the databases

ALTER DATABASE [axdb_123456789] MODIFY NAME = [axdb_123456789_original]
ALTER DATABASE [importeddb] MODIFY NAME = [axdb_123456789]

9. Start services locking the original database

  • World wide web publishing service (on all AOS computers)
  • Microsoft Dynamics 365 for Finance and Operations Batch Management Service (on non-private AOS computers only)
  • Management Reporter 2012 Process Service (on business intelligence [BI] computers only)

10. Syncronize the database

F:
cd F:\AosService\WebRoot\bin
Microsoft.Dynamics.AX.Deployment.Setup.exe -bindir "F:\AosService\PackagesLocalDirectory" -metadatadir F:\AosService\PackagesLocalDirectory -sqluser axdbadmin -sqlserver <azure sql database server name>.database.windows.net -sqldatabase <database name> -setupmode sync -syncmode fullall -isazuresql true -sqlpwd <sql password> >log.txt 2>&1

11. If the environment is running Retail you will need to run the Retail Reprovisioning tool, see instructions in this document

12. Reset the financial Database using these instructions

Note: I have noticed that some integrations are having problems accessing some DLLs after a refresh. This is usually solved by a restart of the environment. To do this easier we usually do it from LCS

Links:
https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/database/copy-database-from-sql-server-to-azure-sql
Resetting the financial reporting data mart after restoring a database.

Moving SQL tempdb to another drive

Today I urgently needed to move tempdb from one drive to another to free up space. So I googled to find a script and found this one by Brent Ozar. It has been added to StackExchange and refined a bit.

DECLARE @newDriveAndFolder VARCHAR(8000);

SET @newDriveAndFolder = 'Z:\YourTempDBfolder';

SELECT [name] AS [Logical Name]
    ,physical_name AS [Current Location]
    ,state_desc AS [Status]
    ,size/1024 AS [Size(MB)]
    ,'ALTER DATABASE tempdb MODIFY FILE (NAME = ' + QUOTENAME(f.[name])
    + CHAR(9) /* Tab */
    + ',FILENAME = ''' + @newDriveAndFolder + CHAR(92) /* Backslash */ + f.[name]
    + CASE WHEN f.[type] = 1 /* Log */ THEN '.ldf' ELSE '.mdf' END  + ''''
    + ');'
    AS [Create new TempDB files]
FROM sys.master_files f
WHERE f.database_id = DB_ID(N'tempdb')
ORDER BY f.[type];

Change the newDriveAndFolder variable and run the script and it will generate the T-SQL statements you need to move them.

ALTER DATABASE tempdb MODIFY FILE (NAME = [temp2] ,FILENAME = ‘F:\MSSQLDATA\temp2.mdf’);
ALTER DATABASE tempdb MODIFY FILE (NAME = [temp3] ,FILENAME = ‘F:\MSSQLDATA\temp3.mdf’);
ALTER DATABASE tempdb MODIFY FILE (NAME = [temp4] ,FILENAME = ‘F:\MSSQLDATA\temp4.mdf’);
ALTER DATABASE tempdb MODIFY FILE (NAME = [temp5] ,FILENAME = ‘F:\MSSQLDATA\temp5.mdf’);

Worked like a charm

/Johan