| A community of more than 1,600,000 database professionals and growing |
| | Physical or Virtual Storage When I started working with SQL Server, every server had what we'd call das-dee, or DASD (Direct Attached Storage Devices). These were hard drives inside the same physical case as the rest of the Windows computer. I've added lots of drives to various server systems over the years. As databases grew, we even had separate boxes in our racks that were attached to the main server, but only filled with drives. Technology has changed, and today most of us work with SAN or NAS devices, where the storage is addressed across some type of network. Either a private one (copper or fiber), or the same Ethernet that connects the various computers together. A few of us might even have cloud storage that is located at Microsoft, Amazon, or elsewhere. The Stretch Database feature takes advantage of this last configuration. In all these cases, the storage that our databases see is often cobbled together from other disks that hide the underlying organization from the system. Recently I read a piece from Randolph West that talked about recovering data from a RAID array. That reminded me of my early career, where I had to make decisions about how to structure storage. I've run RAID 1, 5, 10, 0+1, 6, and maybe more in my career to store data files. However, at some point I stopped worrying about the underlying configuration. I just expected, and trusted, the storage people to ensure that space was available. I even stopped thinking of the z: or y: drives on my database server as disks. Those drives were just storage that existed somewhere in the ether, just available for the database to use. In thinking about Randolph's experiences, I wondered how many of you out there might still deal with physical drives. Do you still make decisions about RAID levels? Do you even know what RAID levels are being used by your databases? If you're a storage admin, you might, but for those of you that aren't, do you know anything about your storage configuration? Really, I'm speaking of production systems, not development ones. Certainly many of us might know there's a development server with RAID 5 that holds a bunch of dev/test VMs, but I would expect that might even be rare. Outside of our own workstation, we likely don't know the storage setup. Plenty of development systems these days probably even use a SAN, maybe even the same one as production, for storage. For me, I have no idea of our systems. I used to build the SQLServerCentral servers, and when Redgate took over that part of the business, I helped spec the initial machines we rented as physical hosts. At some point we moved to virtual machines, and while I was asked about the specifications, I didn't care about any of the hardware. I just said that I wanted enough CPU, RAM, space, and IOPS to handle the load. Deciding what that was, and ensuring it was available, was someone else's job. If you spec hardware, or pay attention, let me know. There certainly are plenty of hardware geeks, like Glenn Berry, that pay attention and prefer particular configurations. Those are the people I'm glad I can ask for advice if need it. I certainly ask for help with my personal systems, but for servers, I just need capacity. Do you feel the same way? Steve Jones from SQLServerCentral.comJoin the debate, and respond to today's editorial on the forums |
| The Voice of the DBA Podcast Listen to the MP3 Audio ( 4.7MB) podcast or subscribe to the feed at iTunes and Libsyn. The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. | |
|
|
| ADVERTISEMENT | | How mature are your database DevOps processes? Complete Redgate’s Database DevOps Maturity Assessment to understand how mature your processes are, how you compare against your peers, and receive recommendations for improvements. Take the assessment |
| | Don’t just fix SQL Server problems, prevent them from happening SQL Monitor helps teams looking after SQL Server be more proactive. Not only does SQL Monitor alert you to current issues, it gives you the information you need to stop them happening in the future. Download SQL Monitor now and get a 14 day free trial |
|
|
|
| | | Adam Aspin from SQLServerCentral.com In this article I want to provide an introduction to the vital set of functions that help you to use a time element when analyzing data More » |
| Additional Articles from SimpleTalk Every new release of SQL Server comes with new features that cause a ripple of excitement within the industry: well, amongst the marketing people anyway. What happens to all the exciting TLAs that are bandied about when a new version launches? It's mixed, it seems. Adam Machanic's classic post, The SQL Hall of Shame, has inspired Rob Sheldon to look back at some of the features that, though worthy, have may have failed to hit the mainstream. More » |
| Additional Articles from MSSQLTips.com In this post, Koen Verbeeck shows how to use SQL Sever 2016's Extended Events to find the query plan for a DAX query, just like you would for a T-SQL statement. More » |
| Anthony Nocentino from SQLServerCentral Blogs In this blog post we’re going to explore how SQL Server on Linux responds to external memory pressure. On Windows... More » |
| Gianluca Sartori from SQLServerCentral Blogs Three years ago, I started to work on a project called ExtendedTsqlCollector. I blogged about it multiple times here on... More » |
|
|
| | Today's Question (by Steve Jones): There's a table of my sales in our database, and I've not been having a great month. In fact, since the first week, I've been struggling: CREATE TABLE MySales ( SaleDate DATETIME , SaleAmount MONEY ) INSERT MySales (SaleDate, SaleAmount) VALUES ('20171002 9:00am', 2000), ('20171002 10:00am', 1000), ('20171003 2:00pm', 1200), ('20171004 4:59pm', 1800) GO We also have a procedure that will return my sales up to a given date. By default, this will get data for up to the current datetime. CREATE OR ALTER PROCEDURE GetMyReport @dt DATE = NULL AS SELECT IsNull = 'Isnull' , ms.SaleDate , ms.SaleAmount FROM dbo.MySales AS ms WHERE saledate <= ISNULL(@dt, GETDATE()) ; GO I made a great sale today (Oct 27), at 10:00am INSERT dbo.MySales (SaleDate, SaleAmount) VALUES (GETDATE(), 25000) I ran to my boss' office, and she ran: EXEC GetMyReport ; The results were disappointing. Why? IsNull SaleDate SaleAmount ------ ----------------------- --------------------- Isnull 2017-10-02 09:00:00.000 2000.00 Isnull 2017-10-02 10:00:00.000 1000.00 Isnull 2017-10-03 14:00:00.000 1200.00 Isnull 2017-10-04 16:59:00.000 1800.00 |
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 3 points in this category: Coalesce. We'd love to give you credit for your own question and answer. To submit a QOTD, simply log in to the Contribution Center. |
|
|
| |
ADVERTISEMENT | T-SQL Querying (Developer Reference) Squeeze maximum performance and efficiency from every T-SQL query you write or tune. Four leading experts take an in-depth look at T-SQL’s internal architecture and offer advanced practical techniques for optimizing response time and resource usage. Get your copy from Amazon today. | | |
|
|
|
|
|
| Yesterday's Question of the Day |
| Yesterday's Question (by Steve Jones): In CosmosDB (as of Oct 2017), I have the chocie of a few different types of data APIs. Which of these is not available in CosmosDB? Answer: Cassandra API Explanation: Thre are four APIs for data (as of Oct 2017). They are: DocumentDB API Graph (Gremlin) API MongoDB API Table API Ref: CosmosDB Overview - 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. Making Indexes Invisble to the Optimiser - Good Morning Folks! I am working on an optimisation project that is focusing heavily on indexing within the database. At the... Identical servers, copies of the same database, configured identically, yet one returns a query - I have two servers configured to have the same hardware specifications. Server A is hosted on vsphere 5.5 and Server... Getting data from 7 days back to today, but what about from just the 7th day back? (no other days included) - DATETIME = DATEADD(DAY,-6,@Yesterday) DATETIME = CAST(GETDATE() AS DATE) So that gets me data from a week ago, to today. But I am... Send mail from stored procedure - I have a stored procedure that is used for a report. I am being asked to have an email go... database for .net application - We have a situation like below: we have a .net application for students that used the SQL server database as backend,... How to only select 11pm to 7am in DateTime (many months of data) DDM&DDL included :) - Looking to run a report for a few years but only between 11pm and 7am. CREATE TABLE mytable( i_ticket_id INTEGER NOT... Trying to speed up this 'GetWorkingDays' function. - I'm trying to redesign one of our working days functions. The idea is to calculate weekends (easy enough) but holidays... Should I use Insert Trigger or not? - Hello, Development team has got following requirement: 1. We have a table 'Tab' which is an existing table where data is inserted... Transport error encountered when SOME queries run with batch terminator. Behaviour changes depending on text of query. WEIRD! - This is one of the weirdest issues I've ever seen. It's so unbelievable that I actually made a video to... Bulk load architecture - Hello SQL Guys, I am working on a project where in a file location I will be getting daily files like... Compare 2 rows using tsql code - Hi All, A questions which is there with me a long long time. Comparing 2 rows in a table. How... Where query time between 6am and 6pm - I am trying to modify my query so that it will only look at the data between 6am and 6pm... Encrypt Incoming Connection from ColdFusion - Hello, My web developer is trying to encrypt her ColdFusion connection coming into my database server. We do not have... SQL versus program - Hi all, I'm posting my question in this 2008 forum because we're running SQLServer 2008R2, but it is more a general... Trying to avoid using CROSS JOIN - Hi all, I've created thousands upon thousands of stored procs, and I can probably count on one hand the number of... how to validate my string in sql - Dear Friends, I m validate one alphanumeric character string for learning purpose My character set is vat='33AAACV' Declare @vat varchar(10) set vat='33AAACV' select 'VALID'... Getting started with Powershell - Hi all I'm just getting started with PowerShell and following the series by Ben Miller here. I'm trying to do things... Design considerations for a tabular model - I have a star schema already in existence (SQL Server fact table and numerous dimension tables). For a given tabular... Extreme slowness - The site is extremely slow. It's taking as long as 2-3 minutes for a link to work. Data row does not have a matching index row in the index - Hello, I have this problem. At monday found this, so drop and recreate index, then execute dbcc check and without problem. Today... |
|
| 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 ©2017 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved. Contact: webmaster@sqlservercentral.com |
|
|