Unrelated problem: When previewing or clicking OK in Generate SQL Scripts dialog, I am getting an error:[SQL-DMO]CreateFile error on 'SERVERNAME.DATABASENAME.DP1'.What is .DP1? I am trying to generate scripts on the server where SS runs. The server is Win2k SP4.I managed to create a connection from my PC and generate the script below. This database is created and maintained by a metadata-driven application building platform. I would also like you to comment on the link table schema of another database that uses GUIDs for replication. Should I include more or less than I did here?if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AccountTR]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)drop trigger [dbo].[AccountTR]GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ContactTR]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)drop trigger [dbo].[ContactTR]GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Account]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Account]GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Contact]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Contact]GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TRLNK001]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[TRLNK001]GOCREATE TABLE [dbo].[Account] ( [FormID] [decimal](10, 0) NULL , [ATrail] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Locker] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Locktime] [char] (28) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [AcctID] [decimal](10, 0) NULL , [Status] [char] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Company] [char] (36) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Priority] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Address1] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Address2] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [City] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [AccState] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Industry] [char] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [ZipCode] [char] (12) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Country] [char] (16) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [MainPh] [char] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [MainFax] [char] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [SICCode] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [URL] [char] (36) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Created] [datetime] NULL , [Source] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Type] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [TeamLead] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Target] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [AcctNo] [char] (16) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Note] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GOCREATE TABLE [dbo].[Contact] ( [FormID] [decimal](10, 0) NULL , [ATrail] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Locker] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Locktime] [char] (28) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Contact] [decimal](10, 0) NULL , [AddType] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Company] [char] (48) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [FName] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [LName] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Address1] [char] (48) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Address2] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [City] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [StatePr] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [ZipPost] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Country] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Status] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [SalesRep] [char] (35) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [JobTitle] [char] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [ConRole] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [BPhone] [char] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Fax] [char] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Mobile] [char] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [email] [char] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Nletstat] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [JobFunc] [char] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [HomePh] [char] (39) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Priority] [char] (14) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [NActDate] [datetime] NULL , [NAction] [char] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Note] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GOCREATE TABLE [dbo].[TRLNK001] ( [ACCOUNT] [decimal](10, 0) NULL , [CONTACT] [decimal](10, 0) NULL ) ON [PRIMARY]GO CREATE UNIQUE INDEX [SFCRM8500AccountFormID] ON [dbo].[Account]([FormID]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountAcctID] ON [dbo].[Account]([AcctID]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountAddress2] ON [dbo].[Account]([Address2]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountCompany] ON [dbo].[Account]([Company]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountCountry] ON [dbo].[Account]([Country]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountCreated] ON [dbo].[Account]([Created]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountIndustry] ON [dbo].[Account]([Industry]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountMainFax] ON [dbo].[Account]([MainFax]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountMainPh] ON [dbo].[Account]([MainPh]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountStatus] ON [dbo].[Account]([Status]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountURL] ON [dbo].[Account]([URL]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountAccState] ON [dbo].[Account]([AccState]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountType] ON [dbo].[Account]([Type]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500AccountTeamLead] ON [dbo].[Account]([TeamLead]) ON [PRIMARY]GO CREATE UNIQUE INDEX [SFCRM8500ContactFormID] ON [dbo].[Contact]([FormID]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactAddType] ON [dbo].[Contact]([AddType]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactBPhone] ON [dbo].[Contact]([BPhone]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactCity] ON [dbo].[Contact]([City]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactCompany] ON [dbo].[Contact]([Company]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactConRole] ON [dbo].[Contact]([ConRole]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactContact] ON [dbo].[Contact]([Contact]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactCountry] ON [dbo].[Contact]([Country]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactFName] ON [dbo].[Contact]([FName]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactJobTitle] ON [dbo].[Contact]([JobTitle]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactLName] ON [dbo].[Contact]([LName]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactMobile] ON [dbo].[Contact]([Mobile]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactStatePr] ON [dbo].[Contact]([StatePr]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactStatus] ON [dbo].[Contact]([Status]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactZipPost] ON [dbo].[Contact]([ZipPost]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactSalesRep] ON [dbo].[Contact]([SalesRep]) ON [PRIMARY]GO CREATE INDEX [SFCRM8500ContactNActDate] ON [dbo].[Contact]([NActDate]) ON [PRIMARY]GO CREATE INDEX [IDXTRLNK001] ON [dbo].[TRLNK001]([ACCOUNT], [CONTACT]) ON [PRIMARY]GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOCREATE TRIGGER AccountTR ON SFCRM8500..Account FOR UPDATE AS IF UPDATE (Status) BEGIN DECLARE @chDate CHAR(8), @chTime CHAR(8), @dtime INT DECLARE @FormID INT, @ChngBy CHAR(32), @oldStatus char(24), @newStatus char(24) SELECT @dtime =DATEDIFF(second, '01/01/1970', getdate()) SELECT @chDate =CONVERT(CHAR(8), GetDate(), 112), @chTime =CONVERT(CHAR(8), getdate(), 108) SELECT @FormID =FormID, @ChngBy =Locker, @newStatus =Status FROM inserted SELECT @oldStatus =Status FROM deleted IF ( (@oldStatus is null and @newStatus is not null) or (@oldStatus is not null and @newStatus is null) or (@oldStatus <> @newStatus) ) INSERT INTO SFCRM8500..Accounthist (FormID, DateTime, ChngDate, ChngTime, ChngBy, ChngWhat, ChngFrom, ChngTo) VALUES(@FormID,@dtime,@chDate, @chTime,@ChngBy,'Status',@oldStatus,@newStatus) ENDGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOCREATE TRIGGER ContactTR ON SFCRM8500..Contact FOR UPDATE AS IF UPDATE (Status) BEGIN DECLARE @chDate CHAR(8), @chTime CHAR(8), @dtime INT DECLARE @FormID INT, @ChngBy CHAR(32), @oldStatus char(64), @newStatus char(64) SELECT @dtime =DATEDIFF(second, '01/01/1970', getdate()) SELECT @chDate =CONVERT(CHAR(8), GetDate(), 112), @chTime =CONVERT(CHAR(8), getdate(), 108) SELECT @FormID =FormID, @ChngBy =Locker, @newStatus =Status FROM inserted SELECT @oldStatus =Status FROM deleted IF ( (@oldStatus is null and @newStatus is not null) or (@oldStatus is not null and @newStatus is null) or (@oldStatus <> @newStatus) ) INSERT INTO SFCRM8500..Contacthist (FormID, DateTime, ChngDate, ChngTime, ChngBy, ChngWhat, ChngFrom, ChngTo) VALUES(@FormID,@dtime,@chDate, @chTime,@ChngBy,'Status',@oldStatus,@newStatus) ENDGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO