Ed is London, UK based Sql Server and .Net developer who has a worked for almost 15 years in a mixture of support, development and database administration.
Ed is passionate about Sql Server development and loves using tools such as tSQLt, Sql Server Data Tools, DacFx Api and ScriptDom to deliver automated and testable solutions. Follow Ed through his blog at http://sqlserverfunctions.wordpress.com/ or ed.elliott@outlook.com
You can now write applications in C# or F# that take advantage of Apache Spark. In this article, Edward Elliott walks you through installing everything you need and creating your first Apache Spark app.… Read more
VS Code is a cross platform lightweight development environment from Microsoft. TypeScript is a superset of JavaScript. Ed Elliott shows you how to create a VS Code extension using TypeScript in this article.… Read more
If you need a way of deploying infrastructure-as-code to Azure, then Azure Resource Manager (ARM) Templates are the obvious way of doing it simply and repeatedly. They define the objects you want, their types, names and properties in a JSON file which can be understood by the ARM API. Ed Elliott takes the mystery out of a simple means of specifying your Azure environment, whether it is a VM with blockchain software, SQL Server or a Web App on Linux with PostgreSQL
… Read more
To achieve gains from Database Lifecycle Management in general, and in Continuous Deployment in particular, it pays to aim for lightweight but consistent techniques and processes, refining them iteratively in the light of experience. Edward Elliott describes a Test-driven development process for developing SQL Server databases that worked for CD, based on a series of steps. Though the tools for CD may be necessary, they are not sufficient, without an effective structured process.… Read more
Database Lifecycle Management aims to make the development and modification of databases more predictable. Bugs are the source of more unpredictability than anything else, purely because it is so difficult to guess how long it will take to fix them. Good testing at all stages may take some time and effort, but it greatly reduces likelihood of the wildcard factor of the bug that is first detected during the deployment process; or worse, that gets into the production release.… Read more
When Google announced the 'Go' language in 2009 we were all underexcited. After all, a compiled, statically typed language in the tradition of Algol and C isn't that radical, especially one that eschewed generic programming, implicit type conversions, assertions, inheritance and pointer arithmetic. However, it has proved to be robust, highly-portable, simple to use, and productive to work with. Ed Elliott reckons that it is definitely worth checking it out. … Read more
You might think, as a developer, that nothing but the best is good enough as a development database. You might be mistaken. There is a lot to be said for LocalDB, but Ed Elliott argues that every edition has its pros and cons, and you need to consider Cloud-based resources, VMs and Containerised databases too. There is a whole range of alternatives and how you choose depends on the type of database you are developing, but for Ed, LocalDB gets the five-star accolad… Read more
Although SQL Server Data Tools (SSDT) encourages 'disconnected' database development, it also provides the SQL Server Object Explorer (SSOX) tool in SSDT's Visual Studio shell to connect to a live development instance or view an SSDT project once all references have been resolved.… Read more
SQL Server Data Tools (SSDT) provides, via the DacPac, interesting support for verifying not only those references within the database, but also those to other databases even if they are on other servers. Although it is adds an extra level of complexity to deployments, it can increase the probability that deployments will succeed without errors due to broken references or binding errors.… Read more
For an experienced database developer, the idea of doing non-breaking database deployments while the database is still online holds respect but only a little fear. If your test procedures are good, you attend to the detail, and the application interfaces are properly managed, it can be achieved. Ed Elliott explains some of the issues to tackle.… Read more
To access SQL Server from the client, you use TDS protocol over TCP. This is fine over reliable LANs but over the internet these connections are relatively slow and fragile, TDS is still used to connect to databases in the cloud, but you need to use a combination of the new features such as connection pools and idle connection resiliency to make applications faster and more reliable. … Read more
If your website is suffering from slow performance, it's easy to blame the code, but not always correct. Even in if you're using .NET, you need to be aware of how your memory is being managed, and sometimes it's .NET that's the culprit.… Read more
Investigating a subtle memory leak can be tricky business, but things are made easier by using The .NET framework's tool SOS (Son of Strike) which is a debugger extension for debugging managed code, used in collaboration with the Windows debugger.… Read more
Memory dumps are a wonderful way of finding out what caused an exception in a managed .NET application, particularly if it is happening in a production application. It is when tracking exceptions in applications where you can't use Visual Studio that the techniques of using cdb and sos.dll come into their own. They may nor be skills that you need to use regularly, but at some point, they will be invaluable. Edward supplies sample memory dumps and gives you a simple introduction.… Read more
Visual Studio is fine for most debugging purposes. Just occasionally, it isn't practicable, or there are other quicker ways of doing it with a user-mode debugger. Edward argues that debugging in MSIL or assembly language is a strangely liberating experience and can be a lightweight route to discovering the cause of elusive bugs. He starts off with a simple introduction to SOS debugging.… Read more