The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

Archive for the ‘SQL Server’ Category

SQL Server 2008 R2 got to RTM last week

Posted by jpluimers on 2010/04/29

After the excitement of .NET 4.0 and all the tools around it, I totally forgot to mention that SQL Server 2008 R2 got to RTM.

If you are an MSDN subscriber you can download it there.

If you are not, you can download the Microsoft SQL Server 2008 R2 RTM – Express with Management Tools.

Brent Ozar wrote a pretty nice FAQ on the new SQL Server 2008 R2 features, much better than the “what’s new” and press release by Microsoft.

Feature conclusion so far:

  • nice new stuff for Business Intelligence
  • no new stuff on the engine and T-SQL front
  • watch your licensing when doing virtualization; the non-R2 is far cheaper for that

–jeroen (who just turned 41 today)

Posted in .NET, Database Development, Delphi, Development, Software Development, SQL Server | 2 Comments »

Formatted sourcecode in WordPress now supports even more languages

Posted by jpluimers on 2010/02/15

I just found out that the sourcecode tag in WordPress now supports even more languages.

This is the list of languages is below, it contains links to Wikipedia for each language.
Starred ones (bold and hyperlinks in this theme are the same ) are new since my post last year.

This is a follow up on the original article Including formatted sourcecode in WordPress « The Wiert Corner – Jeroen Pluimers’ irregular stream of Wiert stuff.

–jeroen

Posted in .NET, C#, CSS, Database Development, Delphi, Development, Encoding, Java, Software Development, SQL Server, Web Development, WordPress, XML, XML/XSD | Tagged: | 2 Comments »

Web means Unicode

Posted by jpluimers on 2010/02/12

Google published an interesting graph generated from their internal data based on their indexed web pages.Encodings on the web

A quick summary of popular encodings based on the graph:

  1. Unicode – almost 50% and rapidly rising
  2. ASCII20% and falling
  3. Western European* – 20% and falling
  4. Rest – 10% and falling

Conclusion: if you do something with the web, make sure you support Unicode.

When you are using Delphi, and need help with transitioning to Unicode: contact me.

–jeroen

* Western European encodings: Windows-1252, ISO-8859-1 and ISO-8859-15.

Reference: Official Google Blog: Unicode nearing 50% of the web.

Edit: 20100212T1500

Some people mentioned (either in the comments or otherwise) that a some sites pretend they emit Unicode, but in fact they don’t.
This doesn’t relieve you from making sure you support Unicode: Don’t pretend you support Unicode, but do it properly!

Examples of bad support for Unicode are not limited to the visible web, but also applications talking to the web, and to webservices (one of my own experiences is explained in StUF – receiving data from a provider where UTF-8 is in fact ISO-8859: it shows an example where a vendor does Unicode support really wrong).

So: when you support Unicode, support it properly.

–jeroen

Posted in .NET, ASP.NET, C#, Database Development, Delphi, Development, Encoding, Firebird, IIS, InterBase, ISO-8859, ISO8859, Prism, SOAP/WebServices, Software Development, SQL Server, Unicode, UTF-8, UTF8, Visual Studio and tools, Web Development | 7 Comments »

SQL Server notes

Posted by jpluimers on 2009/09/25

Sitting in on Maciej Pilecki’s BASTA! 2009 session on “Advanced SQL Server Troubleshooting” is fun.

First of all it gives a good overview of many topics for which information usually is spreaded.

And there are many new things, for instance some of them about login failures:

Understanding “login failed” – the “state” part is important!

State=16 is undocumented, it can mean that the Administrator Studio is not being run with “Administrative Privileges” (UAC!) under Vista or Windows 7, or you are not allowed to login to the particular database.

Some other useful links

How to use Kerberos authentication in SQL Server (KB 319723).

Cannot create SSPI context (KB 811889).

DMV: Dynamic Management Views.
Sample:

select *
from sysobjects
where name like 'dm_%'
order by name

select *
from sys.dm_os_sys_info

When a LOG file is missing, state_desc in the below query will show ‘RECOVERY_PENDING’

select *
from sys.databases

If you have a database backup and all the log files since that instant in time, you can restore your data.

Last resort: You can try open a database in EMERGENCY mode now (but your DB might be inconsistent because some of the transactions might be open):

ALTER DATABASE Northwind SET EMERGENCY

DBCC CHECKDB('Northwind') -- now (wrongly!) indicates no errors

Trick to loose your SQL SERVER log file. The two most important commands there:

SET DATABASE DemoSuspect SET EMERGENCY
GO
SET DATABASE DemoSuspect SET SINGLE_USER
GO
DBCC CHECKDB ('DemoSuspect', REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS;
GO
SET DATABASE DemoSuspect SET MULTI_USER
GO

Note that because of the repair, you lost ‘transactional consistency’!

Memory usage:

Page life expectancy should not fall below 300 seconds for a longer period of time.

When in doubt: Reboot!

Manually geneate a BSOD in order to be able to debug a hung system.
It can now also be done with USB keyboards in Windows Server 2003 SP2 and up, and Windows 7.
See also thishttp://support.microsoft.com/kb/972110.

Some more interesting links:

Encryption Hierarchy / Encryption Hierarchy

– Book: SQL Server 2005 Practical Troubleshooting (by the late Ken Henderson)

Security in SQL Server 2005

SQL Server 2005 Data Encryption and data length limitations

–jeroen

Posted in BASTA!, Conferences, Database Development, Development, Event, SQL Server | Leave a Comment »

CodeRage 4 session material download locations changed – CodeCentral messed up

Posted by jpluimers on 2009/09/18

Somehow, CodeCentral managed to not only delete my uploaded CodeRage 4 session materials (the videos are fine!), but also newer uploads with other submissions.

Since I’m in crush mode to get the BASTA! and DelphiLive 2009 Germany sessions done, and all Embarcadero sites having to do with their membership server perform like a dead horse, I have temporary moved the downloads, and corrected my earlier post on the downloads.

I have notified Embarcadero of the problems, so I’m pretty sure they are being addressed on their side as well.
Edit 20090919: Embarcadero indicated that between 20090913 and 20090914 there has been a database restore on CodeCentral. Some entries therefore have been permanently lost.

When I get back from the conferences, and CodeCentral is more responsive, I’ll retry uploading it there, and correct the posts.
In the mean time, be sure not to save shortcuts to the current locations, as they are bound to change.

The are the new download locations can all be found in my xs4all temporary CodeRage 4 2009 download folder.

This is the full list of my CodeRage 4 sessions and places where you can download everything: Read the rest of this entry »

Posted in .NET, ASCII, CodeRage, CommandLine, Conferences, CP437/OEM 437/PC-8, Database Development, Debugging, Delphi, Development, Encoding, Event, Firebird, InterBase, ISO-8859, ISO8859, Prism, Software Development, SQL Server, Unicode, UTF-8, UTF8, Windows-1252 | 1 Comment »

SQL-Server: Triggers fire on multiple records – what to watch for

Posted by jpluimers on 2009/09/16

SQL Server triggers can operate on multiple records at once.
So it is important to not only to make your triggers work properly, but also make them work performantly.

Given a table like the Users table below, which in the future is likely to be extended with fields like Initials, MaidenName, Suffix, Prefix, etc.
The client has choosen not to make the FullName calculated, but update it using a trigger.

CREATE TABLE [dbo].[Users](
	[UserId] [int] IDENTITY(1,1) NOT NULL,
	[FullName] [nvarchar](100) NULL,
	[FirstName] [nvarchar](50) NULL,
	[LastName] [nvarchar](100) NULL
) ON [PRIMARY]

A trigger that updates the FullName field is only needed for Insert and Update statements.
It needs to update the FullName for all the records in that statement, but not for any other records.
Read the rest of this entry »

Posted in Database Development, Development, SQL Server | 2 Comments »

CodeRage 4: session materials are available for download« The Wiert Corner – Jeroen Pluimers’ irregular stream of Wiert stuff

Posted by jpluimers on 2009/09/09

My CodeRage 4 session materials are available for download:

CodeRage 4 is a free, virtual conference on Embarcadero technologies with a lot of Delphi sessions.
It is held from September 8 till 11, 2009, i.e. while I write this :-)
If you want to watch sessions live, be sure to register through LiveMeeting (the technology they use for making this all happen).

Let me know if you download, and what you are using the sample code for.

–jeroen

Posted in .NET, CodeRage, CommandLine, Conferences, Database Development, Debugging, Delphi, Development, Encoding, Event, Firebird, InterBase, ISO-8859, ISO8859, Prism, Software Development, Source Code Management, SQL Server, TFS (Team Foundation System), Unicode, UTF-8, UTF8, Visual Studio and tools, XML, XML/XSD, XSD | 4 Comments »

Edited: Conferences, seminars and other public appearances « The Wiert Corner

Posted by jpluimers on 2009/05/15

I have edited the Conferences, seminars and other public appearances/ page and extended the list of conferences I have attended in the past including many sessions.

Topics covered in these sessions have been C#, Delphi, Databases, Linux, Kylix, debugging, Compact Framework, and much much more.

Let me know which sessions you’d like to see online first.

The list is far from complete, but it is another step into getting the list more accurate.

–jeroen

Posted in .NET, C#, C# 2.0, Component Development, Conferences, Database Development, Delphi, Designer Development, Development, Event, Firebird, InterBase, Package Development, Software Development, SQL Server, Visual Studio and tools, XML, XML/XSD | Leave a Comment »