-- Skrypt pobrany ze strony http://strefa.guzowski.info -- Opis do kodu: -- http://strefa.guzowski.info/archives/28,2006,11,26.html CREATE DATABASE testowa; GO USE testowa; GO CREATE SCHEMA s1; GO CREATE SCHEMA s2; GO CREATE SCHEMA s3; GO CREATE TABLE s1.tabela ( kolumna varchar(50) ); GO CREATE TABLE s2.tabela ( kolumna varchar(50) ); GO CREATE TABLE s3.tabela ( kolumna varchar(50) ); GO INSERT INTO s1.tabela(kolumna) VALUES('niebieski'); INSERT INTO s2.tabela(kolumna) VALUES('zielony'); INSERT INTO s3.tabela(kolumna) VALUES('czerwony'); GO CREATE LOGIN aplikacja1 WITH PASSWORD = 'aplikacja1_1234567', DEFAULT_DATABASE = testowa; GO CREATE LOGIN aplikacja2 WITH PASSWORD = 'aplikacja2_1234567', DEFAULT_DATABASE = testowa; GO CREATE LOGIN aplikacja3 WITH PASSWORD = 'aplikacja3_1234567', DEFAULT_DATABASE = testowa; GO CREATE USER aplikacja1 FOR LOGIN aplikacja1 WITH DEFAULT_SCHEMA = s1; GO CREATE USER aplikacja2 FOR LOGIN aplikacja2 WITH DEFAULT_SCHEMA = s2; GO CREATE USER aplikacja3 FOR LOGIN aplikacja3 WITH DEFAULT_SCHEMA = s3; GO GRANT SELECT ON SCHEMA :: s1 TO aplikacja1; GO GRANT SELECT ON SCHEMA :: s2 TO aplikacja2; GO GRANT SELECT ON SCHEMA :: s3 TO aplikacja3; GO EXECUTE AS USER = 'aplikacja1'; SELECT kolumna FROM tabela; REVERT; -- niebieski EXECUTE AS USER = 'aplikacja2'; SELECT kolumna FROM tabela; REVERT; -- zielony EXECUTE AS USER = 'aplikacja3'; SELECT kolumna FROM tabela; REVERT; -- czerwony -- DROP DATABASE testowa;