Backing Up SQL Azure Locally

If you haven’t read my previous post on this subject, you might want to. Otherwise, you’ll be starting this hopefully-not-an-epic-saga in medias res, as they say.

Azure SQL Database Export FAIL

After a bit of digging, I discovered the probable cause of my trouble: the way SQL Azure works. Here’s the link from Stackoverflow that finally turned the light bulb on for me.

The key phrase is this one:

When an Azure SQL Server gets overloaded or goes down, it will disconnect a number of connections and when you reconnect you will get sent to another SQL Server.

Yep. That’s it. And the nasty things about that are (a) you don’t know when it might happen, and (b) since it’s internal load-balancing and redundancy behavior, you have no control.

It’s great for apps running on Azure, because it evens out response time and avoids down time.

But in the case of backing up SQL Azure locally, it throws a monkey-wrench into things. This can also beat you up if you’re writing code against Azure, but that’s the subject of another saga.

 

Backing Up Azure SQL Locally

Azure SQL Database Export FAIL

Let me begin with the moral of the story: Azure isn’t the answer for everything. The cloud is still new, and the closer you get to the bleeding edge, the more time you’ll be spending trying to work all of this stuff out.

We have a client who started with another consultant. Over the past few weeks, we’ve evaluated where they left things, and decided that the path the previous consultant took may not be the best long-range path. So we need to grab their database (which is an ERP database with about 50,000 tables spread across about 125 companies) from SQL Azure.

Thus began the saga.

