Microsoft Office Files Viewer

Background

Needed to quickly review Microsoft Excel files.

As I don’t have Microsoft Office installed on the server that I was connected to at the time, wanted to install a light weight version.

That version is Excel Viewer.

Microsoft

How to obtain the latest Excel Viewer

Retired

How to obtain the latest Excel Viewer
Link

Image

microsoft.office.viewer.retired.20190317.1046AM.PNG

Textual

Excel Viewer has been retired

Important: The Microsoft Excel Viewer was retired in April, 2018. It is no longer available for download or receive security updates. To continue viewing Excel files for free, we recommend installing the Excel mobile app or storing documents in OneDrive or Dropbox, where Excel Online opens them in your browser.

Explanation

  1. Retired
    • So since April 2018, Microsoft Excel Viewer has been retired
  2. Alternatives
    • Platform
      • Desktop
        • Not available
      • Mobile Apps
        • Available
    • Online Storage
      • OneDrive
      • Dropbox

 

Alternate Download Sources

MS Office Excel Viewer

  1. Github
    • Github/DanielAdeniji
  2. Spreadsheto.com
    • Excel Viewer
  3. vessoft.com
    • Excel Viewer

 

MS Office Word Viewer

  1. Github
    • Github/DanielAdeniji
  2. vessoft.com
    • Word Viewer

Summary

So if you need to access Microsoft Office files and you do not have a corporate license or do not have installed on the computer you are using, please consider per-using the links above.

SQL Server – Undocumented – Function Calls / Day 01

Background

Profiling our database system and noticed a call to sp_MSreset_synctran_bit.

Wanted to review a bit.

sp_MSreset_synctran_bit

Code


 BEGIN TRANSACTION
    -- Unmark synctran bit
    select @tabid = object_id(@qualified_name)
    if not (@tabid is null)
    begin
        IF ISNULL(OBJECTPROPERTY(@tabid, 'TableIsMemoryOptimized'), 0)  1
        Begin
            EXEC %%Object(MultiName = @qualified_name).LockMatchID(ID = @tabid, Exclusive = 1, BindInternal = 0)
            --EXEC %%Object(MultiName = @qualified_name).LockExclusiveMatchID(ID = @tabid)
            if @@error = 0
                EXEC %%Relation(ID = @tabid).SetSyncTranSubscribe(Value = 0)
        End
    end
    COMMIT TRANSACTION
    return(0)

Dissect

  1. EXEC %%Object(MultiName = @qualified_name).LockMatchID(ID = @tabid, Exclusive = 1, BindInternal = 0)
    • A Lock semaphore/mutex
      • passes along the Object ID
  2. EXEC %%Relation(ID = @tabid).SetSyncTranSubscribe(Value = 0)
    • Set Sync Transaction Subscriber
      • Reset value to 0
      • Likely means not synched

Not Familiar

Not familiar with the %% syntax.

Summary

Still undocumented.  Still unfamiliar.

But, like them men, women, and children standing in line this afternoon to get their citizenship the day started out one way.

But, prayerfully and graciously is ending on the other side.

Here is to all those who stood with and among them on this glorious journey.

SQL Server – Installation/Upgrade – Extract package files

Background

Here I am struggling to install Microsoft SQL Server.

It just will not install.

And, stubborness is not bailing me out.

Take a look at the files

Googled till I bled.

One of things I was asked to do was to take a look at the installation package.

Artifacts

RTM

For the RTM, which is delivered as an ISO, we are able to do the following :-

  1. Mount ISO
  2. Extract using 7-Zip

Service Packs ( SP ) and Cumulative patch ( CU )

Service Packs ( SP ) and Cumulative patches ( CU ) are delivered as an executable.

To uncompress them, please use the executable file itself and pass along the -extract argument.

Command Line

Syntax

[package] -extract:[target-folder]

Sample

SQLServer2017-KB4466404-x64.exe -extract:extract

Output

extract.20190313.1108AM.PNG

Pathping / Day 01

Background

Wanted to talk very little about using pathping to get an idea of the route between one and a destination host.

Syntax

The syntax is generic enough.

Enter pathping and the destination’s hostname or IP Address.

Sample


 pathping Haaretz.com

Output

Tracing Route

pathping.haaretz.01.20190310.0756PM

Computing Statistics

pathping.haaretz.02.20190310.0800PM_x

Interpretation

 

There are two sections to pathping’s output.

The sections are “Tracing Route” and “Computing Statistics“.

 

Tracing Route

Each router that is responsible for forwarding the network packet is listed.

Computing Statistics

Allotted Time

Depending on how many routers are encountered time is allotted for processing.

Each router is pinged one hundred times every 0.25 seconds.

That is, 25 seconds is allotted for each router.

