If you have been reading my last blog posts, you know that I’m currently working on a SQL code migration from Firebird to SQL Server.

The client provided the scripts with all modules (Stored Procedures, functions, etc) and the steps I’m following (roughly speaking) for converting are:

  • Open new query window
  • Copy and paste de object code
  • Save the file This is how the file look like: savedwithdefaultencoding_ansi1
  • Run a PowerShell script that does a find and replace based on a hashtable. Apply all the changes and save the file again.
  • The file refresh on SSMS This is how the file look like after the find and replace: afterfindreplacepowershellandsaveasutf81
  • Unicode characters are broken :-(

So…what is happening?

The file that is used to create a new query window has ANSI encoding but when I save the file on the PowerShell script I save it as UTF-8 because the client have comments on the code with unicode characters.

Continue reading

sqlsat731_bigger

In less than two weeks (on 16th June) it’s time for SQL Saturday Athens and I’m proud to announce that I will be speaking!

This will be my first SQL Saturday ever both as speaker and attendee outside Portugal so I’m especially thrilled and excited to be part of it!

I will be presenting my Administrate SSRS/PBIRS with PowerShell session and I can share in first hand that it will include new demos with some fixes and enhancements that will be available on the next version of the module later this week.

Continue reading

tsql2sday

This month’s T-SQL Tuesday is brought to us by Riley Major‏ ( b | t ) and he encourage us to talk about how we are helping by giving back to our community.

This is the 102nd edition of TSQL2sDay - an Adam Machanic’s ( b | t ) brainchild.

“Let’s go back for a moment:”

I have heard about SQL Server the first time back in 2003 when I was on the high school and I had a database class. Was a slow start and, at that moment I haven’t imagined that would follow that path professionally.

Continue reading

I’m converting some Firebird database code to T-SQL and I’m seeing a lot of code that doesn’t work in the same way that SQL Server. No surprise - I already expected that but for those that still say that “all engines/databases are equal”…“is SQL right?” here is another proof that is not true.

On Firebird it is possible to use the CAST function using a DOMAIN (the equivalent in SQLServer is UDDT - User-Defined Data Types ) as target data-type, well turns out that on SQL Server…that is not possible.

Continue reading

On one of the last clients I have worked, I have implemented dbachecks in order to get the state of art and know how cool or bad the environments are before start knocking down the bad practices.

This client has seven different environments with more than 100 instances and more than 2000 databases.

Serial execution

A non-parallel execution (single session) took more than 2 hours. This is not a big problem when we run it out of hours and we don’t want/need to be looking or waiting for it to finish. I set up it to run at 6 in the morning and when I arrive at the office I can refresh the Power BI dashboard a get a recent state of art.

Continue reading