public ObjectHelper.ScriptingOptions GetScriptiongOptions() { ObjectHelper.ScriptingOptions so = new ObjectHelper.ScriptingOptions(); so.Aggregates = chkAggregates.Checked; so.ApplicationRoles = chkApplicationRoles.Checked; so.Assemblies = chkAssemblies.Checked; so.BrokerPriorities = chkBrokerPriorities.Checked; so.ClusteredIndexes = chkClusteredIndexes.Checked; so.CLRTriggers = chkCLRTriggers.Checked; so.CLRUserDefinedFunctions = chkCLRUserDefinedFunctions.Checked; so.CheckConstraints = chkCheckConstraints.Checked; so.Collation = chkCollation.Checked; so.Contracts = chkContracts.Checked; so.DatabaseRoles = chkDatabaseRoles.Checked; so.DataCompression = chkDataCompression.Checked; so.Defaults = chkDefaults.Checked; so.DDLTriggers = chkDDLTriggers.Checked; so.DefaultConstraints = chkDefaultConstraints.Checked; so.DMLTriggers = chkDMLTriggers.Checked; so.ForeignKeys = chkForeignKeys.Checked; so.FullTextCatalogPath = chkFullTextCatalogPath.Checked; so.FullTextCatalogs = chkFullTextCatalogs.Checked; so.FullTextIndexes = chkFullTextIndexes.Checked; so.FullTextStopLists = chkFullTextStopLists.Checked; so.MessageTypes = chkMessageTypes.Checked; so.NoFileStream = chkNoFileStream.Checked; so.NoIdentities = chkNoIdentities.Checked; so.NonClusteredIndexes = chkNonClusteredIndexes.Checked; so.PartitionFunctions = chkPartitionFunctions.Checked; so.PartitionSchemes = chkPartitionSchemes.Checked; so.PrimaryKeys = chkPrimaryKeys.Checked; so.RemoteServiceBindings = chkRemoteServiceBindings.Checked; so.Routes = chkRoutes.Checked; so.Rules = chkRules.Checked; so.Schemas = chkSchemas.Checked; so.ServiceQueues = chkServiceQueues.Checked; so.Services = chkServices.Checked; so.SQLUserDefinedFunctions = chkSQLUserDefinedFunctions.Checked; so.StoredProcedures = chkStoredProcedures.Checked; so.Synonyms = chkSynonyms.Checked; so.Tables = chkTables.Checked; so.UniqueConstraints = chkUniqueConstraints.Checked; so.UserDefinedDataTypes = chkUserDefinedDataTypes.Checked; so.UserDefinedTableTypes = chkUserDefinedTableTypes.Checked; so.UserDefinedTypes = chkUserDefinedTypes.Checked; so.Users = chkUsers.Checked; so.Views = chkViews.Checked; so.XMLSchemaCollections = chkXMLSchemaCollections.Checked; return(so); }
public ObjectFetch(Server srv1, string db1, string uId1, string pwd1, Server srv2, string db2, string uId2, string pwd2, ObjectHelper.ScriptingOptions so) { server1 = srv1; server2 = srv2; database1 = db1; database2 = db2; userId1 = uId1; userId2 = uId2; password1 = pwd1; password2 = pwd2; scriptOpt = so; InitializeComponent(); }
private void Script(object[] scriptParams) { Server srv = (Server)scriptParams[0]; string[] lv = new String[2]; int srvVersion = srv.Version.Major; this.Invoke(new MethodInvoker(delegate { lv[0] = "Connecting to Database: " + scriptParams[1].ToString(); lv[1] = ""; lwProgress.Items.Add(new ListViewItem(lv, 0)); })); Database db = srv.Databases[scriptParams[1].ToString()]; Hashtable hsObject = (Hashtable)scriptParams[3]; this.Invoke(new MethodInvoker(delegate { ListViewItem lvi = lwProgress.Items[lwProgress.Items.Count - 1]; lvi.SubItems[1].Text = "OK"; })); string connectionString = srv.ConnectionContext.ConnectionString + "; Initial Catalog='" + scriptParams[1].ToString() + "'"; ObjectDB objectDB = new ObjectDB(connectionString); this.Invoke(new MethodInvoker(delegate { lv[0] = "Fetching Objects: "; lv[1] = ""; lwProgress.Items.Add(new ListViewItem(lv, 0)); })); ObjectHelper.ScriptingOptions so = (ObjectHelper.ScriptingOptions)scriptParams[2]; so.ServerMajorVersion = srv.VersionMajor; objectDB.ObjectFetched += new ObjectFetchedEventHandler(ObjectFetched); objectDB.FetchObjects(so); this.Invoke(new MethodInvoker(delegate { ListViewItem lvi = lwProgress.Items[lwProgress.Items.Count - 1]; lvi.SubItems[1].Text = "OK"; })); ScriptedObject scriptedObj; int objectCount = 0; objectCount = objectCount + objectDB.Aggregates.Count; objectCount = objectCount + objectDB.Assemblies.Count; objectCount = objectCount + objectDB.ApplicationRoles.Count; objectCount = objectCount + objectDB.BrokerPriorities.Count; objectCount = objectCount + objectDB.CLRTriggers.Count; objectCount = objectCount + objectDB.CLRUserDefinedFunctions.Count; objectCount = objectCount + objectDB.Contracts.Count; objectCount = objectCount + objectDB.DatabaseRoles.Count; objectCount = objectCount + objectDB.DDLTriggers.Count; objectCount = objectCount + objectDB.Defaults.Count; objectCount = objectCount + objectDB.DMLTriggers.Count; objectCount = objectCount + objectDB.FullTextCatalogs.Count; objectCount = objectCount + objectDB.FullTextStopLists.Count; objectCount = objectCount + objectDB.Indexes.Count; objectCount = objectCount + objectDB.MessageTypes.Count; objectCount = objectCount + objectDB.PartitionFunctions.Count; objectCount = objectCount + objectDB.PartitionSchemes.Count; objectCount = objectCount + objectDB.RemoteServiceBindings.Count; objectCount = objectCount + objectDB.Routes.Count; objectCount = objectCount + objectDB.Rules.Count; objectCount = objectCount + objectDB.Schemas.Count; objectCount = objectCount + objectDB.ServiceQueues.Count; objectCount = objectCount + objectDB.Services.Count; objectCount = objectCount + objectDB.SQLUserDefinedFunctions.Count; objectCount = objectCount + objectDB.StoredProcedures.Count; objectCount = objectCount + objectDB.Synonyms.Count; objectCount = objectCount + objectDB.Tables.Count; objectCount = objectCount + objectDB.UserDefinedDataTypes.Count; objectCount = objectCount + objectDB.UserDefinedTableTypes.Count; objectCount = objectCount + objectDB.UserDefinedTypes.Count; objectCount = objectCount + objectDB.Users.Count; objectCount = objectCount + objectDB.Views.Count; objectCount = objectCount + objectDB.XMLSchemaCollections.Count; foreach (Aggregate obj in objectDB.Aggregates) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "Aggregate"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (Assembly obj in objectDB.Assemblies) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "Assembly"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.BrokerPriority obj in objectDB.BrokerPriorities) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "BrokerPriority"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (Principal obj in objectDB.ApplicationRoles) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "ApplicationRole"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (CLRTrigger obj in objectDB.CLRTriggers) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; if (obj.IsDatabaseTrigger) { scriptedObj.Type = "CLRDDLTrigger"; } else { scriptedObj.Type = "CLRDMLTrigger"; } hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (CLRUserDefinedFunction obj in objectDB.CLRUserDefinedFunctions) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; if (obj.IsTableValued) { scriptedObj.Type = "CLRUserDefinedTableFunction"; } else { scriptedObj.Type = "CLRUserDefinedFunction"; } hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (Contract obj in objectDB.Contracts) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "SERVICECONTRACT"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (Principal obj in objectDB.DatabaseRoles) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "DatabaseRole"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Trigger obj in objectDB.DDLTriggers) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "SQLDDLTrigger"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Default obj in objectDB.Defaults) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "Default"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Trigger obj in objectDB.DMLTriggers) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "SQLDMLTrigger"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.FullTextCatalog obj in objectDB.FullTextCatalogs) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Type = "FullTextCatalog"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.FullTextStopList obj in objectDB.FullTextStopLists) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "FullTextStopList"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Index obj in objectDB.Indexes) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Type = "Index"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.MessageType obj in objectDB.MessageTypes) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "MessageType"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.PartitionFunction obj in objectDB.PartitionFunctions) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "PartitionFunction"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.PartitionScheme obj in objectDB.PartitionSchemes) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "PartitionScheme"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.RemoteServiceBinding obj in objectDB.RemoteServiceBindings) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "REMOTESERVICEBINDING"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Route obj in objectDB.Routes) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "SERVICEROUTE"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Rule obj in objectDB.Rules) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "Rule"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Schema obj in objectDB.Schemas) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "Schema"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.ServiceQueue obj in objectDB.ServiceQueues) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "SERVICEQUEUE"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Service obj in objectDB.Services) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Type = "Service"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.SQLUserDefinedFunction obj in objectDB.SQLUserDefinedFunctions) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; if (obj.IsTableValued) { scriptedObj.Type = "SQLUserDefinedTableFunction"; } else { scriptedObj.Type = "SQLUserDefinedFunction"; } //scriptedObj.Type = "SQLUserDefinedFunction"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.StoredProcedure obj in objectDB.StoredProcedures) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "StoredProcedure"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Synonym obj in objectDB.Synonyms) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "Synonym"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Table obj in objectDB.Tables) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "Table"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.UserDefinedDataType obj in objectDB.UserDefinedDataTypes) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "UserDefinedDataType"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.UserDefinedTableType obj in objectDB.UserDefinedTableTypes) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "UserDefinedTableType"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.UserDefinedType obj in objectDB.UserDefinedTypes) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "UserDefinedType"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.Principal obj in objectDB.Users) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "User"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.View obj in objectDB.Views) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(so); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "View"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } foreach (ObjectHelper.DBObjectType.XMLSchemaCollection obj in objectDB.XMLSchemaCollections) { scriptedObj = new ScriptedObject(); scriptedObj.Name = obj.Name; scriptedObj.ObjectDefinition = obj.Script(); scriptedObj.Schema = obj.Schema; scriptedObj.Type = "XMLSCHEMACOLLECTION"; hsObject.Add(Guid.NewGuid().ToString(), scriptedObj); } }
public string GenerateScript(ScriptingOptions so) { StringBuilder sql = new StringBuilder(); int resultSetCount = 0; if (so.PartitionFunctions) { sql.Append(GetResourceScript("ObjectHelper.SQL.PartitionFunctions.sql")); sql.AppendLine(); ResultSets.Add("PartitionFunctionCollection", resultSetCount++); ResultSets.Add("PartitionFunctionRangeValuesCollection", resultSetCount++); } if (so.Tables) { sql.Append("SELECT COUNT(*) FROM sys.tables;"); sql.AppendLine(); ResultSets.Add("TableCount", resultSetCount++); sql.Append(GetResourceScript("ObjectHelper.SQL.Tables_" + so.ServerMajorVersion.ToString() + ".sql")); sql.AppendLine(); ResultSets.Add("TableCollection", resultSetCount++); if (so.DataCompression) { if (so.ServerMajorVersion >= 10) { sql.Append(GetResourceScript("ObjectHelper.SQL.TableDataCompression_" + so.ServerMajorVersion.ToString() + ".sql")); sql.AppendLine(); ResultSets.Add("TableDataCompressionCollection", resultSetCount++); } else { so.DataCompression = false; } } if (so.DefaultConstraints) { sql.Append(GetResourceScript("ObjectHelper.SQL.DefaultConstraints.sql")); sql.AppendLine(); ResultSets.Add("DefaultConstraintCollection", resultSetCount++); } if (so.CheckConstraints) { sql.Append(GetResourceScript("ObjectHelper.SQL.CheckConstraints.sql")); sql.AppendLine(); ResultSets.Add("CheckConstraintCollection", resultSetCount++); } if (so.ForeignKeys) { sql.Append(GetResourceScript("ObjectHelper.SQL.ForeignKeys.sql")); sql.AppendLine(); ResultSets.Add("ForeignKeyCollection", resultSetCount++); ResultSets.Add("ForeignKeyColumnCollection", resultSetCount++); } if (so.FullTextIndexes) { sql.Append(GetResourceScript("ObjectHelper.SQL.FullTextIndexes_" + so.ServerMajorVersion + ".sql")); sql.AppendLine(); ResultSets.Add("FullTextIndexCollection", resultSetCount++); ResultSets.Add("FullTextIndexColumnCollection", resultSetCount++); } sql.Append(GetResourceScript("ObjectHelper.SQL.Columns_" + so.ServerMajorVersion.ToString() + ".sql")); sql.AppendLine(); ResultSets.Add("ColumnCollection", resultSetCount++); } if (so.Contracts) { sql.Append(GetResourceScript("ObjectHelper.SQL.Contracts.sql")); sql.AppendLine(); ResultSets.Add("ContractCollection", resultSetCount++); ResultSets.Add("ContractMessageTypeCollection", resultSetCount++); } if (so.MessageTypes) { sql.Append(GetResourceScript("ObjectHelper.SQL.MessageTypes.sql")); sql.AppendLine(); ResultSets.Add("MessageTypeCollection", resultSetCount++); } if (so.XMLSchemaCollections) { sql.Append(GetResourceScript("ObjectHelper.SQL.XMLSchemaCollections.sql")); sql.AppendLine(); ResultSets.Add("XMLSchemaCollection", resultSetCount++); } if (so.UniqueConstraints || so.PrimaryKeys || so.ClusteredIndexes || so.NonClusteredIndexes) { sql.Append(GetResourceScript("ObjectHelper.SQL.Indexes_" + so.ServerMajorVersion + ".sql")); sql.AppendLine(); ResultSets.Add("IndexCollection", resultSetCount++); sql.Append(GetResourceScript("ObjectHelper.SQL.IndexColumns.sql")); sql.AppendLine(); ResultSets.Add("IndexColumnCollection", resultSetCount++); } if (so.DMLTriggers || so.DDLTriggers) { sql.Append(GetResourceScript("ObjectHelper.SQL.Triggers_" + so.ServerMajorVersion + ".sql")); sql.AppendLine(); ResultSets.Add("TriggerCollection", resultSetCount++); } if (so.CLRTriggers) { sql.Append(GetResourceScript("ObjectHelper.SQL.CLRTriggers_" + so.ServerMajorVersion + ".sql")); sql.AppendLine(); ResultSets.Add("CLRTriggerCollection", resultSetCount++); ResultSets.Add("CLRTriggerEventCollection", resultSetCount++); } if (so.StoredProcedures) { sql.Append(GetResourceScript("ObjectHelper.SQL.StoredProcedures.sql")); sql.AppendLine(); ResultSets.Add("SPCollection", resultSetCount++); } if (so.Aggregates || so.StoredProcedures || so.SQLUserDefinedFunctions || so.CLRUserDefinedFunctions) { sql.Append(GetResourceScript("ObjectHelper.SQL.Parameters_" + so.ServerMajorVersion + ".sql")); sql.AppendLine(); ResultSets.Add("ParameterCollection", resultSetCount++); } if (so.Aggregates) { sql.Append(GetResourceScript("ObjectHelper.SQL.Aggregates.sql")); sql.AppendLine(); ResultSets.Add("AggregateCollection", resultSetCount++); } if (so.Views) { sql.Append(GetResourceScript("ObjectHelper.SQL.Views.sql")); sql.AppendLine(); ResultSets.Add("ViewCollection", resultSetCount++); } if (so.ApplicationRoles || so.DatabaseRoles || so.Users) //DOROBIT DALSIE { sql.Append(GetResourceScript("ObjectHelper.SQL.Principals.sql")); sql.AppendLine(); ResultSets.Add("PrincipalCollection", resultSetCount++); } if (so.Assemblies) { sql.Append(GetResourceScript("ObjectHelper.SQL.Assemblies_" + so.ServerMajorVersion.ToString() + ".sql")); sql.AppendLine(); ResultSets.Add("AssemblyCollection", resultSetCount++); } if (so.Defaults) { sql.Append(GetResourceScript("ObjectHelper.SQL.Defaults.sql")); sql.AppendLine(); ResultSets.Add("DefaultCollection", resultSetCount++); } if (so.Synonyms) { sql.Append(GetResourceScript("ObjectHelper.SQL.Synonyms.sql")); sql.AppendLine(); ResultSets.Add("SynonymCollection", resultSetCount++); } if (so.ServiceQueues) { sql.Append(GetResourceScript("ObjectHelper.SQL.ServiceQueues.sql")); sql.AppendLine(); ResultSets.Add("QueueCollection", resultSetCount++); } if (so.FullTextCatalogs) { sql.Append(GetResourceScript("ObjectHelper.SQL.FullTextCatalogs.sql")); sql.AppendLine(); ResultSets.Add("FullTextCatalogCollection", resultSetCount++); } if (so.FullTextStopLists) { if (so.ServerMajorVersion >= 10) { sql.Append(GetResourceScript("ObjectHelper.SQL.FullTextStopLists.sql")); sql.AppendLine(); ResultSets.Add("FullTextStopListCollection", resultSetCount++); ResultSets.Add("FullTextStopWordCollection", resultSetCount++); } else { so.FullTextStopLists = false; } } if (so.Services) { sql.Append(GetResourceScript("ObjectHelper.SQL.Services.sql")); sql.AppendLine(); ResultSets.Add("ServiceCollection", resultSetCount++); ResultSets.Add("ServiceContractCollection", resultSetCount++); } if (so.BrokerPriorities) { if (so.ServerMajorVersion >= 10) { sql.Append(GetResourceScript("ObjectHelper.SQL.BrokerPriorities.sql")); sql.AppendLine(); ResultSets.Add("BrokerPriorityCollection", resultSetCount++); } else { so.BrokerPriorities = false; } } if (so.PartitionSchemes) { sql.Append(GetResourceScript("ObjectHelper.SQL.PartitionSchemes.sql")); sql.AppendLine(); ResultSets.Add("PartitionSchemeCollection", resultSetCount++); ResultSets.Add("PartitionSchemeFileGroupCollection", resultSetCount++); } if (so.RemoteServiceBindings) { sql.Append(GetResourceScript("ObjectHelper.SQL.RemoteServiceBindings.sql")); sql.AppendLine(); ResultSets.Add("RemoteServiceBindingCollection", resultSetCount++); } if (so.Rules) { sql.Append(GetResourceScript("ObjectHelper.SQL.Rules.sql")); sql.AppendLine(); ResultSets.Add("RuleCollection", resultSetCount++); } if (so.Routes) { sql.Append(GetResourceScript("ObjectHelper.SQL.Routes.sql")); sql.AppendLine(); ResultSets.Add("RouteCollection", resultSetCount++); } if (so.Schemas) { sql.Append(GetResourceScript("ObjectHelper.SQL.Schemas.sql")); sql.AppendLine(); ResultSets.Add("SchemaCollection", resultSetCount++); } if (so.SQLUserDefinedFunctions) { sql.Append(GetResourceScript("ObjectHelper.SQL.SQLUserDefinedFunctions.sql")); sql.AppendLine(); ResultSets.Add("UserDefinedFunctionCollection", resultSetCount++); } if (so.CLRUserDefinedFunctions) { sql.Append(GetResourceScript("ObjectHelper.SQL.CLRUserDefinedFunctions_" + so.ServerMajorVersion + ".sql")); sql.AppendLine(); ResultSets.Add("CLRUserDefinedFunctionCollection", resultSetCount++); ResultSets.Add("CLRUserDefinedFunctionColumnCollection", resultSetCount++); } if (so.UserDefinedDataTypes) { sql.Append(GetResourceScript("ObjectHelper.SQL.UserDefinedDataTypes_" + so.ServerMajorVersion + ".sql")); sql.AppendLine(); ResultSets.Add("UserDefinedDataTypeCollection", resultSetCount++); } if (so.UserDefinedTypes) { sql.Append(GetResourceScript("ObjectHelper.SQL.UserDefinedTypes.sql")); sql.AppendLine(); ResultSets.Add("UserDefinedTypeCollection", resultSetCount++); } if (so.UserDefinedTableTypes) { if (so.ServerMajorVersion >= 10) { sql.Append(GetResourceScript("ObjectHelper.SQL.UserDefinedTableTypes.sql")); sql.AppendLine(); ResultSets.Add("UserDefinedTableTypeCollection", resultSetCount++); ResultSets.Add("UserDefinedTableTypeColumnCollection", resultSetCount++); ResultSets.Add("UserDefinedTableTypeIndexCollection", resultSetCount++); ResultSets.Add("UserDefinedTableTypeIndexColumnCollection", resultSetCount++); ResultSets.Add("UserDefinedTableTypeCheckConstraintCollection", resultSetCount++); } else { so.UserDefinedTableTypes = false; } } return(sql.ToString()); }