| A community of more than 1,600,000 database professionals and growing |
| | Where Microsoft went wrong with SQL CLR This editorial was originally published on Jan 19, 2015. It is being republished as Steve is traveling. When SQL 2005 was first introduced, SQL CLR was featured by the Microsoft marketing people as the 'killer' new feature. There was rash talk of being able to write stored procedures in Visual Basic. Cynical grey-beards shook their heads in doubt, but elsewhere there was excitable whisperings about of the death of the database developer. It didn't happen. It is an unusual characteristic of Microsoft's server division that even their technological turkeys look beautiful, and taste delicious. There was nothing wrong with SQL CLR, just as there was nothing wrong with Notification Services. SQL CLR works fine, and it is perfect for specific uses, but the concept of it being a generic solution is addled. We database developers would, of course, like easy access to all the .NET delights, such as the excellent Regex library, but we don't want a Do-It-Yourself kit to achieve this. We want something that is part of the product yet obviously separate from the standard SQL, like the spatial types and methods, and preferably something maintained by Microsoft. If, for example, we need something as simple as regex searches, we have to craft our own CLR library within Visual Studio. Within the IT department this will be a bunch of code, put in source control, and part of the deployment process. It comes up on everyone's radar screen. It will need to be checked on every deployment for any security, stability or performance issues. Ops staff will likely take a view that they need to be able to support this long after the developers have gone, but they have no C# or CLR skills to do so. Suddenly, when placed in the context of the entire database lifecycle, it all starts looking expensive and time-consuming. Not even the developers like it because it isn't a standard implementation that they can use in other database work. Had the product been used by Microsoft to introduce more standard, maintained, extensions like the Spatial data, providing a shrink-wrapped specialized package for string searching, aggregation and manipulation, for example, or JSON handling, then there would been more enthusiasm. Instead, it was issued limply as yet another development kit for Visual Studio, with 'Boffins Only' metaphorically stamped on the metaphorical box. The result was predictable. Phil Factor. Phil Factor from SQLServerCentral.comJoin the debate, and respond to today's editorial on the forums |
|
| ADVERTISEMENT | | NEW SQL Provision: Create, protect, & manage SQL Server database copies for compliant DevOps With SQL Provisions virtual cloning technology, databases can be created in seconds using just 1MB of storage, and sensitive data can be anonymized or replaced with realistic data to ensure it is protected as it moves between environments. Download your free trial |
| | The industry standard for comparing and deploying SQL Server database schemas Trusted by 71% of Fortune 100 companies, SQL Compare is the fastest way to compare changes, and create and deploy error-free scripts in minutes. Plus you can easily find and fix errors caused by database differences. Download your free trial |
|
|
|
| | | Don Kiely from SQLServerCentral.com By defining server- and database-level audits, you can record just about any kind of event that occurs in SQL Server, which can be an invaluable source of security troubleshooting and forensic information when security breaches occur. In this stairway level you’ll learn how to define the various audit specification objects, how to capture audit data, and how to explore and use the data. More » |
| Press Release from Redgate When you can’t get to your data because another application has it locked, a thorough knowledge of SQL Server concurrency will give you the confidence to decide what to do. More » |
| Additional Articles from MSSQLTips.com In this tip we will walk through how to create a PowerShell module to get a list of files and subfolders of a Windows folder and store this information in a SQL Server table. More » |
| Rob Sewell from SQLServerCentral Blogs Following an upgrade to SQL Server the backup share had a number of backups, some from the old version and... More » |
| david.fowler 42596 from SQLServerCentral Blogs For some reason I have always written my Case statements using the following logic: SELECT CASE WHEN @Priority = 1 THEN 'Very High' WHEN @Priority... More » |
|
|
| | Today's Question (by Steve Jones): In Python, the range() function is used to create a list of number progressions. There are three arguments. The frist is the starting value, the second is the ending value, and last is the step progression. We can set a range like this: ctr = range(1, 10, 2) Which of these arguments are optional? |
Think you know the answer? Click here, and find out if you are right. We keep track of your score to give you bragging rights against your peers. This question is worth 1 point in this category: Python. We'd love to give you credit for your own question and answer. To submit a QOTD, simply log in to the Contribution Center. |
|
|
| |
| Yesterday's Question of the Day |
| Yesterday's Question (by Kendra.Little): What does the "max degree of parallelism" setting configure in SQL Server? Answer: The maximum number of logical processor cores that a query can use if it goes parallel Explanation: The maxdop setting configures the maximum number of logical processor cores that a query can use if it goes parallel. It is possible for a parallel query to use more worker threads than cores. In some cases, this may be a significant amount more! You can learn more about this in a classic blog post written by Microsoft’s Bob Dorr: click here » Discuss this question and answer on the forums |
|
|
| Database Pros Who Need Your Help |
| Here's a few of the new posts today on the forums. To see more, visit the forums. Very strange execution plan estimated rows was really large - Just curios about following execution plan, one nested loop with two input (one estimated rows:3381 and another estimated rows:1) comes... SQL Server 2012 and SQL Server 2017 together - Hi. I have a situation where I need to run SQL Server 2017 and SQL Server 2012 side by side... Learning SQL Server 2017 Administration - Is there a good book or material to learn the product from a DBA perspective. I will probably take the... Trouble grouping data series when a group crosses a date line (in some cases) and when a group shows up again further down in the sequence. - I have a set of manufacturing data snapshots. The snapshots include the serial number of the product. I need a... Change name of LINKED SERVER (without dropping an re-creating) - How would I change the name of a Linked Server and maintain its existing credentials -- without DROPPING and Re-CREATING the... Looking to downgrade our SQL Server editions from Enterprise to Standard Edition - We're looking to downgrade our SQL Server editions from Enterprise to Standard. Contacted our vendors, they all signed off they... AG Listener Names Unavailable for 10-15 Minutes After a Failover - I inherited a two node AG on SQL Server 2016 Standard Edition. There are 5 AGs on it, one for... PIVOT operator is not allowed in the recursive part of a recursive common table expression - Hello, i have a little problem. I create an in lined table function and with SQL Server 2008 work fine, with... adding each row incremental - Hello, sadly i am at my witts end with this complicated problem, and i know you guys are smart than i... Mirroring - I have to remove sql server mirroring in prod for multiple databases, just wanted to check is there a proper... Case statement in where condtiions - is it possible to use CASE statement or any other option in below where conditions should be execute when the variables(@LAN,@SUBFORMAT,@CASNUM)... Basic Question: Do you have to restart the instance if you change database or log file growth - Hi All, I have changed the default autogrowth to 300000MB. Do I need to restart the server instance in order... How can I combine the three queries to one and possibly improve performance - I wish I can get help from this forum, any suggestion is appreciated. I have a project with some existing sql... Need help using a variable in the following statement - I have the following statement and I need to use a variable like so: declare @WhereClause varchar(max) set @WhereClause = 'customer_code = ' + CHAR(39) + 'XXX12365'... Where did our 30GBs go? - We have a bunch (~130 DBs) of databases that have the exact same table structure. We had an operation run over... Does actual occur? - Hi, I am researching about prefetching in Nested loops and can find some articles talk about that. Most of them mentions... How to break multiple pages in ssrs charts - Hi All, My line chart is getting big when user enters data.so how it can be split multiple pages dynamical(like... My subreport only shows 1 record, even when there are more. Why? - I've got a main report, which is a detail report. And a smaller report, that's used by the main report... Expressions in Conditional Split - how to refer to columns of other components ? - Dear Forum, Regarding Expressions in Conditional Split component, I am wondering how to refer to columns of other components ? If this... Generic Percent of grand total MDX expression - Hello everyone, I have this problem to find a generic MDX expression that returns the percent of grand total regardless... |
|
| This email has been sent to newsletter@newslettercollector.com. To be removed from this list, please click here. If you have any problems leaving the list, please contact the webmaster@sqlservercentral.com. | This newsletter was sent to you because you signed up at SQLServerCentral.com. Feel free to forward this to any colleagues that you think might be interested. If you have received this email from a colleague, you can register to receive it here. | This transmission is ©2018 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved. Contact: webmaster@sqlservercentral.com |
|
|