> Tech > Listing 1 : Code qui montre l’importance des SID

Listing 1 : Code qui montre l’importance des SID

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

--Add logins for database ownership.
USE master
GO
EXEC sp_addlogin 'DatabaseOwner1'
EXEC sp_addlogin 'DatabaseOwner2'
GO

--Initialize Database1.
CREATE DATABASE Database1
GO
USE Database1
EXEC sp_changedbowner 'DatabaseOwner1'
EXEC sp_grantdbaccess guest
GO
CREATE TABLE [dbo].[MyTable] ([Column1] [int])
GO

--Initialize Database2.
CREATE DATABASE Database2
GO
USE Database2
EXEC sp_changedbowner 'DatabaseOwner2'
EXEC

sp_grantdbaccess guest
GO
CREATE VIEW [dbo].[MyView] AS
SELECT [Column1] FROM [Database1].[dbo].[MyTable]
GO
GRANT SELECT ON [Database2].[dbo].[MyView] TO PUBLIC
GO

–Illustrate behavior with different database owners.
PRINT ‘** Note different logins/SIDs for dbo users so the select
fails **’
EXEC Database1..sp_helpuser ‘dbo’
EXEC Database2..sp_helpuser ‘dbo’
SETUSER ‘guest’

–Select permission denied because of broken ownership chain.
SELECT * FROM [Database2].[dbo].[MyView]
SETUSER
GO

–Change Database2 ownership to match Database1.
EXEC sp_changedbowner ‘DatabaseOwner1’
GO

–Illustrate behavior with same database owner.
PRINT ‘** Note same login/SID for dbo users so the select now succeeds
**’
EXEC Database1..sp_helpuser ‘dbo’
EXEC Database2..sp_helpuser ‘dbo’
SETUSER ‘guest’

–Select succeeds because ownership chain is unbroken.
SELECT * FROM [Database2].[dbo].[MyView]
SETUSER
GO

–Clean up.
USE master
GO
DROP DATABASE Database1
DROP DATABASE Database2
EXEC sp_droplogin ‘DatabaseOwner1’
EXEC sp_droplogin ‘DatabaseOwner2’
GO

Téléchargez cette ressource

Mac en entreprise : le levier d’un poste de travail moderne

Mac en entreprise : le levier d’un poste de travail moderne

Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech