Technical Article

Work with XML Data Type in SQL Server 2005 from ADO.NET 2.0

One of the excellent features of the next release of SQL Server, known as SQL Server 2005, is its deep XML integration with the SQL Server database engine. This integration goes well beyond the simple relational-to-XML mapping layer that SQL Server 2000 provided. SQL Server 2005 will feature a native XML data type that will allow you to store native XML data in SQL Server itself.

Technical Article

Working with Image Objects in InfoPath 2003 and SQL Server 2000

You can use features in Microsoft Office InfoPath 2003 Service Pack (SP) 1 to work more efficiently with image objects and other data. Learn how to use BLOB data types to work with data stored in a Microsoft SQL Server 2000 database from an InfoPath form. InfoPath 2003 provides a robust and rich interface to store and access data in SQL Server databases. Learn about best practices for integrating SQL Server databases and InfoPath form data, with an illustrative example.

SQLServerCentral Article

Versioning

How many times has an application exploded because you upgraded or patched SQL Server? How many people were aware that a patch was applied? New author Andre Vigneau has dealt with this and gives us some code that our applications can use to check to see if anything has changed. It doesn't keep the code working, but it does allow you to inform users that something has changed.

SQLServerCentral Article

Implementing a Flexible Backup Strategy

SQL Server has a rock solid backup routine that works every time. However the schemes used to implement backups with maintenance plans, Enterprise Manager, etc., are not a smooth or as flexible as what most people require. Author Eli Lieba brings us his strategy and code for ensuring that each database is backed up how he needs it to be, whether a full or differential backup.

SQLServerCentral Article

Custom String Functions

SQL Server's Data Transformation Services (DTS) is a fantastic tool for importing data from any type of source. However even with this tool, you sometimes need more flexibility than it appears to have, especially if the data formats are unknown far enough in advance. New author Chris Cathers has developed a technique that allows him to be extremely flexible without causing too many headaches down the road.

Blogs

Fabric for Operational Reporting & SQL Endpoint Trap

By

With Fabric Mirroring, Microsoft is promoting a nice and appealing story for operational reporting...

Crawl, Walk, Run with Agentic Development of Power BI Assets

By

If you’ve been watching AI roll through the data community and thinking, “this seems...

How AgentDBA Diagnoses SQL Server Issues Fast

By

Not every production incident is a database in RECOVERY_PENDING or a corrupted event (like...

Read the latest Blogs

Forums

SQL Art, Part 4: Happy 4th of July — A British DBA's Guide to Celebrating a War We Don't Talk About

By Terry Jago

Comments posted to this topic are about the item SQL Art, Part 4: Happy...

Finding 'bad' characters

By Barcelona10

Hi All I am trying to find 'bad' characters that users might type in....

Extreme DAX: Take your Power BI and Fabric analytics skills to the next level

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Extreme DAX: Take your Power...

Visit the forum

Question of the Day

Changing the Schema

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
GO
I 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
GO
This worked. Now, I move this schema to a new user.
ALTER AUTHORIZATION ON SCHEMA::Myschema TO User3;
GO
What happens with this code?
SETUSER 'USER2'
GO
SELECT * FROM MySchema.MyTable
GO

See possible answers