The “easy and complete” way to do this is using SQL Server Management Studio. Select the database, go to Tasks > Export Data Tier Application… Fill in the blanks (where do you want the bacpac file? What tables to do you want? Then start the process. And Wait. And Wait. And Wait.

Eventually, you get a timeout error. When you look this up the first time, you’ll see an option to edit the registry and increase the timeout. That was two weeks ago, and I’ve forgotten the registry key, but Google the error and you’ll go right to it after a page or so of results.

Try again, and you might be lucky. I wasn’t. I even tried selecting only a few hundred tables. Same result. I increased the timeout. Same result. By the way, there were some 4-8 hour waits before the timeout occurred, so you’ll be spending a week or so with this solution.

After you try that a time or to, you’ll decide to go to SqlPackage, a command line utility that allows you to do the same thing, with more control.

Here’s what my final try of this command looked like:

sqlpackage.exe /a:Export /of:True /sdn:DATABASE_NAME /su:USER_NAME /sp:PASSWORD /ssn:asm-srv-azsql-01.database.windows.net /tf:c:DataMY_FILE_NAME.bacpac /p:CommandTimeout=6000

Yep, that’s a 6000 second timeout (default is 30).

Connecting to database ‘DATABASE_NAME’ on server ‘SUBDOMAIN.database.windows.net’

Unlike some of the other tries, this actually produced a (small 25K) file on my desktop. I let it run 72 hours before I stopped it, and stopped it when I noticed that nothing had been written to the file in 48 hours. Over the weekend, I tried again.

Here’s the message that was waiting on me this morning:

Azure SQL Database Export FAIL

Messages from SQLPackage.exe when trying to export Azure SQL Database

Note that time elapsed. That’s 18 hours.. It seems like that’s where we came in.

And now to figure out another way to get the data…

You’ve been hacked, change your password

If you have a corporate email account that you use much, you’ve probably seen an email something like the following in the last few months. It seems to have ramped up in the last few days:

Thinking that someone might actually have access to your system and the ability to record your screen and use your web cam can be scary.

Why I Know This Is False – #1 – No Web Cam

I know this email is false because the computer I use this email address on doesn’t have a web cam. The server is a corporate email server, so it is protected by our firewall. In fact the ***BULK*** you see in the subject line was added by the firewall. So I have a couple of reasons for suspecting that this is bogus.

Another Reason – Email Properties

If you use Outlook, you can click on the file tab, then on properties to see the “Internet Headers.” If you use another email package, you can get to them, just Google the name of your email package and add “View Internet Headers.” For example, if you Google, “Thunderbird View Internet Headers,” you’ll get several pages of helpful articles and several more pages of unhelpful articles on the subject.

Here’s the header for the Bogus message from Outlook:

 

 

 

 

You’ll notice that the second line says:

“Received from esyi.com…”

If it were from my email server, it would say:

“Received from <servername>.dgginc.net”

<servername> would be replaced with the name of my mail server.

No bitcoin for the bad guys

So don’t send any bitcoin to someone who claims to have your personal browsing history and threatens to reveal your innermost secrets if you don’t. If you just have to send some bitcoin, send it to me. Oh, wait, I don’t have a bitcoin wallet. If you want to send me some bad enough, drop me an email; I’ll see what I can do.

 

 

Legacy ERP and Accounting Software

How old is the version of ERP or accounting software that runs your business? Did you load last year’s update? The year before? It’s not unusual to talk to businesses that haven’t upgraded their software in 5 or more years. Some businesses are still using the same software version they installed 10 years ago.

Old Software Versions Cause Problems

an old computer from 1980. 4K memory for $900

In today’s environment, software more than a couple of years old can cause technical problems. New versions of operating systems (like Windows 10) can break old software. If the new Windows version completely breaks your software, that’s really good news. Bad news is when the new version just corrupts data and you do not discover it until after the damage is done.

The Cost of Old ERP Software

But the real cost of old software is in features unused. We were finishing an upgrade yesterday from a software version that was over 10 years old, and doing quick data checks to make sure the data converted correctly. Customer balances and vendor balances in the old version compared to the converted data is a good test. In the new software version, we had an easy-to-use list that exported to Excel for comparison. In the old version, we had a report. Using these, we verified the first eight or ten balances manually, then went to the last page and verified the total. The upgrade worked fine, by the way. But I’d forgotten how much more difficult simple things were in the old version vs. the new version.

Not only that, but to finding a report in the old version took digging around on menus. We knew the name of the report (Trial Balance), but it wasn’t in the first few places we looked. In the new version, typing “trial balance” in a search box brought the report up on a list.

These two items are the real cost of legacy software: features that you give up because the old version didn’t have them, and features that are hard to find because of the construction of the old software.

I know upgrading can be expensive, but be sure to count the cost of NOT upgrading.

The One Key to the Right ERP: Selecting ERP Software – Best Practices

I met with a client the other day. He said, “You’re different from the other ERP salespeople we’ve talked to: you actually know something about the software!”

I’d like to think that’s because I’m not an ERP salesperson…but anyway…ENTERPRISE RESOURCE PLANNING (ERP)Business team hands at work with financial reports and a laptop

And that’s the key in a sentence to selecting the right ERP. You must get the technical ERP employees (consultants, implementers, developers, trainers, etc.) involved BEFORE you buy the software. 

How do you do that? First, take a look at the suggestions we’ve made over the last year about needs analysis. Start with a good needs analysis. From your needs analysis, divide your needs into three categories: (a) Features every software product should have (you have to know something about ERP or accounting software to do this), (b) Features some, but not all, products generally have (again, you need to know the market), and (c) Features that may be difficult to find or are unique to you. The third option can also include sets of features that need to be in the solution that are unusual to find in the same product. I’m thinking about something like Point-of-sale, warranty management, service, and property management all in one product.

Now here’s the key: focus only on (c) items during the RFP and demo process. You can address (a) and (b) items later in the process when you have narrowed the field.

One last thing: the salespeople probably won’t like this approach. It means you’ll control the demo and the selection process. But it’s the way I’ve helped clients select ERP for 30 years.

More on this in later posts.

Dynamics NAV 2017 – US CRONUS Account Data Needs Help

CRONUS is the sample data company for Dynamics NAV. Several months ago, when I installed the first version and started looking at the new features, I noticed something interesting: the system-generated financial statements were out of balance! Ok, let me back up a second.

Until 2017 version, there wasn’t a utility in NAV to generate a set of financial statements. Even simple statements required more than pushing a button…not a lot more, but more. So I was excited to see that NAV finally had a feature like a lot of other mid-range software. In 2017, there was a function that created rudimentary financial statements: Balance Sheet, Statement of Income, and a Cash Flow Statement. But…and it’s a big but…the financial statements were out of balance.

By the time I realized this, I had already dinked with the Chart of Accounts, so I thought I’d done something and just left it. After all, financials are financials. Nope. They were out of balance.

I realized that the way the system was generating the statements was based on the classifications of the accounts on the Chart of Accounts (COA). That was when I noticed that the classifications on the COA were wonky in the sample data. Depreciation classified as Sales, or was it Sales classified as Depreciation.

Anyway, once you fix the wonkyness in the COA, the financial statement generator is pretty cool. It at least gives you the “vertical” dimension of some standard financials.

Be sure to fix your sample data if you’re going to take a look at this feature.

New Phishing Reports

PBusinesswoman getting crazy in front of her laptophishing is becoming more common…and apparently more popular among hackers. Here’s the latest report from the trenches.

IT World Article

So here’s a question: Did you click the link above? Did you check it to make sure it went to ITworld.com or something similar rather than a domain like Youve.BeenPhished.io?

Here’s a general recommendation: if you get an email from your bank, brother, Google, Microsoft, your mother-in-law, etc., make sure you know where it’s taking you before you click it.

Otherwise, you may have been had.

Phishing – This is what it looks like

The screen capture is of a phishing email I received yesterday. It looks perfectly legit, until you read it closely.

First, it is addressed to “Dear Member” Netflix knows my name. After all, they charge my credit card every month. This is the first tipoff.

Screen capture of Netflix Phishing emailSecond, the text of the first paragraph is, “We recently failed to validate your information, we hold on record for your account, we need to ask to complete a brief validation process in order to verify details.” Notice the awkward grammar and sentence structure. It doesn’t sound like someone from customer service at a big US company like Netflix. Of course, I get legitimate emails that sound like this. Most of them are from technical support, though. In the interest of not helping the scheme, I won’t correct the sentence, but you can do it if you wish.

Third–and only some email clients will allow it–if you mouse over but do not click the link, you may be able to see the text of the link as a pop-up window (tooltip) in your email client. The address is not at Netflix, but part of it is businesscen… 

This is a classic phishing scheme. An email that–on the surface–looks genuine. It has the right colors and logo. Look beneath the surface to see the details.

One other thing: even fairly sophisticated people fall for this type of scheme. The emails “hacked” from John Podesta were compromised with a phishing attack. According to one article, when Podesta emailed his IT specialist, he was told the email was “legitimate.” The IT specialist now claims it was a typo. It should have been “illegitimate.” Close but no banana…and no election victory either.

ALERT: Filing Deadlines for Employer Copies of 1099 and W-2 Moved to 1/31

For years, the deadline has been 2/28 to file W-2s. In a seminar last week on tax changes, the presenter made a point that this had been changed to 1/31. IRS made the change to combat the rash of identity theft (IRS will have W-2 and 1099 information to match to).

Here areTax accounting 1040 US Tax Form, with calculator, pen and glasses the SSA and IRS links:

https://www.ssa.gov/employer/filingDeadlines.htm

https://www.irs.gov/uac/newsroom/reminder-employers-face-new-jan-31-w2-filing-deadline-some-refunds-delayed-until-feb-15

https://www.irs.gov/tax-professionals/e-file-providers-partners/filing-information-returns-electronically-fire

Also note that the penalties for non-filing of information returns (in particular intentional disregard) have increased substantially:

https://www.irs.gov/government-entities/federal-state-local-governments/increase-in-information-return-penalties-2

Selecting ERP Software – The #1 Thing to Prevent ERP Failure – Best Practices

If you read more than one study about the reasons for ERP failure, you will know that the #1 reason ERP systems fail is lack of management support for the ERP project. That’s the reason, but it’s not the root cause. The root cause started earlier, even before the first product was identified, the first demo done, and the first proposal requested.

ERP Failure Starts…with budget setting

ERP failure starts in the very beginning of the project. It starts with budget setting. This also applies (perhaps even more) to those companies that “don’t have a budget.” Or those where the budget is, “we’ll spend as much as we have to.”

ERP Failure - Enterprise Resource Planning word cloud with magnifying glass business conceptHumor me while I develop an example. Suppose that your company is about to hire a President. In your company, this position has broad responsibility. The President is responsible for financial management, overseeing purchasing, keeping track of inventory, providing basic data on the sales force, and a list of other duties. You’re setting the salary for the person who will control and manage most of the key items in your business.

After a brief meeting, the CEO says the following, “I think if we look carefully enough, we can find an excellent candidate that will work for $25,000 per year.”

Doomed before the search starts

To put it mildly, this company’s search is doomed before it starts. Every candidate will have less than the required skills. Many good candidates won’t even apply for the position. In the end, either the salary will go up, or a less-than-desirable candidate will be selected.

Of course, you might find a retired business person who just wanted to get back in the game. But are you willing to bet your business on that?

Almost enough is worst of all

Few companies would make this error. After all, my example is so extreme it’s silly… But I’ve seen a lot of companies set a salary at $75,000 when the market required a salary of $100,000. It’s this “almost enough” salary that attracts some talented employees, just not the full slate of skills and experience the company is going to need.

Effect on management…

I mentioned that lack of management support is the #1 reason for Failure. How does that fit?

Every time I see a budget or salary that’s too low, management has set it to be comfortable. If it works out…great! If it doesn’t…well, we can recover without too much trouble.

See?

Management doesn’t have serious skin (money) in the game from the beginning. Play the dirge; it’s going to be ugly!

Where does ERP software come in…

The same thing happens in ERP. Too low a budget restricts both the choices and management’s commitment to the project. My budget formula is just a way to get in the ballpark. The rest of the project will make it clear what the real investment should be…

…next time, how to get started.