Columns

  1. Hop
    • Increasing number for each router
  2. RTT
    • RTT means Round Trip Time
    • The is how long it took to receive response back from that router
  3. Source to Here / Loss / Sent Percentage ( % )
    • Percentile of packets lost
    • If 100 packets were sent, but only 20 acknowledgement was received
    • This number will be ( 100-20) / 100 or 80%
  4. This Node Link / Loss / Sent Percentage ( % )
    • Packet loss information specific to this router
  5. Address
    • Router’s Address

Summary

  1. If you see 100% packet loss, but entries beyond that point
    • That specific router is likely dropping ICMP traffic

 

SQL Server – Installation – DISM

Background

Trying to install Microsoft SQL Server, but ran into a familiar error.

Blockers

Microsoft SQL Server 2005 Setup

System Configuration Check

Images

IIS Feature Requirement

sqlServer.v2005.SystemConfigurationCheck.20190308.0558PM.PNG

ASP.Net Version Registration Requirement

sqlServer.v2005.SystemConfigurationCheck.ASPNetRegistration.20190308.0603PM.PNG

Prerequisite

Installation

DISM

Outline

  1. Get
    • dism /online /get-features
    • dism /online /get-featureinfo
  2. Enable Feature
    • Dism /online /Enable-Feature

Tasks

get-features
Syntax

dism /online /get-features 

Sample

dism /online /get-features | find /i "IIS-ASPNET" 

Output

Feature Name : IIS-ASPNET
Feature Name : IIS-ASPNET45

get-featureinfo
Syntax

dism /online /get-featureinfo 

Sample

dism /online /get-featureinfo /featurename:NetFx3

Output

Deployment Image Servicing and Management tool
Version: 10.0.14393.0

Image Version: 10.0.14393.2457

Feature Information:

Feature Name : NetFx3
Display Name : .NET Framework 3.5 (includes .NET 2.0 and 3.0)
Description : .NET Framework 3.5 (includes .NET 2.0 and 3.0)
Restart Required : Possible
State : Enabled

Custom Properties:

FWLink : http://go.microsoft.com/fwlink/?LinkId=296822

The operation completed successfully.
get-featureinfo
Syntax

Dism /online /Enable-Feature /FeatureName:(feature-name) 

Sample

Dism /online /Enable-Feature /FeatureName:NetFx3 /All

Output

Deployment Image Servicing and Management tool
Version: 10.0.14393.0

Image Version: 10.0.14393.2457

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.

Actual

Here is what we need to do to enable IIS Web Server and the specific features required by SQL Server Engine and Reporting Services.

Enable IIS-Web Server
Code

DISM /Online /Enable-Feature /FeatureName:IIS-WebServer /all
DISM /Online /Enable-Feature /FeatureName:IIS-WebServerManagementTools /all
DISM /Online /Enable-Feature /FeatureName:IIS-WebServerRole /all

Enable IIS-Features
Code

DISM /Online /Enable-Feature /FeatureName:IIS-StaticContent /all
DISM /Online /Enable-Feature /FeatureName:IIS-DefaultDocument /all
DISM /Online /Enable-Feature /FeatureName:IIS-HttpRedirect /all
DISM /Online /Enable-Feature /FeatureName:IIS-DirectoryBrowsing /all

DISM /Online /Enable-Feature /FeatureName:IIS-ASP /all
DISM /Online /Enable-Feature /FeatureName:IIS-ASPNET /all

DISM /Online /Enable-Feature /FeatureName:IIS-ISAPIExtensions /all
DISM /Online /Enable-Feature /FeatureName:IIS-ISAPIFilter /all

DISM /Online /Enable-Feature /FeatureName:IIS-WindowsAuthentication /all

DISM /Online /Enable-Feature /FeatureName:IIS-Metabase /all

DISM /Online /Enable-Feature /FeatureName:IIS-WMICompatibility /all

SQL Server – System Databases

Background

I was reviewing a database and noted that the distribution database is not named distribution, but TSRDistribution.

SQL Server Management Studio ( SSMS)

I wanted to see how SSMS is able to classify the database as a system database.

Image

ssms.outline.20190307.0836AM.PNG

Code

Outline

Ran a trace against the SQL Server Instance and noticed that SSMS issues the query pasted below.

What does the query do :-

  1. sys.databases
    • Name Match
      • Checks the database name and see if it matches
        • master
        • model
        • msdb
        • tempdb
    • Property match
      • Distributor
        • is_distributor

SQL


select
          dtb.[name]
        , dtb.database_id

from   master.sys.databases AS dtb

WHERE
        (
            CAST
                (
                    case
                        when dtb.name in ('master','model','msdb','tempdb') then 1
                        else dtb.is_distributor
                    end
                    AS bit
                ) = 1
        )

ORDER BY
    [name] asc

Summary

Confirmed that SSMS does not check against a specific rule, isSystem, to identify system databases.