Change Schema on an object in SQL Server database


Μια πρωινή ερώτηση που ένας συνάδελφος μου έθεσε ήταν η αφορμή για αυτό το tip of the day. Η ερώτηση του ήταν:

Πως μπορώ να αλλάξω το schema σε ένα object μέσα σε μια database;

Η απάντηση είναι απλή και φαίνεται στο παρακάτω παράδειγμα

USE master;
GO
IF ( db_id('dbDemo') > 0 )
    DROP DATABASE dbdemo;
GO
CREATE DATABASE dbDemo;
GO
IF (OBJECT_ID('T') > 0 )
    DROP TABLE dbo.T;
GO
USE dbDemo;
GO
CREATE TABLE dbo.T
(
         ID          INT IDENTITY(1,1) NOT NULL
    ,    ColA        INT NOT NULL
    ,    ColB        INT NOT NULL
    ,    RecordData  CHAR(1981) DEFAULT (REPLICATE('a',1981))
);
GO
CREATE SCHEMA new;
GO
ALTER SCHEMA new
TRANSFER dbo.T;
GO

Προσοχή

Όλα τα permissions τα οποία έχουν ορισθεί στο object που μεταφέρεται διαγράφονται.

Καλημέρα και καλή εβδομάδα

/*antonch*/