Alex Kuznetsov, in an article taken from his book 'Defensive Database Programming with SQL Server', shows how DRY principles can be put in practice with constraints, stored procedures, triggers, UDFs and indexes.
There are challenges with the large scale archiving of data. Steve Jones talks about rethinking this as a daily process rather than a periodic one.
Aaron Bertrand has some advice on how to protect yourself from SQL Injection, looking at some specific common scenarios.
This metric shows Writelog wait time in ms, per elapsed second. Writelog wait types occur when the log cache is being flushed to disk. If this happens all the time, it may suggest disk bottlenecks where the transaction log is stored.
Part of our job as a data professional often deals with the movement and cleaning of data. However, should we be trying to reduce the work we do? Move the burden to the application? Steve Jones has a few comments.
One of the times that you need things to go right is when you are doing analysis and reporting. This is generally based on time and date. A sure-fire way of getting managers upset is to get the figures horribly wrong by messing up the way that you handle datetime values in SQL Server. In the interests of peace, harmony and a long career in BI, Robert Sheldon outlines some of the worst mistakes you can make when using SQL Server dates.
Chuck Hoffman exposes the mysteries of getting CASE statements to work in dynamic ORDER BY statements.
Microsoft released the preview version of Azure SQL Database V12 in December of 2014. As a database administrator, you might wonder about the schema and security of these new data marts. Microsoft has supplied system stored procedures for the database developer to query the Linked Servers for this type of meta data, as John Miner explains.
The way in which auditing is build into our systems isn't the best way to implement the practice.
If you’ve been watching AI roll through the data community and thinking, “this seems...
By Arun Sirpal
Not every production incident is a database in RECOVERY_PENDING or a corrupted event (like...
It is Friday, the queries are running, and nobody is watching the bill. That...
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