Avoiding Unexpected Results with DATEDIFF in Year Comparisons
Learn how to avoid unexpected results when using the DATEDIFF function to find the difference between two dates in years.
2018-04-09
1,799 reads
Learn how to avoid unexpected results when using the DATEDIFF function to find the difference between two dates in years.
2018-04-09
1,799 reads
Everyone needs to learn about these hardware bugs and apply patches as soon as possible.
2018-01-29 (first published: 2018-01-05)
8,609 reads
Not having instant file initialization turned on slows down the process of adding pages to your database, because prior to allocating the data pages to your database, SQL Server needs to zero out the newly allocated pages.
2018-01-03
3,515 reads
As the final entry in this series, Robert Sheldon leads you through a group of forgotten features that have been removed from recent versions of SQL Server. In some cases, the features were widely used and often loved, while others had lost their usefulness over the years or were replaced with something much better. In this article, he remembers Data Transformation Services (DTS), a handful of DBCC commands, a few utilities, Active Directory Helper Service, English Query, Web Assistant, SQL Mail, Native XML Web Services, Notification Services, SQL Distributed Management Objects, Surface Area Configuration Tool, and the Pubs and Northwind databases.
2017-12-20
3,745 reads
SQL Server works well, and Microsoft does everything it can to keep it relevant and competitive: As with everything in real life, it doesn't don't always get it completely right, and Rob Sheldon continues his quest through the jungle of past features to rediscover and explore the ones that time forgot. Here, he comes across Lightweight Pooling, XML Indexes, Stretch Databases, SQL Variants, Transaction Savepoints and In-Memory OLTP.
2017-12-01
5,018 reads
SQL Server produces some great features, but it would be impossible to get them spot-on target every time. We are now quietly advised to use caution about using some of them, such as AutoShrink or the Index Advisor. Others, like the database diagramming tool, almost seem to have been quietly abandoned. Robert Sheldon investigates.
2017-11-21
4,678 reads
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.
2017-10-27
5,970 reads
Brent Ozar, Erik Darling, and Tara Kizer think about what they would change or fix if they had access to SQL Server’s source code.
2017-09-26
3,774 reads
Sometimes there is a need to find if a string value exists in any column in your table. Although there are system stored procedures that do a "for each database" or a "for each table", there is not a system stored procedure that does a "for each column".
2017-09-19
5,197 reads
In this article, we'll explore a less used feature of SQL Server: filegroup restoring, feature that has an interesting consequence because database can become inconsistent without any warning and standard checks don't reveal any issue.
2017-06-27
3,658 reads
By Steve Jones
It’s Prime Day. A few of my recommendations, since I want to do some...
With Fabric Mirroring, Microsoft is promoting a nice and appealing story for operational reporting...
If you’ve been watching AI roll through the data community and thinking, “this seems...
Comments posted to this topic are about the item SQL Art, Part 4: Happy...
Hi All I am trying to find 'bad' characters that users might type in....
Comments posted to this topic are about the item Extreme DAX: Take your Power...
I set up a few users on my SQL Server 2022 instance.
CREATE LOGIN User1 WITH PASSWORD = 'Demo12#1' CREATE USER User1 FOR LOGIN User1 GO CREATE LOGIN User2 WITH PASSWORD = 'Demo12#2' CREATE USER User2 FOR LOGIN User2 GO CREATE LOGIN User3 WITH PASSWORD = 'Demo12#3' CREATE USER User3 FOR LOGIN User3 GOI then created a schema that one of them owned. Under this schema, I added a table with some data.
CREATE SCHEMA MySchema AUTHORIZATION User1
GO
CREATE TABLE Myschema.MyTable(myid INT)
GO
INSERT MySchema.MyTable
(
myid
)
VALUES
(1), (2), (3)
GO
SELECT * FROM MySchema.MyTable
GO
I granted rights and verified that User2 could access this table.
GRANT SELECT ON Myschema.MyTable TO User2 GO SETUSER 'USER2' GO SELECT * FROM MySchema.MyTable GOThis worked. Now, I move this schema to a new user.
ALTER AUTHORIZATION ON SCHEMA::Myschema TO User3; GOWhat happens with this code?
SETUSER 'USER2' GO SELECT * FROM MySchema.MyTable GOSee possible answers