From 92ea75b47580ba3ee38f560d54f2aa59f8b47770 Mon Sep 17 00:00:00 2001 From: David Shiflet Date: Wed, 5 Nov 2025 20:45:06 -0600 Subject: [PATCH 1/2] Prepare 172.87.0 to push to github --- .editorconfig | 154 + .gitattributes | 23 + .github/copilot-instructions.md | 181 + .github/workflows/ToolsConnectionInfo.xml | 16 + .github/workflows/pr-validation.yml | 62 + .gitignore | 313 + .gitmodules | 0 .scripts/DisableStrongName.ps1 | 18 + .scripts/Update-SSMS.ps1 | 82 + CHANGELOG.md | 285 + CODE_OF_CONDUCT.md | 9 + Directory.Build.props | 16 + Directory.Build.rsp | 8 + Directory.Packages.props | 58 + LICENSE | 21 + README.md | 69 + SECURITY.md | 41 + SmoBuild/AssemblyInfo.props | 15 + SmoBuild/CSharp.NetCore.props | 4 + SmoBuild/CSharp.NetFx.props | 4 + SmoBuild/CSharp.NetStandard.props | 5 + SmoBuild/DdlEvents.targets | 40 + SmoBuild/DdlEvents/class_template.cs | 209 + SmoBuild/DdlEvents/classenum_template.cs | 223 + SmoBuild/DdlEvents/eventsdef.txt | 3667 +++++++ SmoBuild/DdlEvents/evtenum_template.cs | 67 + SmoBuild/DdlEvents/evtschema.pl | 57 + SmoBuild/DdlEvents/smoevt.pl | 1102 ++ SmoBuild/DdlEvents/smoevt_template.cs | 198 + SmoBuild/DdlEvents/trc2evt.pl | 890 ++ SmoBuild/DdlEvents/trccomn.txt | 1356 +++ SmoBuild/DdlEvents/trcdef.txt | 1552 +++ SmoBuild/SqlClientReference.props | 27 + SmoBuild/Version.props | 20 + azurepipelines-coverage.yml | 5 + dirs.proj | 6 + docs/README.md | 111 + global.json | 9 + init.cmd | 73 + src/Codegen/CodeGen.cs | 2690 +++++ src/Codegen/ExecuteSqlFake.cs | 271 + src/Codegen/ModelGen.cs | 442 + src/Codegen/README.md | 386 + src/Codegen/SmoCodeGen.csproj | 148 + src/Codegen/StringEnumerator.cs | 20 + src/Codegen/cfg.xml | 2619 +++++ src/Codegen/collections_codegen.proj | 1022 ++ src/Codegen/gen.xml | 802 ++ src/Directory.Build.props | 96 + src/Directory.Build.targets | 76 + src/FunctionalTest/Directory.Build.props | 22 + .../Framework/Helpers/AzureKeyVaultHelper.cs | 139 + .../Framework/Helpers/AzureStorageHelper.cs | 68 + .../Framework/Helpers/ConnectionHelpers.cs | 398 + .../Framework/Helpers/ConnectionMetrics.cs | 130 + .../Helpers/DatabaseObjectHelpers.cs | 867 ++ .../Framework/Helpers/DirectoryHelpers.cs | 40 + .../Framework/Helpers/ExceptionHelpers.cs | 106 + .../Helpers/ExecutionManagerExtensions.cs | 40 + .../Helpers/FabricDatabaseManager.cs | 297 + .../Framework/Helpers/GenericSqlProxy.cs | 255 + .../Framework/Helpers/PolicyStoreHelpers.cs | 190 + .../Framework/Helpers/PropertyClasses.cs | 125 + .../Framework/Helpers/RetryHelper.cs | 90 + .../Framework/Helpers/ScriptHelpers.cs | 74 + .../Helpers/ScriptSchemaObjectBaseHelpers.cs | 25 + .../Framework/Helpers/ScriptTokenizer.cs | 504 + .../Framework/Helpers/ServerObjectHelpers.cs | 800 ++ .../Framework/Helpers/SmoObjectHelpers.cs | 200 + .../Helpers/SqlClientEventRecorder.cs | 96 + .../Framework/Helpers/SqlTestRandom.cs | 72 + .../Helpers/SqlTypeConverterHelpers.cs | 30 + .../Helpers/StringCollectionHelpers.cs | 38 + .../Framework/Helpers/StringExtensions.cs | 207 + .../Framework/Helpers/TSqlScriptingHelper.cs | 38 + .../Framework/Helpers/TableExtensions.cs | 23 + .../Framework/Helpers/TableObjectHelpers.cs | 87 + .../Helpers/TestContextExtensions.cs | 30 + .../Framework/Helpers/TraceHelper.cs | 50 + .../Framework/Helpers/XmlHelper.cs | 62 + ....SqlServer.Test.Manageability.Utils.csproj | 38 + .../Framework/PRVerification.runsettings | 10 + ...ataRetention_DataRetentionPeriodOption.sql | 9 + .../Framework/Sql2017Linux.runsettings | 7 + src/FunctionalTest/Framework/SqlVersion.cs | 24 + .../Framework/Sqlv150Linux.runsettings | 7 + .../Framework/Sqlv160Linux.runsettings | 7 + .../AlternateTestServerSource.cs | 188 + .../TestFramework/DatabaseHandlerBase.cs | 48 + .../TestFramework/DatabaseHandlerFactory.cs | 34 + .../TestFramework/DatabaseParameters.cs | 36 + .../DisconnectedTestAttribute.cs | 20 + .../TestFramework/FabricDatabaseHandler.cs | 79 + .../FabricWorkspaceDescriptor.cs | 64 + .../TestFramework/IDatabaseHandler.cs | 17 + .../TestFramework/RegularDatabaseHandler.cs | 52 + .../ReuseExistingDatabaseHandler.cs | 68 + .../TestFramework/ServerConnectionInfo.cs | 37 + .../Framework/TestFramework/SqlFeature.cs | 52 + .../SqlRequiredFeatureAttribute.cs | 31 + .../TestFramework/SqlTestAreaAttribute.cs | 56 + .../Framework/TestFramework/SqlTestBase.cs | 834 ++ .../TestFramework/SqlTestCategoryAttribute.cs | 70 + .../SqlTestDimensionAttribute.cs | 72 + .../Framework/TestFramework/SqlTestHelpers.cs | 139 + .../Framework/TestFramework/SqlTestResult.cs | 105 + .../SupportedServerVersionRange.cs | 250 + .../SupportedTargetServerFriendlyName.cs | 51 + .../Framework/TestFramework/TestDescriptor.cs | 50 + .../TestFramework/TestServerDescriptor.cs | 191 + .../TestFramework/TestServerPoolManager.cs | 97 + ...supportedDatabaseEngineEditionAttribute.cs | 64 + .../UnsupportedDatabaseEngineTypeAttribute.cs | 50 + .../UnsupportedFeatureAttribute.cs | 58 + .../UnsupportedHostPlatformAttribute.cs | 63 + .../Framework/azuresql.runsettings | 93 + .../Framework/azuresqledge.runsettings | 128 + .../Framework/azuresqlnodrop.runsettings | 96 + .../Framework/fabricmsitworkspace.runsettings | 96 + .../Framework/functionaltest.runsettings | 163 + .../Framework/linux.runsettings | 96 + .../Framework/ondemand.runsettings | 93 + .../Framework/onprem.runsettings | 151 + .../Framework/sql2008.runsettings | 91 + .../Framework/sql2012.runsettings | 91 + .../Framework/sql2014.runsettings | 91 + .../Framework/sql2016.runsettings | 91 + .../Framework/sql2017.runsettings | 91 + .../Framework/sqlexpress.runsettings | 132 + .../Framework/sqlmi.runsettings | 131 + .../Framework/sqlmiarc.runsettings | 131 + .../Framework/sqlv150.runsettings | 7 + .../Framework/sqlv160.runsettings | 7 + .../Framework/sqlv170.runsettings | 7 + .../Identity/AdoOidcResponse.cs | 16 + .../AzureDevOpsFederatedTokenCredential.cs | 169 + ...reDevOpsFederatedTokenCredentialOptions.cs | 52 + .../AzureDevOpsSqlAuthenticationProvider.cs | 183 + .../Microsoft.SqlServer.ADO.Identity.csproj | 24 + src/FunctionalTest/Identity/README.md | 90 + .../Smo/Agent/JobFilterTests.cs | 125 + .../Smo/Agent/JobServerTests.cs | 208 + .../Smo/BackupRestore/BackupRestoreTests.cs | 147 + .../BackupRestore/LongFullBackupCleanup.sql | 16 + .../Smo/BackupRestore/LongFullBackupPlan.sql | 3 + .../Smo/BackupRestore/LongFullBackupSetup.sql | 114 + .../NewerOutOfSequenceCleanup.sql | 17 + .../NewerOutOfSequencePointInTimePlan.sql | 5 + .../BackupRestore/NewerOutOfSequenceSetup.sql | 116 + .../OlderOutOfSequenceCleanup.sql | 16 + .../OlderOutOfSequencePointInTimePlan.sql | 5 + .../BackupRestore/OlderOutOfSequenceSetup.sql | 114 + .../Smo/CentralManagementServer/CmsTests.cs | 82 + .../Smo/CentralManagementServer/TestSrvr.xml | 189 + .../Smo/DMF/ExecutionHistoryTests.cs | 376 + src/FunctionalTest/Smo/DMF/PolicyTests.cs | 420 + src/FunctionalTest/Smo/DMF/SfcXmlHelper.cs | 40 + .../Smo/GeneralFunctionality/AuditSmoTests.cs | 452 + .../DataClassificationSmoTests.cs | 558 + .../GeneralFunctionality/DatabaseSmoTests.cs | 1235 +++ .../GeneralFunctionality/DifferencingTests.cs | 49 + .../Smo/GeneralFunctionality/DiskFile.cs | 54 + .../Smo/GeneralFunctionality/DwSmoTests.cs | 142 + .../PermissionsEnumTests.cs | 138 + .../ServerConnectionTests.cs | 293 + .../GeneralFunctionality/ServerSmoTests.cs | 640 ++ .../SmoInitializingTests.cs | 76 + .../GeneralFunctionality/SmoTestsUtility.cs | 51 + .../StoredProcedureTests.cs | 83 + .../UserDefinedFunctionTests.cs | 123 + .../GeneralFunctionality/WorkloadSmoTests.cs | 160 + .../MetadataProvider/MetadataProviderTests.cs | 77 + .../Smo/Microsoft.SqlServer.Test.Smo.csproj | 96 + .../Smo/ScriptingTests/Alert_SmoTestSuite.cs | 118 + .../ApplicationRole_SmoTestSuite.cs | 68 + .../Smo/ScriptingTests/Audit_SmoTestSuite.cs | 82 + .../AvailabilityGroupListener_SmoTestSuite.cs | 130 + .../AvailabilityGroup_SmoTestSuite.cs | 889 ++ .../BackupDevice_SmoTestSuite.cs | 75 + .../Smo/ScriptingTests/Backup_SmoTestSuite.cs | 216 + .../BrokerPriority_SmoTestSuite.cs | 66 + .../BrokerService_SmoTestSuite.cs | 71 + .../ScriptingTests/Category_SmoTestSuite.cs | 89 + .../Certificate_SmoTestSuite.cs | 112 + .../Smo/ScriptingTests/Check_SmoTestSuite.cs | 65 + .../ColumnEncryptionKeyValue_SmoTestSuite.cs | 88 + .../ColumnEncryptionKey_SmoTestSuite.cs | 71 + .../ColumnMasterKey_SmoTestSuite.cs | 82 + .../Smo/ScriptingTests/Column_SmoTestSuite.cs | 341 + .../ScriptingTests/Credential_SmoTestSuite.cs | 72 + .../CryptographicProvider_SmoTestSuite.cs | 105 + .../Smo/ScriptingTests/Data/qatest/bands.dat | 6 + ...DatabaseAuditSpecification_SmoTestSuite.cs | 73 + .../DatabaseDdlTrigger_SmoTestSuite.cs | 64 + .../DatabaseEncryptionKey_SmoTestSuite.cs | 110 + .../DatabaseOptions_SmoTestSuite.cs | 106 + .../DatabaseRole_SmoTestSuite.cs | 59 + .../DatabaseScopedCredential_SmoTestSuite.cs | 63 + .../ScriptingTests/Database_SmoTestSuite.cs | 1928 ++++ .../DefaultConstraint_SmoTestSuite.cs | 127 + .../DefaultRule_SmoTestSuite.cs | 96 + .../EdgeConstraint_SmoTestSuite.cs | 222 + .../ScriptingTests/Endpoint_SmoTestSuite.cs | 76 + .../ExtendedProperty_SmoTestSuite.cs | 83 + .../ExternalDataSource_SmoTestSuite.cs | 1178 +++ .../ExternalFileFormat_SmoTestSuite.cs | 1017 ++ .../ExternalLanguage_SmoTestSuite.cs | 376 + .../ExternalLibrary_SmoTestSuite.cs | 284 + .../ExternalResourcePool_SmoTestSuite.cs | 770 ++ .../ExternalStream_SmoTestSuite.cs | 188 + .../Smo/ScriptingTests/File_SmoTestSuite.cs | 142 + .../ScriptingTests/ForeignKey_SmoTestSuite.cs | 75 + .../FullTextCatalog_SmoTestSuite.cs | 57 + .../FullTextIndex_SmoTestSuite.cs | 90 + .../FullTextStopList_SmoTestSuite.cs | 57 + .../Smo/ScriptingTests/Index_SmoTestSuite.cs | 2342 +++++ .../JobSchedule_SmoTestSuite.cs | 142 + .../ScriptingTests/JobStep_SmoTestSuite.cs | 76 + .../Smo/ScriptingTests/Job_SmoTestSuite.cs | 101 + .../LinkedServerLogin_SmoTestSuite.cs | 74 + .../LinkedServer_SmoTestSuite.cs | 73 + .../Smo/ScriptingTests/Login_SmoTestSuite.cs | 382 + .../MailAccount_SmoTestSuite.cs | 74 + .../MailProfile_SmoTestSuite.cs | 72 + .../MessageType_SmoTestSuite.cs | 60 + .../ScriptingTests/Operator_SmoTestSute.cs | 72 + .../PartitionFunction_SmoTestSuite.cs | 93 + .../PartitionScheme_SmoTestSuite.cs | 77 + .../PhysicalPartition_SmoTestSuite.cs | 239 + .../ScriptingTests/PlanGuide_SmoTestSuite.cs | 61 + .../ProxyAccount_SmoTestSuite.cs | 89 + .../ScriptingTests/QueryStore_SmoTestSuite.cs | 257 + .../Smo/ScriptingTests/RegressionTests.cs | 135 + .../RemoteServiceBinding_SmoTestSuite.cs | 79 + .../ResourcePool_SmoTestSuite.cs | 72 + .../ScriptingTests/Restore_SmoTestSuite.cs | 214 + .../Smo/ScriptingTests/Schema_SmoTestSuite.cs | 58 + .../Smo/ScriptingTests/ScriptMakerTests.cs | 374 + .../Smo/ScriptingTests/ScripterTests.cs | 111 + .../Smo/ScriptingTests/ScriptingTestSuite.cs | 2751 +++++ ...cryptionKey_SmoTestSuite_SQL2016_Setup.sql | 36 + .../Scripts/DependencyOrderScriptingDb.sql | Bin 0 -> 15354 bytes .../ExternalLibrary_SmoTestSuite_Setup.sql | 7 + .../Scripts/PartitionedTable.sql | 15 + ...SqlAssembly_SmoTestSuite_SQL2016_Setup.sql | 57 + .../SearchPropertyList_SmoTestSuite.cs | 59 + .../SecurityPolicy_SmoTestSuite.cs | 514 + .../SecurityPredicate_SmoTestSuite.cs | 90 + .../SensitivityClassification_SmoTestSuite.cs | 312 + .../ScriptingTests/Sequence_SmoTestSuite.cs | 63 + .../ServerAuditSpecification_SmoTestSuite.cs | 83 + .../ServerDdlTrigger_SmoTestSuite.cs | 77 + .../ScriptingTests/ServerRole_SmoTestSuite.cs | 71 + .../Smo/ScriptingTests/Server_SmoTestSuite.cs | 177 + .../ServiceContract_SmoTestSuite.cs | 67 + .../ServiceQueue_SmoTestSuite.cs | 60 + .../ServiceRoute_SmoTestSuite.cs | 62 + .../SmoTestFramework/SmoTestBase.cs | 360 + .../SqlAssembly_SmoTestSuite.cs | 111 + .../ScriptingTests/Statistic_SmoTestSuite.cs | 215 + .../StoredProcedure_SmoTestSuite.cs | 320 + .../ScriptingTests/Synonym_SmoTestSuite.cs | 64 + .../Smo/ScriptingTests/Table_SmoTestSuite.cs | 5516 ++++++++++ .../TargetServerGroup_SmoTestSuite.cs | 72 + .../TestHelpers/AlwaysOnTestHelper.cs | 147 + .../TestHelpers/SmoObjectTestBase.cs | 252 + .../ScriptingTests/Trigger_SmoTestSuite.cs | 149 + .../UserDefinedAggregate_SmoTestSuite.cs | 110 + .../UserDefinedDataType_SmoTestSuite.cs | 63 + .../UserDefinedFunction_SmoTestSuite.cs | 209 + .../UserDefinedTableType_SmoTestSuite.cs | 64 + .../UserDefinedType_SmoTestSuite.cs | 105 + .../Smo/ScriptingTests/User_SmoTestSuite.cs | 217 + ...ataRetention_DataRetentionPeriodOption.sql | 9 + .../Smo/ScriptingTests/View_SmoTestSuite.cs | 135 + .../WorkloadGroup_SmoTestSuite.cs | 186 + ...nagementWorkloadClassifier_SmoTestSuite.cs | 99 + ...oadManagementWorkloadGroup_SmoTestSuite.cs | 139 + .../XmlSchemaCollection_SmoTestSuite.cs | 60 + src/FunctionalTest/Smo/Sfc/AlienTests.cs | 62 + .../Smo/Sfc/SfcEnumeratorTests.cs | 63 + .../Smo/SqlAssessment/SqlAssessmentTests.cs | 177 + .../Smo/ToolsConnectionInfo.xml | 199 + .../Smo/WMI/ServerEventsTests.cs | 13 + .../Smo/XEvent/ActionInfoUnitTest.cs | 121 + .../Smo/XEvent/ActionUnitTest.cs | 318 + .../Smo/XEvent/DataEventColumnInfoUnitTest.cs | 43 + .../Smo/XEvent/DbScopedXEventTestBase.cs | 132 + .../Smo/XEvent/EnumeratorUnitTest.cs | 483 + .../Smo/XEvent/EventColumnInfoUnitTest.cs | 48 + .../Smo/XEvent/EventFieldUnitTest.cs | 148 + .../Smo/XEvent/EventInfoUnitTest.cs | 82 + .../Smo/XEvent/EventUnitTest.cs | 830 ++ .../Smo/XEvent/MapInfoUnitTest.cs | 110 + .../Smo/XEvent/MapValueInfoUnitTest.cs | 55 + .../Smo/XEvent/PackageUnitTest.cs | 196 + .../Smo/XEvent/PredCompareExprUnitTest.cs | 75 + .../Smo/XEvent/PredCompareUnitTest.cs | 101 + .../Smo/XEvent/PredFunctionExprUnitTest.cs | 81 + .../Smo/XEvent/PredLogicalExprUnitTest.cs | 130 + .../Smo/XEvent/PredOperandUnitTest.cs | 86 + .../Smo/XEvent/PredSourceInfoUnitTest.cs | 37 + .../Smo/XEvent/PredValueUnitTest.cs | 28 + .../XEvent/ReadOnlyEventColumnInfoUnitTest.cs | 46 + .../Smo/XEvent/SessionUnitTest.cs | 524 + .../Smo/XEvent/TargetColumnInfoUnitTest.cs | 124 + .../Smo/XEvent/TargetFieldUnitTest.cs | 153 + .../Smo/XEvent/TargetInfoUnitTest.cs | 32 + .../Smo/XEvent/TargetUnitTest.cs | 328 + .../Smo/XEvent/TypeInfoUnitTest.cs | 56 + src/FunctionalTest/Smo/XEvent/Util.cs | 20 + .../Smo/XEvent/XEStoreUnitTest.cs | 180 + .../Smo/XEvent/XEventSessionTests.cs | 441 + src/FunctionalTest/dirs.proj | 6 + .../Data/Tools.Sql.BatchParser/BatchParser.cs | 158 + .../BatchParserAction.cs | 11 + .../BatchParserException.cs | 43 + .../Data/Tools.Sql.BatchParser/ErrorCode.cs | 25 + .../Tools.Sql.BatchParser/ICommandHandler.cs | 15 + .../IVariableResolver.cs | 11 + .../Data/Tools.Sql.BatchParser/Lexer.cs | 728 ++ .../Data/Tools.Sql.BatchParser/LexerInput.cs | 151 + .../Tools.Sql.BatchParser/LexerTokenType.cs | 38 + .../Data/Tools.Sql.BatchParser/LineInfo.cs | 106 + ...icrosoft.Data.Tools.Sql.BatchParser.csproj | 16 + .../Tools.Sql.BatchParser/OnErrorAction.cs | 11 + .../Data/Tools.Sql.BatchParser/Parser.cs | 685 ++ .../Tools.Sql.BatchParser/PositionStruct.cs | 26 + .../Data/Tools.Sql.BatchParser/TextBlock.cs | 57 + .../Tools.Sql.BatchParser/TextRuleFlags.cs | 18 + .../Data/Tools.Sql.BatchParser/Token.cs | 27 + .../VariableReference.cs | 24 + .../Data/Tools.Sql.BatchParser/sr.strings | 29 + src/Microsoft/Directory.Build.props | 33 + src/Microsoft/Directory.Build.targets | 17 + .../Management/ConnectionInfo/App.config | 3 + .../Management/ConnectionInfo/AssemblyInfo.cs | 8 + .../ConnectionInfo/ConnectionEnums.cs | 411 + .../ConnectionInfo/ConnectionException.cs | 405 + .../ConnectionInfo/ConnectionInfoBase.cs | 78 + .../ConnectionInfo/ConnectionInfoHelper.cs | 56 + .../ConnectionInfo/ConnectionManager.cs | 1132 +++ .../ConnectionInfo/ConnectionSettings.cs | 1292 +++ .../DatabaseEngineTypeExtensionClass.cs | 24 + .../ConnectionInfo/DtsConnectionInfo.cs | 106 + .../ConnectionInfo/EncryptionUtility.cs | 123 + .../ConnectionInfo/ExecutionCache.cs | 261 + .../ConnectionInfo/FxCopSupressions.cs | 64 + .../ConnectionInfo/IRenewableToken.cs | 41 + .../ConnectionInfo/ISfcConnection.cs | 47 + .../LocalizableTypeConverter.cs | 784 ++ .../Microsoft.SqlServer.ConnectionInfo.csproj | 41 + .../ConnectionInfo/NetCoreHelpers.cs | 60 + .../ConnectionInfo/OlapConnectionInfo.cs | 170 + .../ConnectionInfo/ServerConnection.cs | 2058 ++++ .../ConnectionInfo/ServerInformation.cs | 240 + .../ConnectionInfo/ServerVersion.cs | 78 + .../ConnectionInfo/SqlCeConnectionInfo.cs | 177 + .../ConnectionInfo/SqlConnectionInfo.cs | 497 + .../SqlConnectionInfoWithConnection.cs | 146 + .../Management/ConnectionInfo/SqlContext.cs | 26 + .../ConnectionInfo/SqlDirectConnection.cs | 99 + .../SqlOlapConnectionInfoBase.cs | 417 + .../SqlServerManagementException.cs | 69 + .../ConnectionInfo/StatementCapture.cs | 58 + .../ConnectionInfo/StatementEvent.cs | 110 + .../StringConnectionInfo.strings | 101 + .../ConnectionInfo/WindowsCredential.cs | 296 + .../ConnectionInfo/WmiMgmtScopeConnection.cs | 51 + .../Management/ConnectionInfo/interfaces.cs | 86 + .../ConnectionInfo/safenativemethods.cs | 45 + .../Management/Dmf.Common/AssemblyInfo.cs | 8 + .../Management/Dmf.Common/CustomAttributes.cs | 144 + .../Management/Dmf.Common/DmfConstants.cs | 17 + .../Management/Dmf.Common/DmfException.cs | 5050 +++++++++ .../Dmf.Common/ExceptionTemplates.strings | 38 + .../Management/Dmf.Common/FxCopExclusions.cs | 133 + .../Management/Dmf.Common/ManagementFacet.cs | 43 + .../Microsoft.SqlServer.Dmf.Common.csproj | 17 + .../Management/Dmf.Common/NetCoreHelpers.cs | 54 + .../PostConfigurationActionAttribute.cs | 51 + .../SqlServer/Management/Dmf.Common/Utils.cs | 30 + .../Management/Dmf.Common/enumstructs.cs | 58 + .../SqlServer/Management/Dmf/AssemblyInfo.cs | 8 + .../SqlServer/Management/Dmf/Condition.cs | 1283 +++ .../Management/Dmf/ConditionCollection.cs | 56 + .../Management/Dmf/ConditionExtender.cs | 211 + .../Management/Dmf/ConditionValidation.cs | 372 + .../Dmf/ConnectionEvaluationHistory.cs | 514 + .../ConnectionEvaluationHistoryCollection.cs | 57 + .../Management/Dmf/EvaluationDetail.cs | 506 + .../Dmf/EvaluationDetailCollection.cs | 57 + .../Management/Dmf/EvaluationFactory.cs | 1654 +++ .../Management/Dmf/EvaluationHistory.cs | 541 + .../Dmf/EvaluationHistoryCollection.cs | 59 + .../Management/Dmf/ExceptionTemplates.strings | 187 + .../Management/Dmf/ExpressionTree.cs | 4697 +++++++++ .../SqlServer/Management/Dmf/FacetInfo.cs | 228 + .../Management/Dmf/FacetInfoCollection.cs | 28 + .../Management/Dmf/FacetProperties.strings | 5 + .../Management/Dmf/FacetRepository.cs | 1156 +++ .../Management/Dmf/FxCopExclusions.cs | 1139 +++ .../Dmf/LocalizableResources.strings | 15 + .../Dmf/Microsoft.SqlServer.Dmf.csproj | 34 + .../SqlServer/Management/Dmf/ObjectSet.cs | 1623 +++ .../Management/Dmf/ObjectSetCollection.cs | 56 + .../Management/Dmf/ObjectSetValidation.cs | 261 + .../SqlServer/Management/Dmf/Policy.cs | 2367 +++++ .../Management/Dmf/PolicyCategory.cs | 539 + .../Dmf/PolicyCategoryCollection.cs | 68 + .../Dmf/PolicyCategoryInformation.cs | 189 + .../Dmf/PolicyCategorySubscription.cs | 576 ++ .../PolicyCategorySubscriptionCollection.cs | 71 + .../PolicyCategorySubscriptionValidation.cs | 68 + .../Management/Dmf/PolicyCollection.cs | 72 + .../Dmf/PolicyEvaluationResultsWriter.cs | 155 + .../SqlServer/Management/Dmf/PolicyEvents.cs | 616 ++ .../Management/Dmf/PolicyExtender.cs | 321 + .../SqlServer/Management/Dmf/PolicyStore.cs | 4038 ++++++++ .../Management/Dmf/PolicyStoreValidation.cs | 59 + .../Management/Dmf/PolicyValidation.cs | 530 + .../SqlServer/Management/Dmf/TargetSet.cs | 978 ++ .../Management/Dmf/TargetSetCollection.cs | 98 + .../Management/Dmf/TargetSetLevel.cs | 538 + .../Dmf/TargetSetLevelCollection.cs | 73 + .../SqlServer/Management/Dmf/Utils.cs | 362 + .../HadrData/AGListenerNetworkMode.cs | 14 + .../HadrData/AvailabilityGroupData.cs | 531 + .../AvailabilityGroupListenerConfiguration.cs | 164 + .../AvailabilityGroupListenerSubnet.cs | 31 + .../HadrData/AvailabilityGroupReplica.cs | 640 ++ .../AvailabilityGroupReplicaCollection.cs | 22 + .../HadrData/AvailabilityGroupReplicaData.cs | 248 + .../HadrData/AvailabilityObjectState.cs | 26 + .../HadrData/CollectionsExtensionMethods.cs | 28 + .../Management/HadrData/Constants.cs | 49 + .../HadrData/DataSynchronizationOption.cs | 23 + .../Management/HadrData/FailoverCategory.cs | 21 + .../Management/HadrData/FailoverData.cs | 246 + .../Management/HadrData/FailoverUtilities.cs | 182 + ...osoft.SqlServer.Management.HadrData.csproj | 57 + .../HadrData/PrimaryDatabaseData.cs | 118 + .../HadrData/Properties/AssemblyInfo.cs | 12 + .../Management/HadrData/ReplicaRole.cs | 24 + .../Management/HadrData/Resource.Designer.cs | 81 + .../Management/HadrData/Resource.resx | 126 + .../HadrData/SortableBindingList.cs | 155 + .../Management/HadrData/UserSecurity.cs | 529 + .../HadrModel/AddDBCredentialTask.cs | 141 + ...AddDatabaseToExistingAGScenarioProvider.cs | 164 + ...DatabaseToExistingAvailabilityGroupTask.cs | 124 + .../AddNewAvailabilityGroupListenerTask.cs | 102 + .../AddReplicaDatabaseExistenceValidator.cs | 27 + ...plicaDatabaseFileCompatibilityValidator.cs | 27 + ...ddReplicaDatabaseFileExistenceValidator.cs | 26 + .../Management/HadrModel/AddReplicaTask.cs | 117 + ...istingAvailabilityGroupScenarioProvider.cs | 205 + ...abilityGroupNotJoinedOnReplicaException.cs | 26 + .../AvailabilityGroupQuorumValidationTask.cs | 73 + ...ilityGroupQuorumValidationTaskException.cs | 33 + .../AvailabilityModeIncompatibleException.cs | 23 + .../HadrModel/AvailabilityModeValidator.cs | 64 + .../HadrModel/BackupDatabaseTask.cs | 187 + .../HadrModel/BackupDatabaseTaskException.cs | 30 + .../HadrModel/BackupLocationValidator.cs | 234 + .../Management/HadrModel/BackupLogTask.cs | 155 + .../HadrModel/BackupLogTaskException.cs | 30 + ...cAvailabilityGroupIncompatibleException.cs | 23 + .../BasicAvailabilityGroupValidator.cs | 70 + .../Management/HadrModel/ClusterNodeState.cs | 37 + .../CompatibleEncryptionValidator.cs | 153 + .../HadrModel/ConfigureEndpointsTask.cs | 85 + ...labilityGroupDatabaseExistenceValidator.cs | 27 + ...GroupDatabaseFileCompatibilityValidator.cs | 27 + ...lityGroupDatabaseFileExistenceValidator.cs | 26 + .../CreateAvailabilityGroupListenerTask.cs | 120 + ...CreateAvailabilityGroupScenarioProvider.cs | 239 + .../HadrModel/CreateAvailabilityGroupTask.cs | 131 + .../Management/HadrModel/CreateLoginTask.cs | 77 + .../HadrModel/DBMasterKeyValidator.cs | 70 + .../DatabaseAlreadyExistsException.cs | 27 + .../HadrModel/DatabaseExistenceValidator.cs | 91 + ...baseFileAlreadyExistsOnReplicaException.cs | 26 + .../DatabaseFileCompatibilityValidator.cs | 171 + .../DatabaseFileExistenceValidator.cs | 112 + ...seFileLocationMissingOnReplicaException.cs | 26 + ...abaseFileNotInDefaultDirectoryException.cs | 26 + .../DriveNotFoundOnReplicaException.cs | 28 + ...itExistingAvailabilityGroupListenerTask.cs | 105 + .../EncryptionAlgorithmMismatchException.cs | 22 + .../HadrModel/EncryptionMismatchException.cs | 22 + ...dpointAuthenticationValidationException.cs | 34 + .../EndpointAuthenticationValidator.cs | 79 + ...ailoverQuorumVoteConfigurationValidator.cs | 46 + .../HadrModel/FailoverScenarioProvider.cs | 77 + .../Management/HadrModel/FailoverTask.cs | 81 + .../HadrModel/FailoverValidationException.cs | 40 + .../Management/HadrModel/FailoverValidator.cs | 60 + .../HadrModel/FailoverWaitRoleChangeTask.cs | 50 + .../HadrModel/FeatureInstallationState.cs | 26 + .../HadrModel/FixedRetryCountPolicy.cs | 92 + .../HadrModel/FixedTimeoutRetryPolicy.cs | 98 + .../HadrModel/FreeDiskSpaceValidator.cs | 160 + .../HadrModel/GroupUserMembership.cs | 26 + .../HadrModel/HADRValidationBaseException.cs | 32 + .../HadrModel/HadrModelUtilities.cs | 75 + .../HadrModel/HadrTaskBaseException.cs | 32 + .../HadrModel/HadrTaskErrorException.cs | 32 + .../HadrModel/HadrValidationErrorException.cs | 32 + .../HadrValidationWarningException.cs | 32 + .../Management/HadrModel/IExecutionPolicy.cs | 40 + .../Management/HadrModel/IScriptableTask.cs | 28 + .../Management/HadrModel/ITasksProvider.cs | 19 + .../HadrModel/IValidatorProvider.cs | 20 + ...cientFreeSpaceForDatabaseFilesException.cs | 24 + .../InvalidAvailabilityGroupException.cs | 24 + ...oinDatabaseToAvailabilityGroupException.cs | 22 + .../JoinDatabaseToAvailabilityGroupTask.cs | 163 + .../HadrModel/JoinSecondariesTask.cs | 100 + .../ListenerConfigurationException.cs | 19 + .../ListenerConfigurationValidator.cs | 49 + .../HadrModel/MaxHostedServicesException.cs | 35 + ...soft.SqlServer.Management.HadrModel.csproj | 25 + .../Management/HadrModel/ModelDelegates.cs | 33 + .../HadrModel/PercentCompleteHandler.cs | 64 + .../PrimaryCannotWriteToLocationException.cs | 36 + .../HadrModel/Properties/AssemblyInfo.cs | 11 + .../Management/HadrModel/QuorumHelper.cs | 131 + .../HadrModel/QuorumHelperException.cs | 30 + .../Management/HadrModel/Resource.Designer.cs | 1224 +++ .../Management/HadrModel/Resource.resx | 513 + .../HadrModel/RestartSqlServerException.cs | 24 + .../HadrModel/RestoreDatabaseTask.cs | 213 + .../HadrModel/RestoreDatabaseTaskException.cs | 22 + .../Management/HadrModel/RestoreLogTask.cs | 182 + .../HadrModel/RestoreLogTaskException.cs | 22 + .../Management/HadrModel/RunOncePolicy.cs | 74 + .../Management/HadrModel/ScenarioProvider.cs | 55 + .../SecondaryCannotReadLocationException.cs | 36 + .../ServiceOperationStatusException.cs | 31 + .../HadrModel/ShareValidationException.cs | 34 + .../HadrModel/SqlServerConnectionException.cs | 23 + .../StartAlwaysOnXeventSessionTask.cs | 93 + .../HadrModel/StringExtensionMethods.cs | 82 + .../SqlServer/Management/HadrModel/Task.cs | 247 + .../Management/HadrModel/TaskEventArgs.cs | 64 + .../Management/HadrModel/TaskEventStatus.cs | 39 + .../UpdateAvailabilityGroupListenerTask.cs | 120 + .../Management/HadrModel/Validator.cs | 119 + .../HadrModel/ValidatorEventArgs.cs | 65 + .../WaitForAvailabilityGroupOnlineTask.cs | 67 + .../Management/PolicyEnum/FxCopExclusions.cs | 10 + .../Microsoft.SqlServer.PolicyEnum.csproj | 70 + .../Management/PolicyEnum/PolicyEnum.cs | 8 + .../Management/PolicyEnum/PolicyObject.cs | 26 + .../Management/PolicyEnum/xml/Condition.xml | 24 + .../xml/ConnectionEvaluationHistory.xml | 18 + .../PolicyEnum/xml/EvaluationDetail.xml | 19 + .../PolicyEnum/xml/EvaluationHistory.xml | 19 + .../Management/PolicyEnum/xml/ObjectSet.xml | 18 + .../Management/PolicyEnum/xml/Policy.xml | 52 + .../PolicyEnum/xml/PolicyCategory.xml | 12 + .../xml/PolicyCategorySubscription.xml | 14 + .../Management/PolicyEnum/xml/PolicyStore.xml | 23 + .../PolicyEnum/xml/TargetFilter.xml | 17 + .../Management/PolicyEnum/xml/TargetSet.xml | 23 + .../PolicyEnum/xml/TargetSetLevel.xml | 24 + .../Management/PolicyEnum/xml/inc_urn.xml | 14 + .../Management/PolicyEnum/xml/inc_urnByID.xml | 14 + .../AzureDataStudioConnection.cs | 45 + .../AzureDataStudioConnectionStore.cs | 74 + .../AzureStudioConnectionGroup.cs | 44 + ...Server.Management.RegisteredServers.csproj | 41 + .../RegisteredServers/RegSvrStrings.strings | 46 + .../RegisteredServers/RegisteredServer.cs | 1326 +++ .../RegisteredServerCollection.cs | 66 + .../RegisteredServerException.cs | 160 + .../RegisteredServersEnumerator.cs | 61 + .../RegisteredServersStore.cs | 1297 +++ .../RegisteredServers/ServerGroup.cs | 1448 +++ .../ServerGroupCollection.cs | 65 + .../xml/RegisteredServer.xml | 20 + .../xml/RegisteredServersStore.xml | 15 + .../RegisteredServers/xml/ServerGroup.xml | 19 + .../RegisteredServers/xml/inc_urn.xml | 14 + .../Management/Sdk/Sfc/AlienSupport.cs | 85 + .../Management/Sdk/Sfc/AssemblyInfo.cs | 7 + .../Management/Sdk/Sfc/CollectionInfo.cs | 37 + .../Management/Sdk/Sfc/CrudInterfaces.cs | 84 + .../Differencing/API/DifferencingService.cs | 157 + .../Sdk/Sfc/Differencing/API/IDifferencer.cs | 93 + .../Sdk/Sfc/Differencing/API/IDiffgram.cs | 82 + .../Sdk/Sfc/Differencing/Differencing.vsmdi | 6 + .../Sdk/Sfc/Differencing/Impl/Differencer.cs | 1415 +++ .../Sdk/Sfc/Differencing/Impl/Diffgram.cs | 169 + .../Differencing/LocalTestRun.testrunconfig | 5 + .../SPI/MetadataNodeItemNamesProvider.cs | 131 + .../Sfc/Differencing/SPI/ProviderRegistry.cs | 329 + .../Sdk/Sfc/Differencing/SPI/Providers.cs | 221 + .../Differencing/StringDifferencing.strings | 39 + .../Management/Sdk/Sfc/Enumerator/AstNode.cs | 42 + .../Management/Sdk/Sfc/Enumerator/Axis.cs | 119 + .../Sdk/Sfc/Enumerator/ConditionedSql.cs | 284 + .../Sdk/Sfc/Enumerator/DataProvider.cs | 767 ++ .../Sdk/Sfc/Enumerator/Depedencies.cs | 180 + .../Sdk/Sfc/Enumerator/EnumObject.CS | 356 + .../Sdk/Sfc/Enumerator/EnumeratorException.CS | 486 + .../Sdk/Sfc/Enumerator/Enviroment.CS | 236 + .../Management/Sdk/Sfc/Enumerator/Filter.cs | 31 + .../Sdk/Sfc/Enumerator/FilterNode.cs | 807 ++ .../Sdk/Sfc/Enumerator/FilterTranslate.cs | 128 + .../Management/Sdk/Sfc/Enumerator/Function.cs | 158 + .../Sdk/Sfc/Enumerator/FxCopExclusions.cs | 40 + .../Management/Sdk/Sfc/Enumerator/Group.cs | 32 + .../Sdk/Sfc/Enumerator/ObjectCache.cs | 534 + .../Sdk/Sfc/Enumerator/ObjectInfo.cs | 73 + .../Sfc/Enumerator/ObjectLoadInfoManager.cs | 366 + .../Sdk/Sfc/Enumerator/ObjectProperty.cs | 249 + .../Management/Sdk/Sfc/Enumerator/Operand.cs | 47 + .../Management/Sdk/Sfc/Enumerator/Operator.cs | 112 + .../Sdk/Sfc/Enumerator/PostProcess.cs | 251 + .../Sdk/Sfc/Enumerator/RequestDependencies.cs | 47 + .../Sdk/Sfc/Enumerator/RequestObjectInfo.cs | 98 + .../Sdk/Sfc/Enumerator/RequestParentSelect.cs | 40 + .../Management/Sdk/Sfc/Enumerator/Root.cs | 18 + .../Sfc/Enumerator/SqlConditionedStatement.cs | 138 + .../Sdk/Sfc/Enumerator/SqlLinkMultiple.cs | 160 + .../Sdk/Sfc/Enumerator/SqlObject.cs | 206 + .../Sdk/Sfc/Enumerator/SqlObjectBase.cs | 1063 ++ .../Sdk/Sfc/Enumerator/SqlObjectProperty.cs | 171 + .../Sdk/Sfc/Enumerator/SqlParentLink.cs | 86 + .../Sdk/Sfc/Enumerator/SqlPostProcess.cs | 118 + .../Sdk/Sfc/Enumerator/SqlPropertyLink.cs | 206 + .../Sdk/Sfc/Enumerator/SqlRequest.cs | 93 + .../Management/Sdk/Sfc/Enumerator/Util.cs | 326 + .../Sdk/Sfc/Enumerator/XPathException.cs | 244 + .../Sdk/Sfc/Enumerator/XPathExpresionBlock.cs | 302 + .../Sdk/Sfc/Enumerator/XPathHandler.cs | 932 ++ .../Sdk/Sfc/Enumerator/XPathNodeType.cs | 20 + .../Sdk/Sfc/Enumerator/XPathScanner.cs | 621 ++ .../Sdk/Sfc/Enumerator/XmlCharType.cs | 305 + .../Management/Sdk/Sfc/Enumerator/XmlRead.cs | 1669 +++ .../Management/Sdk/Sfc/Enumerator/XmlUtil.CS | 227 + .../Sdk/Sfc/Enumerator/enumerator.cs | 393 + .../Sdk/Sfc/Enumerator/enumresult.cs | 184 + .../Sdk/Sfc/Enumerator/executesql.cs | 515 + .../Sdk/Sfc/Enumerator/filterdecoder.cs | 319 + .../Sdk/Sfc/Enumerator/interfaces.cs | 87 + .../Management/Sdk/Sfc/Enumerator/request.cs | 444 + .../Sdk/Sfc/Enumerator/sqlenumresult.cs | 357 + .../Sdk/Sfc/Enumerator/statementbuilder.cs | 592 ++ .../Management/Sdk/Sfc/Enumerator/urn.cs | 554 + .../Sdk/Sfc/Enumerator/xml/Config.xml | 1044 ++ .../Sdk/Sfc/Enumerator/xpathexpresion.cs | 246 + .../SqlServer/Management/Sdk/Sfc/Exception.cs | 1186 +++ .../Management/Sdk/Sfc/FxCopExclusions.cs | 84 + .../Management/Sdk/Sfc/ISfcDomain.cs | 82 + .../Management/Sdk/Sfc/ISfcExecutionEngine.cs | 17 + .../Sdk/Sfc/ISfcNotifyPropertyChanged.cs | 24 + .../Management/Sdk/Sfc/ISfcProperty.cs | 58 + .../Sdk/Sfc/ISfcPropertyProvider.cs | 21 + .../Management/Sdk/Sfc/ISfcPropertySet.cs | 68 + .../Management/Sdk/Sfc/ISfcScriptCollector.cs | 26 + .../Management/Sdk/Sfc/ISfcSimpleNode.cs | 67 + .../Management/Sdk/Sfc/ISfcStorageProvider.cs | 54 + .../Sdk/Sfc/ISfcSupportsDesignMode.cs | 17 + .../Management/Sdk/Sfc/ISfcscript.cs | 18 + .../Sdk/Sfc/LocalizableTypeConverter.cs | 1813 ++++ ...rosoft.SqlServer.Management.Sdk.Sfc.csproj | 36 + .../Management/Sdk/Sfc/NetCoreExtension.cs | 66 + .../Sdk/Sfc/NonSfcObjectIterator.cs | 58 + .../Management/Sdk/Sfc/ReadOnlyDictionary.cs | 221 + .../Management/Sdk/Sfc/ReadOnlyList.cs | 160 + .../Management/Sdk/Sfc/ReadonlyInterfaces.cs | 218 + .../Sfc/SQLToolsTraceListenerCollection.cs | 235 + .../Management/Sdk/Sfc/Serializer.cs | 1207 +++ .../Management/Sdk/Sfc/SfcApplication.cs | 317 + .../Management/Sdk/Sfc/SfcAttributes.cs | 1516 +++ .../SqlServer/Management/Sdk/Sfc/SfcCache.cs | 568 ++ .../Sdk/Sfc/SfcCollatedDictionaryBase.cs | 291 + .../Management/Sdk/Sfc/SfcCollection.cs | 563 ++ .../Management/Sdk/Sfc/SfcConnection.cs | 228 + .../Management/Sdk/Sfc/SfcDependency.cs | 1468 +++ .../Management/Sdk/Sfc/SfcDictionaryBase.cs | 166 + .../Management/Sdk/Sfc/SfcExecutionEngine.cs | 196 + .../Management/Sdk/Sfc/SfcInstance.cs | 1678 +++ .../SqlServer/Management/Sdk/Sfc/SfcKey.cs | 1311 +++ .../Management/Sdk/Sfc/SfcListBase.cs | 181 + .../Management/Sdk/Sfc/SfcMetadata.cs | 1655 +++ .../Sdk/Sfc/SfcMetadataException.cs | 58 + .../Management/Sdk/Sfc/SfcObjectExtender.cs | 607 ++ .../Management/Sdk/Sfc/SfcObjectFactory.cs | 40 + .../Management/Sdk/Sfc/SfcObjectIterator.cs | 387 + .../Management/Sdk/Sfc/SfcObjectQuery.cs | 192 + .../SqlServer/Management/Sdk/Sfc/SfcPath.cs | 243 + .../Management/Sdk/Sfc/SfcProperty.cs | 658 ++ .../Management/Sdk/Sfc/SfcQueryExpression.cs | 103 + .../Sdk/Sfc/SfcReferenceCollection.cs | 162 + .../Management/Sdk/Sfc/SfcRegistration.cs | 508 + .../Sdk/Sfc/SfcSerializationAdapter.cs | 30 + .../Sdk/Sfc/SfcSerializerUpgrade.cs | 156 + .../Management/Sdk/Sfc/SfcSimpleNode.cs | 439 + .../Sdk/Sfc/SfcSimpleNodeAdapter.cs | 276 + .../Management/Sdk/Sfc/SfcStrings.strings | 168 + .../Sdk/Sfc/SfcTsqlProcFormatter.cs | 469 + .../Management/Sdk/Sfc/SfcValidation.cs | 340 + .../Management/Sdk/Sfc/SmoManagementUtil.cs | 99 + .../Management/Sdk/Sfc/SqlStoreConnection.cs | 168 + .../Management/Sdk/Sfc/TraceHelper.cs | 125 + .../Management/Sdk/Sfc/TypeMetadata.cs | 14 + .../SqlServer/Management/Sdk/Sfc/Util.cs | 491 + .../Management/Sdk/Sfc/connectionhelpers.cs | 174 + .../SqlServer/Management/Sdk/Sfc/dmf.cs | 83 + .../Management/Smo.Broker/AssemblyInfo.cs | 7 + .../Management/Smo.Broker/FxCopExclusions.cs | 12 + ...crosoft.SqlServer.ServiceBrokerEnum.csproj | 75 + .../Smo.Broker/ServiceBrokerEnum.cs | 41 + .../Smo.Broker/ServiceBrokerSqlObject.cs | 131 + .../Smo.Broker/xml/BrokerPriority.xml | 18 + .../Smo.Broker/xml/BrokerService.xml | 26 + .../Management/Smo.Broker/xml/MessageType.xml | 30 + .../Smo.Broker/xml/MessageTypeMapping.xml | 21 + .../Smo.Broker/xml/RemoteServiceBinding.xml | 24 + .../Smo.Broker/xml/ServiceBroker.xml | 25 + .../Smo.Broker/xml/ServiceContract.xml | 22 + .../Smo.Broker/xml/ServiceContractMapping.xml | 16 + .../Smo.Broker/xml/ServiceQueues.xml | 50 + .../Smo.Broker/xml/ServiceRoute.xml | 25 + .../Smo.Broker/xml/inc_ext_prop.xml | 13 + .../xml/inc_policy_health_state.xml | 31 + .../Management/Smo.Broker/xml/inc_urn.xml | 14 + .../Smo.Broker/xml/inc_urn_schema.xml | 15 + .../Management/Smo.Extended/Backup.cs | 836 ++ .../Smo.Extended/BackupEncryptionOptions.cs | 220 + .../Smo.Extended/BackupRestoreBase.cs | 1498 +++ .../Smo.Extended/DataTransferBase.cs | 334 + .../Smo.Extended/DatabaseRestorePlanner.cs | 1113 ++ .../DatabaseRestorePlannerSR.strings | 23 + .../Smo.Extended/DependencyObject.cs | 232 + .../Microsoft.SqlServer.SmoExtended.csproj | 29 + .../Management/Smo.Extended/NetCoreHelpers.cs | 55 + .../Smo.Extended/PageRestorePlanner.cs | 354 + .../Management/Smo.Extended/Prefetch.cs | 615 ++ .../Management/Smo.Extended/Restore.cs | 1367 +++ .../Management/Smo.Extended/RestoreOptions.cs | 225 + .../Management/Smo.Extended/RestorePlan.cs | 782 ++ .../Management/Smo.Extended/Transfer.cs | 870 ++ .../Management/Smo.Extended/TransferBase.cs | 1615 +++ .../Smo.Extended/TransferInterfaces.cs | 64 + .../Management/Smo.Extended/TransferWriter.cs | 338 + .../Management/Smo.Notebook/CellModel.cs | 39 + .../Management/Smo.Notebook/CodeCellModel.cs | 30 + .../Smo.Notebook/MarkdownCellModel.cs | 19 + .../Microsoft.SqlServer.Smo.Notebook.csproj | 15 + .../Smo.Notebook/NotebookFileWriter.cs | 117 + .../Management/Smo.Notebook/NotebookModel.cs | 47 + .../Management/Smo.Notebook/SmoNotebook.cs | 117 + .../Management/Smo.RegSvrEnum/Crypto.cs | 216 + .../Management/Smo.RegSvrEnum/Delegates.cs | 54 + .../Smo.RegSvrEnum/EnumRegisteredServer.cs | 590 ++ .../Smo.RegSvrEnum/FxCopExclusions.cs | 12 + .../Smo.RegSvrEnum/GroupRegistrationInfo.cs | 30 + .../Microsoft.SqlServer.RegSvrEnum.csproj | 15 + .../Smo.RegSvrEnum/ParentRegistrationInfo.cs | 85 + .../Smo.RegSvrEnum/RegServersException.cs | 50 + .../Smo.RegSvrEnum/RegistrationInfo.cs | 365 + .../RegistrationInfoCollection.cs | 215 + .../Smo.RegSvrEnum/RegistrationProvider.cs | 703 ++ .../Management/Smo.RegSvrEnum/SRError.strings | 68 + .../ServerInstanceRegistrationInfo.cs | 70 + .../ServerTypeRegistrationInfo.cs | 34 + .../Management/Smo.RegSvrEnum/Tracing.cs | 20 + .../Smo.RegSvrEnum/UIConnectionGroupInfo.cs | 116 + .../Smo.RegSvrEnum/UIConnectionInfo.cs | 852 ++ .../Management/Smo.RegSvrEnum/Utils.cs | 40 + .../Management/Smo.Wmi/ClientProtocol.cs | 106 + .../Management/Smo.Wmi/ClientProtocolBase.cs | 149 + .../Collections/ClientProtocolCollection.cs | 257 + .../Collections/ServerIPAddressCollection.cs | 257 + .../Collections/ServerInstanceCollection.cs | 257 + .../Collections/ServerProtocolCollection.cs | 257 + .../Collections/ServiceAliasCollection.cs | 257 + .../Smo.Wmi/Collections/ServiceCollection.cs | 257 + .../Management/Smo.Wmi/ManagedComputer.cs | 515 + ...icrosoft.SqlServer.SqlWmiManagement.csproj | 71 + .../Management/Smo.Wmi/ProtocolBase.cs | 134 + .../Smo.Wmi/ProtocolPropertyCollection.cs | 325 + .../Management/Smo.Wmi/ServerAlias.cs | 102 + .../Management/Smo.Wmi/ServerAliasBase.cs | 141 + .../Management/Smo.Wmi/ServerIPAddress.cs | 53 + .../Management/Smo.Wmi/ServerIPAddressBase.cs | 116 + .../Management/Smo.Wmi/ServerInstance.cs | 53 + .../Management/Smo.Wmi/ServerInstanceBase.cs | 34 + .../Management/Smo.Wmi/ServerProtocol.cs | 91 + .../Management/Smo.Wmi/ServerProtocolBase.cs | 112 + .../SqlServer/Management/Smo.Wmi/Service.cs | 229 + .../Management/Smo.Wmi/ServiceBase.cs | 480 + .../Management/Smo.Wmi/WmiCollectionBase.cs | 78 + .../Smo.Wmi/WmiCollectionTemplate.cs | 234 + .../Management/Smo.Wmi/WmiMgmt.strings | 706 ++ .../Management/Smo.Wmi/WmiSmoObject.cs | 809 ++ .../Management/Smo.Wmi/coll_macros.h | 21 + .../Management/Smo.WmiEnum/CNetLibInfo.cs | 30 + .../Management/Smo.WmiEnum/ClientProtocol.cs | 46 + .../Smo.WmiEnum/ClientProtocolProperties.cs | 28 + .../Management/Smo.WmiEnum/FxCopExclusions.cs | 6 + .../Management/Smo.WmiEnum/ManagedComputer.cs | 68 + .../Microsoft.SqlServer.WmiEnum.csproj | 20 + .../Smo.WmiEnum/ProtocolPropertiesBase.cs | 83 + .../Management/Smo.WmiEnum/SAlias.cs | 27 + .../Management/Smo.WmiEnum/ServerInstance.cs | 31 + .../Management/Smo.WmiEnum/ServerProtocol.cs | 67 + .../Smo.WmiEnum/ServerProtocolIPAddress.cs | 60 + .../ServerProtocolIPAddressProperty.cs | 26 + .../Smo.WmiEnum/ServerProtocolProperties.cs | 23 + .../Management/Smo.WmiEnum/Service.cs | 99 + .../Smo.WmiEnum/ServiceAdvancedProperty.cs | 64 + .../Smo.WmiEnum/StringWmiEnumerator.strings | 23 + .../Management/Smo.WmiEnum/WmiBase.cs | 223 + .../Management/Smo.WmiEnum/WmiEnum.cs | 57 + .../Management/Smo.WmiEnum/WmiProperty.cs | 50 + .../Management/Smo.WmiEnum/wmienumresult.cs | 30 + .../Management/Smo.WmiEnum/wmirequest.cs | 18 + .../Management/Smo/AbstractCollectionBase.cs | 80 + .../SqlServer/Management/Smo/AffinityInfo.cs | 311 + .../Management/Smo/AffinityInfoBase.cs | 176 + .../Management/Smo/AffinityInfoCollection.cs | 1091 ++ .../SqlServer/Management/Smo/AlertBase.cs | 455 + .../Management/Smo/AlertCategoryBase.cs | 34 + .../Management/Smo/AlertSystemBase.cs | 115 + .../SqlServer/Management/Smo/Application.cs | 823 ++ .../Management/Smo/ApplicationRoleBase.cs | 388 + .../SqlServer/Management/Smo/AssemblyInfo.cs | 7 + .../Management/Smo/AsymmetricKeyBase.cs | 537 + .../SqlServer/Management/Smo/AuditBase.cs | 668 ++ .../SqlServer/Management/Smo/AuditExtender.cs | 52 + .../Management/Smo/AuditSpecification.cs | 687 ++ .../Smo/AvailabilityDatabaseBase.cs | 327 + .../Management/Smo/AvailabilityGroupBase.cs | 1173 +++ .../Smo/AvailabilityGroupListenerBase.cs | 507 + .../AvailabilityGroupListenerIPAddressBase.cs | 411 + ...ityGroupListenerIPAddressCollectionBase.cs | 173 + .../Management/Smo/AvailabilityReplicaBase.cs | 1114 ++ .../Management/Smo/BackupDeviceBase.cs | 192 + .../SqlServer/Management/Smo/BackupMedia.cs | 712 ++ .../SqlServer/Management/Smo/BackupSet.cs | 1420 +++ .../Management/Smo/BackupSetCollection.cs | 191 + .../Smo/BrokerLocalizableResources.strings | 191 + .../Management/Smo/BrokerPriorityBase.cs | 163 + .../Management/Smo/BrokerServiceBase.cs | 276 + .../SqlServer/Management/Smo/CPUBase.cs | 84 + .../SqlServer/Management/Smo/CategoryBase.cs | 166 + .../Management/Smo/CertificateBase.cs | 679 ++ .../SqlServer/Management/Smo/CheckBase.cs | 374 + .../SqlServer/Management/Smo/CollationInfo.cs | 5682 +++++++++++ .../Management/Smo/CollectionBase.cs | 178 + .../Collections/AlertCategoryCollection.cs | 249 + .../Smo/Collections/AlertCollection.cs | 250 + .../Collections/ApplicationRoleCollection.cs | 249 + .../Collections/AsymmetricKeyCollection.cs | 249 + .../Smo/Collections/AuditCollection.cs | 249 + .../AvailabilityDatabaseCollection.cs | 249 + .../AvailabilityGroupCollection.cs | 249 + .../AvailabilityGroupListenerCollection.cs | 249 + ...abilityGroupListenerIPAddressCollection.cs | 120 + .../AvailabilityReplicaCollection.cs | 249 + .../Smo/Collections/BackupDeviceCollection.cs | 249 + .../Collections/BrokerPriorityCollection.cs | 249 + .../Collections/BrokerServiceCollection.cs | 249 + .../Smo/Collections/CertificateCollection.cs | 249 + .../Smo/Collections/CheckCollection.cs | 249 + .../Smo/Collections/ColumnCollection.cs | 148 + .../ColumnEncryptionKeyCollection.cs | 249 + .../ColumnEncryptionKeyValueCollection.cs | 87 + .../Collections/ColumnMasterKeyCollection.cs | 249 + .../ConfigurationValueCollection.cs | 249 + .../Smo/Collections/CredentialCollection.cs | 249 + .../CryptographicProviderCollection.cs | 249 + .../Smo/Collections/DataFileCollection.cs | 249 + .../DatabaseAuditSpecificationCollection.cs | 249 + .../Smo/Collections/DatabaseCollection.cs | 240 + .../DatabaseDdlTriggerCollection.cs | 249 + .../DatabaseReplicaStateCollection.cs | 136 + .../Smo/Collections/DatabaseRoleCollection.cs | 249 + .../DatabaseScopedConfigurationCollection.cs | 138 + .../DatabaseScopedCredentialCollection.cs | 249 + .../Smo/Collections/DefaultCollection.cs | 170 + .../Smo/Collections/EdgeCollection.cs | 253 + .../EdgeConstraintClauseCollection.cs | 249 + .../Collections/EdgeConstraintCollection.cs | 249 + .../Smo/Collections/EndpointCollection.cs | 249 + .../Collections/ExtendedPropertyCollection.cs | 249 + .../ExtendedStoredProcedureCollection.cs | 170 + .../ExternalDataSourceCollection.cs | 249 + .../ExternalFileFormatCollection.cs | 249 + .../Collections/ExternalLanguageCollection.cs | 249 + .../ExternalLanguageFileCollection.cs | 249 + .../Collections/ExternalLibraryCollection.cs | 249 + .../ExternalResourcePoolCollection.cs | 249 + .../Collections/ExternalStreamCollection.cs | 249 + .../ExternalStreamingJobCollection.cs | 249 + .../Smo/Collections/FileGroupCollection.cs | 249 + .../Smo/Collections/ForeignKeyCollection.cs | 249 + .../Collections/ForeignKeyColumnCollection.cs | 148 + .../Collections/FullTextCatalogCollection.cs | 249 + .../FullTextIndexColumnCollection.cs | 249 + .../Collections/FullTextStopListCollection.cs | 249 + .../Smo/Collections/IndexCollection.cs | 249 + .../Collections/IndexedColumnCollection.cs | 148 + .../Collections/IndexedXmlPathCollection.cs | 148 + .../IndexedXmlPathNamespaceCollection.cs | 249 + .../Smo/Collections/JobCategoryCollection.cs | 249 + .../Smo/Collections/JobScheduleCollection.cs | 130 + .../Smo/Collections/JobStepCollection.cs | 148 + .../Smo/Collections/LanguageCollection.cs | 249 + .../Smo/Collections/LinkedServerCollection.cs | 249 + .../LinkedServerLoginCollection.cs | 249 + .../Smo/Collections/LogFileCollection.cs | 249 + .../Smo/Collections/LoginCollection.cs | 249 + .../Smo/Collections/MailAccountCollection.cs | 249 + .../Smo/Collections/MailProfileCollection.cs | 249 + .../Smo/Collections/MailServerCollection.cs | 249 + .../Smo/Collections/MessageTypeCollection.cs | 249 + .../MessageTypeMappingCollection.cs | 249 + .../NumberedStoredProcedureCollection.cs | 111 + ...beredStoredProcedureParameterCollection.cs | 148 + .../OleDbProviderSettingsCollection.cs | 249 + .../Collections/OperatorCategoryCollection.cs | 249 + .../Smo/Collections/OperatorCollection.cs | 250 + .../Smo/Collections/OrderColumnCollection.cs | 148 + .../PartitionFunctionCollection.cs | 249 + .../PartitionFunctionParameterCollection.cs | 148 + .../Collections/PartitionSchemeCollection.cs | 249 + .../PartitionSchemeParameterCollection.cs | 148 + .../PhysicalPartitionCollection.cs | 110 + .../Smo/Collections/PlanGuideCollection.cs | 249 + .../Smo/Collections/ProxyAccountCollection.cs | 249 + .../RemoteServiceBindingCollection.cs | 249 + .../Smo/Collections/ResourcePoolCollection.cs | 249 + .../Collections/ResumableIndexCollection.cs | 249 + .../Smo/Collections/RuleCollection.cs | 170 + .../Smo/Collections/SchemaCollection.cs | 249 + .../Collections/SearchPropertyCollection.cs | 249 + .../SearchPropertyListCollection.cs | 249 + .../Collections/SecurityPolicyCollection.cs | 170 + .../SecurityPredicateCollection.cs | 86 + .../SensitivityClassificationCollection.cs | 256 + .../Smo/Collections/SequenceCollection.cs | 170 + .../ServerAuditSpecificationCollection.cs | 249 + .../Collections/ServerDdlTriggerCollection.cs | 249 + .../Smo/Collections/ServerRoleCollection.cs | 249 + .../Collections/ServiceContractCollection.cs | 249 + .../ServiceContractMappingCollection.cs | 249 + .../Smo/Collections/ServiceQueueCollection.cs | 170 + .../Smo/Collections/ServiceRouteCollection.cs | 249 + .../SoapPayloadMethodCollection.cs | 114 + .../Smo/Collections/SqlAssemblyCollection.cs | 249 + .../Collections/SqlAssemblyFileCollection.cs | 249 + .../Smo/Collections/StatisticCollection.cs | 249 + .../Collections/StatisticColumnCollection.cs | 148 + .../Collections/StoredProcedureCollection.cs | 170 + .../StoredProcedureParameterCollection.cs | 148 + .../Smo/Collections/SymmetricKeyCollection.cs | 249 + .../Smo/Collections/SynonymCollection.cs | 170 + .../Collections/SystemDataTypeCollection.cs | 249 + .../Collections/SystemMessageCollection.cs | 123 + .../Smo/Collections/TableCollection.cs | 170 + .../Smo/Collections/TargetServerCollection.cs | 249 + .../TargetServerGroupCollection.cs | 249 + .../Smo/Collections/TriggerCollection.cs | 249 + .../Smo/Collections/UserCollection.cs | 249 + .../UserDefinedAggregateCollection.cs | 170 + ...UserDefinedAggregateParameterCollection.cs | 148 + .../UserDefinedDataTypeCollection.cs | 170 + .../UserDefinedFunctionCollection.cs | 170 + .../UserDefinedFunctionParameterCollection.cs | 148 + .../UserDefinedMessageCollection.cs | 123 + .../UserDefinedTableTypeCollection.cs | 170 + .../Collections/UserDefinedTypeCollection.cs | 170 + .../Smo/Collections/ViewCollection.cs | 170 + .../Collections/WorkloadGroupCollection.cs | 249 + ...dManagementWorkloadClassifierCollection.cs | 249 + ...rkloadManagementWorkloadGroupCollection.cs | 249 + .../XmlSchemaCollectionCollection.cs | 170 + .../SqlServer/Management/Smo/ColumnBase.cs | 2225 ++++ .../Management/Smo/ColumnEncryptionKeyBase.cs | 448 + .../Smo/ColumnEncryptionKeyValueBase.cs | 266 + .../ColumnEncryptionKeyValueCollectionBase.cs | 111 + .../Management/Smo/ColumnMasterKeyBase.cs | 363 + .../Management/Smo/ConfigProperty.cs | 295 + .../SqlServer/Management/Smo/Configuration.cs | 821 ++ .../Management/Smo/ConfigurationBase.cs | 261 + .../Management/Smo/ConfigurationValueBase.cs | 88 + .../Management/Smo/ContractExtender.cs | 40 + .../Management/Smo/CredentialBase.cs | 363 + .../Smo/CryptographicProviderBase.cs | 391 + .../Smo/DataClassificationScriptGenerator.cs | 261 + .../Management/Smo/DataEnumerator.cs | 1109 ++ .../Management/Smo/DataScriptCollection.cs | 86 + .../SqlServer/Management/Smo/DataType.cs | 1952 ++++ .../Smo/DatabaseAuditSpecificationExtender.cs | 167 + .../Smo/DatabaseAuditSpecificationbase.cs | 51 + .../SqlServer/Management/Smo/DatabaseBase.cs | 6879 +++++++++++++ .../Management/Smo/DatabaseDdlTriggerBase.cs | 296 + .../Smo/DatabaseEncryptionKeyBase.cs | 358 + .../Smo/DatabaseEncryptionKeyExtender.cs | 191 + .../Smo/DatabaseFileMappingsDictionary.cs | 62 + .../Smo/DatabaseMirroringPayloadBase.cs | 53 + .../Management/Smo/DatabaseOptionsBase.cs | 570 ++ .../Management/Smo/DatabasePrefetch.cs | 1027 ++ .../Smo/DatabaseReplicaStateBase.cs | 59 + .../Smo/DatabaseReplicaStateCollectionBase.cs | 156 + .../Management/Smo/DatabaseRoleBase.cs | 601 ++ .../Smo/DatabaseScopedConfigurationBase.cs | 54 + .../Smo/DatabaseScopedCredentialBase.cs | 309 + .../Management/Smo/DdlTriggerBase.cs | 468 + .../SqlServer/Management/Smo/DefaultBase.cs | 53 + .../Management/Smo/DefaultConstraintBase.cs | 404 + .../Management/Smo/DefaultRuleBase.cs | 573 ++ .../Management/Smo/DependencyList.cs | 215 + .../Management/Smo/DependencyTree.cs | 418 + .../Management/Smo/DependencyWalker.cs | 403 + .../Management/Smo/DistributionColumnBase.cs | 26 + .../Management/Smo/EdgeConstraintBase.cs | 409 + .../Smo/EdgeConstraintClauseBase.cs | 85 + .../SqlServer/Management/Smo/EndpointBase.cs | 943 ++ .../Management/Smo/EnumerableContainer.cs | 124 + .../Management/Smo/EnumeratorContainer.cs | 191 + .../Management/Smo/ExceptionTemplates.cs | 31 + .../Smo/ExceptionTemplatesImpl.strings | 1338 +++ .../Management/Smo/ExecutionManager.cs | 1048 ++ .../Management/Smo/ExtendedPropertyBase.cs | 637 ++ .../Smo/ExtendedStoredProcedureBase.cs | 182 + .../Management/Smo/ExtensionClass.cs | 40 + .../Management/Smo/ExternalDataSourceBase.cs | 698 ++ .../Management/Smo/ExternalFileFormatBase.cs | 459 + .../Management/Smo/ExternalLanguageBase.cs | 592 ++ .../Smo/ExternalLanguageFileBase.cs | 110 + .../Management/Smo/ExternalLibraryBase.cs | 414 + .../Management/Smo/ExternalLibraryFileBase.cs | 134 + .../Smo/ExternalResourcePoolAffinityInfo.cs | 247 + .../Smo/ExternalResourcePoolBase.cs | 329 + .../Management/Smo/ExternalStreamBase.cs | 144 + .../Smo/ExternalStreamingJobBase.cs | 162 + .../SqlServer/Management/Smo/FacetSR.strings | 195 + .../Smo/Facets/AvailabilityGroupState.cs | 307 + .../Management/Smo/Facets/DatabaseAdapter.cs | 263 + .../Smo/Facets/DatabaseMaintenance.cs | 166 + .../Smo/Facets/DatabasePerformance.cs | 151 + .../Management/Smo/Facets/DatabaseSecurity.cs | 108 + .../Management/Smo/Facets/MultiPartName.cs | 142 + .../SqlServer/Management/Smo/Facets/Name.cs | 162 + .../Management/Smo/Facets/ServerAdapter.cs | 1295 +++ .../Management/Smo/Facets/ServerAudit.cs | 57 + .../Smo/Facets/ServerConfiguration.cs | 517 + .../Smo/Facets/ServerPerformance.cs | 127 + .../Management/Smo/Facets/ServerSecurity.cs | 200 + .../Management/Smo/Facets/ServerSelection.cs | 160 + .../Management/Smo/Facets/ServerSetup.cs | 357 + .../Smo/Facets/ServerSurfaceArea.cs | 329 + .../Management/Smo/Facets/SmartAdminState.cs | 315 + .../Management/Smo/FilePerObjectWriter.cs | 374 + .../Management/Smo/ForeignKeyBase.cs | 535 + .../Management/Smo/ForeignKeyColumnBase.cs | 75 + .../Management/Smo/FullTextCatalogBase.cs | 582 ++ .../Management/Smo/FullTextIndexBase.cs | 1122 ++ .../Management/Smo/FullTextIndexColumnBase.cs | 340 + .../Management/Smo/FullTextServiceBase.cs | 337 + .../Management/Smo/FullTextStopListBase.cs | 420 + .../Management/Smo/FxCopExclusions.cs | 844 ++ .../Management/Smo/HttpProtocolBase.cs | 188 + .../Management/Smo/IDatabaseOptions.cs | 247 + .../SqlServer/Management/Smo/ILoginOptions.cs | 85 + .../Management/Smo/IServerInformation.cs | 170 + .../Management/Smo/IServerSettings.cs | 56 + .../SqlServer/Management/Smo/ITableOptions.cs | 98 + .../SqlServer/Management/Smo/IUserOptions.cs | 75 + .../SqlServer/Management/Smo/IViewOptions.cs | 73 + .../SqlServer/Management/Smo/IndexBase.cs | 2683 +++++ .../SqlServer/Management/Smo/IndexScripter.cs | 3428 +++++++ .../Management/Smo/IndexedColumnBase.cs | 76 + .../Management/Smo/IndexedXmlPathBase.cs | 82 + .../Smo/IndexedXmlPathNamespaceBase.cs | 43 + .../Management/Smo/InformationBase.cs | 95 + .../SqlServer/Management/Smo/JobBase.cs | 2022 ++++ .../Management/Smo/JobCategoryBase.cs | 50 + .../Management/Smo/JobScheduleBase.cs | 423 + .../Smo/JobScheduleCollectionBase.cs | 186 + .../SqlServer/Management/Smo/JobServerBase.cs | 1787 ++++ .../SqlServer/Management/Smo/JobStepBase.cs | 363 + .../SqlServer/Management/Smo/LanguageBase.cs | 265 + .../Management/Smo/LinkedServerBase.cs | 616 ++ .../Management/Smo/LinkedServerLoginBase.cs | 189 + .../Smo/LocalizableResources.strings | 4544 +++++++++ .../SqlServer/Management/Smo/LoginBase.cs | 1921 ++++ .../Management/Smo/MailAccountBase.cs | 230 + .../Management/Smo/MailProfileBase.cs | 402 + .../Management/Smo/MailServerBase.cs | 291 + .../SqlServer/Management/Smo/MasterKeyBase.cs | 557 + .../Management/Smo/MessageCollectionBase.cs | 188 + .../Management/Smo/MessageObjectBase.cs | 31 + .../Management/Smo/MessageTypeBase.cs | 196 + .../Management/Smo/MessageTypeMappingBase.cs | 78 + .../Smo/Microsoft.SqlServer.Smo.csproj | 675 ++ .../Management/Smo/ModuleSuppressions.cs | 10 + .../Management/Smo/NetCoreHelpers.cs | 143 + .../SqlServer/Management/Smo/NumaNodeBase.cs | 137 + .../Management/Smo/NumberedCollectionBase.cs | 205 + .../Smo/OleDbProviderSettingsBase.cs | 167 + .../SqlServer/Management/Smo/OperatorBase.cs | 419 + .../Management/Smo/OperatorCategoryBase.cs | 34 + .../Management/Smo/OrderColumnBase.cs | 33 + .../SqlServer/Management/Smo/ParamBase.cs | 469 + .../Management/Smo/ParameterCollectionBase.cs | 81 + .../Management/Smo/PartitionFunctionBase.cs | 382 + .../Smo/PartitionFunctionParameterBase.cs | 119 + .../Management/Smo/PartitionSchemeBase.cs | 318 + .../Smo/PartitionSchemeParameterBase.cs | 42 + .../Management/Smo/PhysicalPartitionBase.cs | 223 + .../Smo/PhysicalPartitionCollectionBase.cs | 676 ++ .../SqlServer/Management/Smo/PlanGuideBase.cs | 395 + .../Management/Smo/PlanGuideExtender.cs | 63 + .../Management/Smo/ProxyAccountBase.cs | 492 + .../Management/Smo/QueryStoreEnums.cs | 158 + .../Management/Smo/QueryStoreOptions.cs | 395 + .../Smo/RemoteDataArchiveMigrationState.cs | 46 + .../RemoteDataArchiveMigrationStatusReport.cs | 154 + .../Smo/RemoteDatabaseMigrationStatistics.cs | 38 + .../Smo/RemoteServiceBindingBase.cs | 181 + .../Smo/RemoteTableMigrationStatistics.cs | 49 + .../Management/Smo/ResourceGovernorBase.cs | 340 + .../Smo/ResourcePoolAffinityInfo.cs | 275 + .../Management/Smo/ResourcePoolBase.cs | 395 + .../Management/Smo/ResumableIndexBase.cs | 225 + .../SqlServer/Management/Smo/RuleBase.cs | 54 + .../SqlServer/Management/Smo/SchedulerBase.cs | 67 + .../SqlServer/Management/Smo/SchemaBase.cs | 237 + .../Management/Smo/SchemaCollectionBase.cs | 223 + .../Management/Smo/ScriptContainer.cs | 340 + .../Management/Smo/ScriptContainerFactory.cs | 69 + .../SqlServer/Management/Smo/ScriptMaker.cs | 2098 ++++ .../Management/Smo/ScriptNameObjectBase.cs | 1661 +++ .../Management/Smo/ScriptSchemaObjectBase.cs | 290 + .../IScriptStringBuilderParameter.cs | 23 + .../ParameterValueFormat.cs | 26 + .../ScriptStringBuilder.cs | 125 + .../ScriptStringBuilderObjectParameter.cs | 52 + .../ScriptStringBuilderParameter.cs | 70 + .../SqlServer/Management/Smo/Scripter.cs | 805 ++ .../Management/Smo/ScriptingInterfaces.cs | 110 + .../Management/Smo/ScriptingOptions.cs | 2585 +++++ .../Management/Smo/ScriptingPreferences.cs | 874 ++ .../Management/Smo/SearchPropertyBase.cs | 179 + .../Management/Smo/SearchPropertyListBase.cs | 298 + .../Smo/SearchPropertyListConstants.cs | 21 + .../Smo/SearchPropertyListExtender.cs | 405 + .../Smo/SearchPropertyListValidator.cs | 656 ++ .../Management/Smo/SecurityPolicyBase.cs | 455 + .../Management/Smo/SecurityPredicateBase.cs | 332 + .../Smo/SecurityPredicateCollectionBase.cs | 146 + .../SqlServer/Management/Smo/SecurityUtils.cs | 94 + .../Smo/SensitivityClassificationBase.cs | 59 + .../SqlServer/Management/Smo/SequenceBase.cs | 549 + .../Management/Smo/SequenceExtender.cs | 548 + .../Management/Smo/SerializationAdapters.cs | 175 + .../Smo/ServerAuditSpecificationExtender.cs | 134 + .../Smo/ServerAuditSpecificationbase.cs | 29 + .../Management/Smo/ServerDdlTriggerBase.cs | 206 + .../Management/Smo/ServerEventsWorker.cs | 1310 +++ .../Management/Smo/ServerProxyAccountBase.cs | 228 + .../Management/Smo/ServerRoleBase.cs | 605 ++ .../Management/Smo/ServerRoleExtender.cs | 381 + .../Management/Smo/ServiceBrokerBase.cs | 252 + .../Management/Smo/ServiceBrokerExtender.cs | 252 + .../Smo/ServiceBrokerPayloadBase.cs | 85 + .../Management/Smo/ServiceContractBase.cs | 215 + .../Smo/ServiceContractMappingBase.cs | 56 + .../Management/Smo/ServiceMasterKeyBase.cs | 220 + .../Management/Smo/ServiceQueueBase.cs | 510 + .../Management/Smo/ServiceRouteBase.cs | 246 + .../SqlServer/Management/Smo/ServiceType.cs | 70 + .../SqlServer/Management/Smo/SettingsBase.cs | 251 + .../SqlServer/Management/Smo/SfcResolver.cs | 197 + .../Management/Smo/SingleFileWriter.cs | 200 + .../Management/Smo/SingleFileWriterBase.cs | 212 + .../Management/Smo/SmartAdminBase.cs | 543 + .../SqlServer/Management/Smo/SmoArrayList.cs | 254 + .../Management/Smo/SmoCollectionBase.cs | 746 ++ .../SqlServer/Management/Smo/SmoComparer.cs | 172 + .../Management/Smo/SmoDependencyDiscoverer.cs | 366 + .../Management/Smo/SmoDependencyOrderer.cs | 1686 ++++ .../Management/Smo/SmoDiffAdapters.cs | 652 ++ .../SqlServer/Management/Smo/SmoObjectBase.cs | 127 + .../SqlServer/Management/Smo/SmoSet.cs | 85 + .../SqlServer/Management/Smo/SmoSortedList.cs | 172 + .../Management/Smo/SmoStringWriter.cs | 126 + .../SqlServer/Management/Smo/SmoUrnFilter.cs | 518 + .../SqlServer/Management/Smo/SmoUtility.cs | 656 ++ .../Smo/SoapMethodCollectionBase.cs | 188 + .../Management/Smo/SoapMethodObject.cs | 73 + .../Management/Smo/SoapPayloadBase.cs | 247 + .../Management/Smo/SoapPayloadMethodBase.cs | 247 + .../Management/Smo/SqlAssemblyBase.cs | 633 ++ .../Management/Smo/SqlAssemblyFileBase.cs | 80 + .../SqlServer/Management/Smo/SqlMailBase.cs | 140 + .../SqlServer/Management/Smo/SqlSmoObject.cs | 8989 +++++++++++++++++ .../SqlServer/Management/Smo/StatisticBase.cs | 818 ++ .../Management/Smo/StatisticColumnBase.cs | 63 + .../Management/Smo/SymmetricKeyBase.cs | 933 ++ .../SqlServer/Management/Smo/SynonymBase.cs | 241 + .../Management/Smo/SystemDataTypeBase.cs | 39 + .../Management/Smo/SystemMessageBase.cs | 85 + .../SqlServer/Management/Smo/TableViewBase.cs | 365 + .../Management/Smo/TableViewTableTypeBase.cs | 167 + .../Management/Smo/TargetServerBase.cs | 25 + .../Management/Smo/TargetServerGroupBase.cs | 221 + .../Management/Smo/TcpProtocolBase.cs | 99 + .../SqlServer/Management/Smo/TestModel.cs | 45 + .../SqlServer/Management/Smo/TraceHelper.cs | 319 + .../SqlServer/Management/Smo/TriggerBase.cs | 773 ++ .../SqlServer/Management/Smo/UserBase.cs | 1419 +++ .../Smo/UserDefinedAggregateBase.cs | 370 + .../Smo/UserDefinedAggregateParameterBase.cs | 116 + .../Management/Smo/UserDefinedFunctionBase.cs | 951 ++ .../Management/Smo/UserDefinedMessageBase.cs | 395 + .../Smo/UserDefinedTableTypebase.cs | 390 + .../Management/Smo/UserDefinedTypeBase.cs | 229 + .../Management/Smo/UserOptionBase.cs | 181 + .../Management/Smo/UserPermission.cs | 277 + .../Management/Smo/UserPermissionBase.cs | 86 + .../Smo/UserPermissionCollection.cs | 72 + .../SqlServer/Management/Smo/VersionUtils.cs | 324 + .../SqlServer/Management/Smo/ViewBase.cs | 650 ++ .../Management/Smo/WorkloadGroupBase.cs | 537 + ...orkloadManagementWorkloadClassifierBase.cs | 245 + .../WorkloadManagementWorkloadGroupBase.cs | 313 + .../Management/Smo/XmlSchemaCollectionBase.cs | 300 + ...p_listener_ipaddress_generic_collection.cs | 105 + .../SqlServer/Management/Smo/coll_macros.h | 21 + ...mnencryptionkeyvalue_generic_collection.cs | 90 + ...tabase_replica_state_generic_collection.cs | 121 + .../Smo/databasesnapshotextender.cs | 148 + src/Microsoft/SqlServer/Management/Smo/dmf.cs | 107 + .../SqlServer/Management/Smo/enumerations.cs | 633 ++ .../SqlServer/Management/Smo/exception.cs | 2266 +++++ .../SqlServer/Management/Smo/files.cs | 1142 +++ .../Management/Smo/generic_collection.cs | 236 + .../Smo/message_generic_collection.cs | 108 + .../Smo/numbered_generic_collection.cs | 97 + .../Smo/numberedstoredprocedurebase.cs | 391 + .../Smo/ordinal_generic_collection.cs | 64 + .../Smo/param_generic_collection.cs | 133 + .../Management/Smo/permissionInterfaces.cs | 431 + .../Management/Smo/permissionOptions.cs | 2578 +++++ .../Management/Smo/permissionWorker.cs | 1103 ++ ...icalpartitionsegment_generic_collection.cs | 89 + .../SqlServer/Management/Smo/properties.cs | 240 + .../Management/Smo/propertiesCollection.cs | 815 ++ .../Management/Smo/propertiesMetadata.cs | 915 ++ .../Smo/schedule_generic_collection.cs | 115 + .../Smo/schema_generic_collection.cs | 156 + .../Management/Smo/script_patterns.cs | 525 + .../securitypredicate_generic_collection.cs | 89 + .../SqlServer/Management/Smo/serverbase.cs | 4636 +++++++++ .../Management/Smo/smoobjectextender.cs | 81 + .../Smo/soapmethod_generic_collection.cs | 100 + .../SqlServer/Management/Smo/sqlexec.cs | 344 + .../Management/Smo/storedprocedurebase.cs | 896 ++ .../SqlServer/Management/Smo/tablebase.cs | 5167 ++++++++++ .../SqlServer/Management/Smo/uddtbase.cs | 946 ++ .../SmoMetadataProvider/ApplicationRole.cs | 47 + .../SmoMetadataProvider/AsymmetricKey.cs | 34 + .../SmoMetadataProvider/Certificate.cs | 34 + .../SmoMetadataProvider/CheckConstraint.cs | 89 + .../Management/SmoMetadataProvider/Column.cs | 329 + .../Management/SmoMetadataProvider/Config.cs | 189 + .../ConnectedSmoMetadataProvider.cs | 135 + .../SmoMetadataProvider/Credential.cs | 34 + .../SmoMetadataProvider/Database.cs | 1049 ++ .../SmoMetadataProvider/DatabaseDdlTrigger.cs | 100 + .../SmoMetadataProvider/DatabaseObject.cs | 77 + .../SmoMetadataProvider/DatabaseObjectBase.cs | 395 + .../DatabaseOwnedObject.cs | 49 + .../SmoMetadataProvider/DatabasePermission.cs | 177 + .../SmoMetadataProvider/DatabasePrincipal.cs | 333 + .../SmoMetadataProvider/DatabaseRole.cs | 72 + .../SmoMetadataProvider/DefaultConstraint.cs | 73 + .../DisconnectedSmoMetadataProvider.cs | 42 + .../SmoMetadataProvider/DmlTrigger.cs | 192 + .../ExtendedStoredProcedure.cs | 69 + .../ForeignKeyConstraint.cs | 136 + .../SmoMetadataProvider/ISmoDatabaseObject.cs | 18 + .../Management/SmoMetadataProvider/Index.cs | 103 + .../Management/SmoMetadataProvider/Login.cs | 362 + ...rver.Management.SmoMetadataProvider.csproj | 14 + .../PrimaryKeyConstraint.cs | 29 + .../SmoMetadataProvider/RelationalIndex.cs | 162 + .../ScalarValuedFunction.cs | 138 + .../Management/SmoMetadataProvider/Schema.cs | 465 + .../SmoMetadataProvider/SchemaOwnedModule.cs | 39 + .../SmoMetadataProvider/SchemaOwnedObject.cs | 49 + .../Management/SmoMetadataProvider/Server.cs | 536 + .../SmoMetadataProvider/ServerDdlTrigger.cs | 106 + .../SmoMetadataProvider/ServerOwnedObject.cs | 48 + .../SmoBuiltInFunctionLookup.cs | 33 + .../SmoMetadataProvider/SmoCollationLookup.cs | 33 + .../SmoMetadataProvider/SmoMetadataFactory.cs | 36 + .../SmoMetadataProvider.cs | 91 + .../SmoSystemDataTypeLookup.cs | 245 + .../SmoMetadataProvider/SpatialIndex.cs | 133 + .../SmoMetadataProvider/Statistics.cs | 87 + .../SmoMetadataProvider/StoredProcedure.cs | 171 + .../Management/SmoMetadataProvider/Synonym.cs | 136 + .../Management/SmoMetadataProvider/Table.cs | 73 + .../TableValuedFunction.cs | 106 + .../SmoMetadataProvider/TableViewBase.cs | 69 + .../TableViewTableTypeBase.cs | 57 + .../SmoMetadataProvider/TraceHelper.cs | 98 + .../SmoMetadataProvider/UniqueConstraint.cs | 29 + .../UniqueConstraintBase.cs | 55 + .../Management/SmoMetadataProvider/User.cs | 302 + .../UserDefinedAggregate.cs | 97 + .../SmoMetadataProvider/UserDefinedClrType.cs | 124 + .../UserDefinedDataType.cs | 91 + .../UserDefinedFunction.cs | 144 + .../UserDefinedTableType.cs | 66 + .../Management/SmoMetadataProvider/Utils.cs | 1634 +++ .../Management/SmoMetadataProvider/View.cs | 153 + .../SmoMetadataProvider/XmlIndex.cs | 26 + ...oft.SqlServer.Management.Assessment.csproj | 27 + .../SqlAssessment/SqlAssessmentExtensions.cs | 692 ++ .../Management/SqlEnum/AssemblyInfo.cs | 7 + .../Management/SqlEnum/AvailableSQLServers.CS | 145 + .../Management/SqlEnum/ConditionedSql.cs | 284 + .../Management/SqlEnum/DataProvider.cs | 829 ++ .../Management/SqlEnum/DatabaseLevel.CS | 374 + .../Management/SqlEnum/DatabaseOption.cs | 27 + .../SqlServer/Management/SqlEnum/DdlParser.cs | 620 ++ .../Management/SqlEnum/EventSetBase.cs | 122 + .../Management/SqlEnum/FxCopExclusions.cs | 284 + .../Microsoft.SqlServer.SqlEnum.csproj | 1278 +++ .../Management/SqlEnum/PostProcess.cs | 255 + .../SqlEnum/PostProcessAuditProperties.cs | 129 + .../SqlEnum/PostProcessCreateDateTime.cs | 603 ++ .../PostProcessDatabaseInsideAttribs.cs | 742 ++ .../Management/SqlEnum/PostProcessEvents.cs | 135 + .../Management/SqlEnum/PostProcessFile.cs | 96 + .../Management/SqlEnum/PostProcessOwner.cs | 94 + .../Management/SqlEnum/PostProcessParam.cs | 250 + .../Management/SqlEnum/PostProcessTable.cs | 124 + .../Management/SqlEnum/PostProcessText.cs | 239 + .../Management/SqlEnum/PostProcessUser.cs | 106 + .../Management/SqlEnum/PostProcessVersion.cs | 24 + .../SqlEnum/PostProcessWithRowCaching.cs | 111 + .../Management/SqlEnum/PostProcessXml.cs | 41 + .../Management/SqlEnum/QueryIsolation.cs | 103 + .../Management/SqlEnum/RequestParentSelect.cs | 40 + .../SqlServer/Management/SqlEnum/Server.cs | 45 + .../SqlEnum/SqlConditionedStatement.cs | 163 + .../Management/SqlEnum/SqlEnumDependencies.cs | 1050 ++ .../SqlEnum/SqlEnumNetCoreExtension.cs | 101 + .../SqlEnumStatementBuilderTestHook.cs | 62 + .../Management/SqlEnum/SqlLinkMultiple.cs | 160 + .../SqlServer/Management/SqlEnum/SqlObject.cs | 273 + .../Management/SqlEnum/SqlObjectBase.cs | 1110 ++ .../Management/SqlEnum/SqlObjectProperty.cs | 176 + .../Management/SqlEnum/SqlObjectUnion.cs | 104 + .../Management/SqlEnum/SqlParentLink.cs | 86 + .../Management/SqlEnum/SqlPostProcess.cs | 117 + .../Management/SqlEnum/SqlPropertyLink.cs | 206 + .../Management/SqlEnum/SqlRequest.cs | 94 + .../SqlServer/Management/SqlEnum/SqlUtil.cs | 105 + .../SqlEnum/StringSqlEnumerator.strings | 317 + .../Management/SqlEnum/TypeConverters.cs | 769 ++ .../SqlServer/Management/SqlEnum/Util.cs | 548 + .../SqlServer/Management/SqlEnum/XmlRead.CS | 1787 ++++ .../SqlServer/Management/SqlEnum/diskfile.cs | 52 + .../Management/SqlEnum/enumstructs.cs | 4819 +++++++++ .../Management/SqlEnum/executesql.cs | 692 ++ .../SqlServer/Management/SqlEnum/permenum.cs | 747 ++ .../Management/SqlEnum/primaryfile.cs | 31 + .../Management/SqlEnum/restoreplan.cs | 45 + .../Management/SqlEnum/sqlenumresult.cs | 404 + .../Management/SqlEnum/sqlsecurestring.cs | 1761 ++++ .../Management/SqlEnum/statementbuilder.cs | 637 ++ .../SqlEnum/xml/AditionalParameters.xml | 44 + .../Management/SqlEnum/xml/AffinityInfo.xml | 27 + .../Management/SqlEnum/xml/AgentPerfInfo.xml | 115 + .../SqlEnum/xml/AgentSubSystems.xml | 52 + .../SqlEnum/xml/AlertNotification.xml | 46 + .../SqlEnum/xml/ApplicationRole.xml | 48 + .../Management/SqlEnum/xml/AsymmetricKey.xml | 43 + .../Management/SqlEnum/xml/Audit.xml | 60 + .../SqlEnum/xml/AvailabilityDatabase.xml | 58 + .../SqlEnum/xml/AvailabilityGroup.xml | 98 + .../SqlEnum/xml/AvailabilityGroupListener.xml | 24 + .../AvailabilityGroupListenerIPAddress.xml | 48 + .../SqlEnum/xml/AvailabilityReplica.xml | 168 + .../Management/SqlEnum/xml/AvailableMedia.xml | 51 + .../Management/SqlEnum/xml/BackupDevice.xml | 46 + .../Management/SqlEnum/xml/BoundColumn.xml | 28 + .../Management/SqlEnum/xml/CdromDrive.xml | 14 + .../SqlEnum/xml/CloudDependency.sql | 640 ++ .../SqlEnum/xml/ClusterMemberState.xml | 14 + .../SqlEnum/xml/ColumnEncryptionKey.xml | 13 + .../SqlEnum/xml/ColumnEncryptionKeyValue.xml | 29 + .../SqlEnum/xml/ColumnMasterKey.xml | 19 + .../Management/SqlEnum/xml/ComputedText.xml | 18 + .../Management/SqlEnum/xml/Configuration.xml | 38 + .../SqlEnum/xml/ConfigurationValue.xml | 20 + .../Management/SqlEnum/xml/Connection.xml | 22 + .../Management/SqlEnum/xml/Credential.xml | 29 + .../SqlEnum/xml/CryptographicProvider.xml | 27 + .../Management/SqlEnum/xml/Database.xml | 787 ++ .../xml/DatabaseAuditSpecification.xml | 19 + .../xml/DatabaseAuditSpecificationDetail.xml | 26 + .../SqlEnum/xml/DatabaseDdlTrigger.xml | 46 + .../SqlEnum/xml/DatabaseDdlTriggerEvent.xml | 15 + .../SqlEnum/xml/DatabaseDiagram.xml | 27 + .../SqlEnum/xml/DatabaseEncryptionKey.xml | 29 + .../Management/SqlEnum/xml/DatabaseLocks.xml | 154 + .../SqlEnum/xml/DatabaseMappings.xml | 55 + .../SqlEnum/xml/DatabaseMasterKey.xml | 31 + .../xml/DatabaseMirroringWitnessRole.xml | 18 + .../SqlEnum/xml/DatabaseOptions.xml | 133 + .../SqlEnum/xml/DatabaseReplicaState.xml | 142 + .../Management/SqlEnum/xml/DatabaseRole.xml | 57 + .../SqlEnum/xml/DatabaseRoleMember.xml | 130 + .../xml/DatabaseScopedConfiguration.xml | 39 + .../SqlEnum/xml/DatabaseScopedCredential.xml | 28 + .../SqlEnum/xml/DbExtendedProperty.xml | 16 + .../Management/SqlEnum/xml/Default.xml | 23 + .../Management/SqlEnum/xml/DefaultColumn.xml | 25 + .../SqlEnum/xml/DefaultConstrain.xml | 59 + .../SqlEnum/xml/DefaultDatatype.xml | 23 + .../Management/SqlEnum/xml/DiskFile.xml | 123 + .../SqlEnum/xml/DistributionColumn.xml | 19 + .../Management/SqlEnum/xml/Drive.xml | 57 + .../Management/SqlEnum/xml/ErrorLog.xml | 35 + .../Management/SqlEnum/xml/ErrorLogText.xml | 118 + .../SqlEnum/xml/ExternalDataSource.xml | 28 + .../SqlEnum/xml/ExternalFileFormat.xml | 26 + .../SqlEnum/xml/ExternalLanguage.xml | 24 + .../SqlEnum/xml/ExternalLanguageFile.xml | 22 + .../SqlEnum/xml/ExternalLibrary.xml | 23 + .../SqlEnum/xml/ExternalLibraryFile.xml | 17 + .../SqlEnum/xml/ExternalResourcePool.xml | 17 + .../xml/ExternalResourcePoolAffinityInfo.xml | 25 + .../Management/SqlEnum/xml/ExternalStream.xml | 28 + .../SqlEnum/xml/ExternalStreamingJob.xml | 23 + .../Management/SqlEnum/xml/FKColumn.xml | 37 + .../SqlServer/Management/SqlEnum/xml/File.xml | 109 + .../Management/SqlEnum/xml/FileGroup.xml | 41 + .../Management/SqlEnum/xml/FixedDrive.xml | 30 + .../Management/SqlEnum/xml/ForeignKey.xml | 81 + .../SqlEnum/xml/FullTextCatalog.xml | 101 + .../Management/SqlEnum/xml/FullTextFile.xml | 16 + .../Management/SqlEnum/xml/FullTextIndex.xml | 124 + .../SqlEnum/xml/FullTextIndexColumn.xml | 65 + .../SqlEnum/xml/FullTextLanguage.xml | 10 + .../SqlEnum/xml/FullTextService.xml | 62 + .../SqlEnum/xml/FullTextStopList.xml | 24 + .../SqlEnum/xml/FulltextSemanticLanguage.xml | 11 + .../SqlEnum/xml/IndexFragDetail.xml | 41 + .../Management/SqlEnum/xml/IndexFragFast.xml | 43 + .../SqlEnum/xml/IndexFragSampled.xml | 42 + .../Management/SqlEnum/xml/IndexedColumn.xml | 48 + .../Management/SqlEnum/xml/IndexedXmlPath.xml | 46 + .../SqlEnum/xml/IndexedXmlPathNamespace.xml | 22 + .../Management/SqlEnum/xml/Information.xml | 400 + .../SqlServer/Management/SqlEnum/xml/Job.xml | 102 + .../Management/SqlEnum/xml/JobServer.xml | 123 + .../SqlEnum/xml/JobStepOutputLog.xml | 52 + .../SqlEnum/xml/KatmaiDependency.sql | 852 ++ .../Management/SqlEnum/xml/KeyEncryption.xml | 18 + .../SqlServer/Management/SqlEnum/xml/Lock.xml | 161 + .../Management/SqlEnum/xml/LogFile.xml | 24 + .../Management/SqlEnum/xml/LogMarkHistory.xml | 14 + .../SqlServer/Management/SqlEnum/xml/Mail.xml | 12 + .../Management/SqlEnum/xml/MailAccount.xml | 23 + .../Management/SqlEnum/xml/MailProfile.xml | 20 + .../SqlEnum/xml/MailProfileAccounts.xml | 41 + .../SqlEnum/xml/MailProfilePrincipals.xml | 47 + .../Management/SqlEnum/xml/MailServer.xml | 45 + .../Management/SqlEnum/xml/Mail_ErrorLog.xml | 17 + .../SqlEnum/xml/MaintSubPlanLog.xml | 25 + .../SqlEnum/xml/MaintSubPlanLogDetail.xml | 25 + .../SqlEnum/xml/MaintenancePlan.xml | 27 + .../SqlEnum/xml/MaintenancePlanDeprecated.xml | 19 + .../SqlEnum/xml/MaintenanceSubPlan.xml | 28 + .../SqlEnum/xml/MasterKeyEncryption.xml | 27 + .../Management/SqlEnum/xml/Member.xml | 83 + .../Management/SqlEnum/xml/NTGroup.xml | 29 + .../Management/SqlEnum/xml/NTLogin.xml | 19 + .../xml/NotificationServices/Application.xml | 214 + .../ApplicationDatabaseFile.xml | 32 + .../ApplicationDatabaseFileGroup.xml | 31 + .../ApplicationDatabaseLogFile.xml | 28 + .../ApplicationDatabaseOptions.xml | 23 + .../NotificationServices/ContentFormatter.xml | 31 + .../ContentFormatterArgument.xml | 31 + .../NotificationServices/DeliveryChannel.xml | 21 + .../DeliveryChannelArgument.xml | 29 + .../xml/NotificationServices/Distributor.xml | 29 + .../NotificationServices/EventChronicle.xml | 35 + .../EventChronicleRule.xml | 41 + .../xml/NotificationServices/EventClass.xml | 39 + .../xml/NotificationServices/EventField.xml | 33 + .../xml/NotificationServices/Generator.xml | 30 + .../HostedEventProvider.xml | 35 + .../HostedEventProviderArgument.xml | 31 + .../xml/NotificationServices/Instance.xml | 134 + .../InstanceDatabaseFile.xml | 32 + .../InstanceDatabaseFileGroup.xml | 31 + .../InstanceDatabaseLogFile.xml | 28 + .../InstanceDatabaseOptions.xml | 23 + .../NonHostedEventProvider.xml | 29 + .../NotificationClass.xml | 37 + .../NotificationClassProtocol.xml | 39 + .../NotificationComputedField.xml | 33 + .../NotificationField.xml | 33 + .../NotificationServices.xml | 17 + .../ProtocolDefinition.xml | 23 + .../NotificationServices/ProtocolField.xml | 33 + .../ProtocolRetrySchedule.xml | 31 + .../SubscriptionChronicle.xml | 35 + .../SubscriptionClass.xml | 29 + .../SubscriptionConditionEventRule.xml | 45 + .../SubscriptionConditionScheduledRule.xml | 44 + .../SubscriptionEventRule.xml | 41 + .../SubscriptionField.xml | 33 + .../SubscriptionScheduledRule.xml | 41 + .../NotificationServices/VacuumSchedule.xml | 30 + .../SqlEnum/xml/NumberedSPParams.xml | 44 + .../SqlEnum/xml/NumberedStoredProcedure.xml | 49 + .../Management/SqlEnum/xml/OLEDBProvProp.xml | 45 + .../Management/SqlEnum/xml/OLEDBProvider.xml | 15 + .../SqlEnum/xml/OLEDBProviderSetting.xml | 135 + .../SqlEnum/xml/OperatorJobNotification.xml | 44 + .../SqlEnum/xml/OperatorNotification.xml | 46 + .../Management/SqlEnum/xml/OrderColumn.xml | 18 + .../SqlEnum/xml/PartitionFunction.xml | 19 + .../xml/PartitionFunctionParameter.xml | 22 + .../xml/PartitionFunctionRangeValue.xml | 14 + .../SqlEnum/xml/PartitionScheme.xml | 28 + .../SqlEnum/xml/PartitionSchemeFileGroup.xml | 17 + .../SqlEnum/xml/PartitionSchemeParameter.xml | 20 + .../Management/SqlEnum/xml/PerfInfo.xml | 19 + .../SqlEnum/xml/PhysicalPartition.xml | 62 + .../Management/SqlEnum/xml/PlanGuide.xml | 40 + .../Management/SqlEnum/xml/Process.xml | 63 + .../Management/SqlEnum/xml/ProxyAccount.xml | 25 + .../SqlEnum/xml/ProxyAccountPrincipals.xml | 31 + .../SqlEnum/xml/QueryStoreOptions.xml | 34 + .../Management/SqlEnum/xml/README.md | 144 + .../Management/SqlEnum/xml/RemoteDrive.xml | 14 + .../SqlEnum/xml/RemoteMaintenancePlan.xml | 9 + .../Management/SqlEnum/xml/RemotePlanLog.xml | 23 + .../SqlEnum/xml/RemotePlanLogDetail.xml | 25 + .../Management/SqlEnum/xml/RemoteSubPlan.xml | 11 + .../Management/SqlEnum/xml/RemovableDrive.xml | 14 + .../SqlEnum/xml/ReplicaClusterNode.xml | 38 + .../SqlEnum/xml/ResourceGovernor.xml | 29 + .../Management/SqlEnum/xml/ResourcePool.xml | 25 + .../SqlEnum/xml/ResourcePoolAffinityInfo.xml | 35 + .../SqlEnum/xml/ResourcePoolScheduler.xml | 31 + .../SqlServer/Management/SqlEnum/xml/Rule.xml | 23 + .../Management/SqlEnum/xml/RuleColumn.xml | 25 + .../Management/SqlEnum/xml/RuleDatatype.xml | 23 + .../Management/SqlEnum/xml/SPParams.xml | 34 + .../Management/SqlEnum/xml/SPPerm.xml | 13 + .../SqlEnum/xml/SQL11Dependency.sql | 882 ++ .../SqlEnum/xml/SQL13Dependency.sql | 894 ++ .../Management/SqlEnum/xml/Schema.xml | 23 + .../Management/SqlEnum/xml/SearchProperty.xml | 24 + .../SqlEnum/xml/SearchPropertyList.xml | 31 + .../Management/SqlEnum/xml/SecurityPolicy.xml | 14 + .../SqlEnum/xml/SecurityPredicate.xml | 31 + .../SqlEnum/xml/SensitivityClassification.xml | 99 + .../SqlEnum/xml/ServerAuditSpecification.xml | 18 + .../xml/ServerAuditSpecificationDetail.xml | 22 + .../SqlEnum/xml/ServerDdlTrigger.xml | 50 + .../SqlEnum/xml/ServerDdlTriggerEvent.xml | 15 + .../SqlEnum/xml/ServerProxyAccount.xml | 51 + .../Management/SqlEnum/xml/ServerRole.xml | 57 + .../Management/SqlEnum/xml/Settings.xml | 138 + .../SqlEnum/xml/ShilohDependency.sql | 328 + .../Management/SqlEnum/xml/SmartAdmin.xml | 25 + .../Management/SqlEnum/xml/SqlAssembly.xml | 31 + .../SqlEnum/xml/SqlAssemblyFile.xml | 16 + .../Management/SqlEnum/xml/SqlBoot.xml | 36 + .../SqlEnum/xml/StatisticColumn.xml | 35 + .../SqlEnum/xml/StoredProcedure.xml | 44 + .../Management/SqlEnum/xml/SymmetricKey.xml | 38 + .../Management/SqlEnum/xml/TablePerm.xml | 18 + .../Management/SqlEnum/xml/TapeDevice.xml | 12 + .../SqlServer/Management/SqlEnum/xml/Text.xml | 17 + .../SqlServer/Management/SqlEnum/xml/UDF.xml | 71 + .../Management/SqlEnum/xml/UDFParams.xml | 26 + .../SqlEnum/xml/UserDefinedAggregate.xml | 21 + .../xml/UserDefinedAggregateParameter.xml | 24 + .../SqlEnum/xml/UserDefinedTableType.xml | 35 + .../SqlEnum/xml/UserDefinedType.xml | 40 + .../Management/SqlEnum/xml/UserMessage.xml | 35 + .../Management/SqlEnum/xml/UserOption.xml | 34 + .../Management/SqlEnum/xml/WorkloadGroup.xml | 40 + .../WorkloadManagementWorkloadClassifier.xml | 32 + .../xml/WorkloadManagementWorkloadGroup.xml | 22 + .../SqlEnum/xml/XStoredProcedure.xml | 32 + .../Management/SqlEnum/xml/XmlNamespace.xml | 23 + .../SqlEnum/xml/XmlSchemaCollection.xml | 28 + .../SqlEnum/xml/YukonDependency.sql | 608 ++ .../SqlEnum/xml/Yukonuserownedobject.xml | 108 + .../xml/YukonuserownedobjectSchema.xml | 77 + .../Management/SqlEnum/xml/agent_ErrorLog.xml | 31 + .../SqlEnum/xml/agent_ErrorLogText.xml | 46 + .../Management/SqlEnum/xml/agent_alert.xml | 67 + .../SqlEnum/xml/agent_alert_categories.xml | 20 + .../SqlEnum/xml/agent_alertsystem.xml | 125 + .../SqlEnum/xml/agent_job_categories.xml | 21 + .../Management/SqlEnum/xml/agent_jobalert.xml | 11 + .../SqlEnum/xml/agent_jobhistory.xml | 39 + .../SqlEnum/xml/agent_jobschedule.xml | 74 + .../SqlEnum/xml/agent_jobtargetservers.xml | 56 + .../Management/SqlEnum/xml/agent_operator.xml | 64 + .../SqlEnum/xml/agent_operator_categories.xml | 20 + .../SqlEnum/xml/agent_targetserver.xml | 27 + .../SqlEnum/xml/agent_targetservergroup.xml | 25 + .../SqlEnum/xml/agent_targetservermember.xml | 51 + .../Management/SqlEnum/xml/backupfile.xml | 24 + .../SqlEnum/xml/backupmediafamily.xml | 20 + .../Management/SqlEnum/xml/backupmediaset.xml | 22 + .../Management/SqlEnum/xml/backupset.xml | 76 + .../Management/SqlEnum/xml/certificate.xml | 40 + .../Management/SqlEnum/xml/check.xml | 29 + .../Management/SqlEnum/xml/clusterSubnet.xml | 17 + .../Management/SqlEnum/xml/collation.xml | 24 + .../Management/SqlEnum/xml/column.xml | 314 + .../Management/SqlEnum/xml/edgeconstraint.xml | 19 + .../SqlEnum/xml/edgeconstraintclause.xml | 25 + .../endpoint/database_mirroring_endpoint.xml | 43 + .../SqlEnum/xml/endpoint/endpoint.xml | 28 + .../SqlEnum/xml/endpoint/http_endpoint.xml | 28 + .../xml/endpoint/service_broker_endpoint.xml | 46 + .../SqlEnum/xml/endpoint/soap_endpoint.xml | 29 + .../xml/endpoint/soap_endpoint_method.xml | 24 + .../SqlEnum/xml/endpoint/tcp_endpoint.xml | 23 + .../SqlEnum/xml/endpoint/via_endpoint.xml | 20 + .../xml/extendedproperty/ExtendedProperty.xml | 31 + .../Level0ExtendedProperty.xml | 23 + .../Level1ExtendedProperty.xml | 61 + .../Level2ExtendedProperty.xml | 67 + .../Level2IndexExtendedProperty.xml | 78 + .../inc_level2SupportProperties.xml | 32 + .../inc_shilohExtendedProperty.xml | 15 + .../SqlEnum/xml/fulltext_ErrorLog.xml | 52 + .../SqlEnum/xml/fulltext_ErrorLogText.xml | 109 + .../Management/SqlEnum/xml/inc_DbFile.xml | 69 + .../SqlEnum/xml/inc_DefaultRule_column.xml | 26 + .../Management/SqlEnum/xml/inc_IndexFrag.xml | 104 + .../SqlEnum/xml/inc_assembly_module_link.xml | 26 + .../SqlEnum/xml/inc_column_reference.xml | 23 + .../Management/SqlEnum/xml/inc_constraint.xml | 30 + .../SqlEnum/xml/inc_ddl_trigger_event.xml | 14 + .../Management/SqlEnum/xml/inc_fulltext.xml | 20 + .../xml/inc_hadr_policy_health_state.xml | 31 + .../SqlEnum/xml/inc_hadr_setting.xml | 88 + .../SqlEnum/xml/inc_named_object.xml | 46 + .../Management/SqlEnum/xml/inc_object.xml | 25 + .../SqlEnum/xml/inc_objprop_table_view.xml | 56 + .../xml/inc_partition_scheme_parent.xml | 15 + .../SqlEnum/xml/inc_policy_health_state.xml | 26 + .../Management/SqlEnum/xml/inc_ruledef80.xml | 25 + .../Management/SqlEnum/xml/inc_server.xml | 596 ++ .../xml/inc_server_sql_module_link.xml | 30 + .../Management/SqlEnum/xml/inc_sql_module.xml | 24 + .../SqlEnum/xml/inc_sql_module_JustText.xml | 23 + .../Management/SqlEnum/xml/inc_storage.xml | 78 + .../SqlEnum/xml/inc_system_object.xml | 17 + .../xml/inc_system_table_view_sp_udf.xml | 39 + .../Management/SqlEnum/xml/inc_text.xml | 19 + .../Management/SqlEnum/xml/inc_type.xml | 64 + .../SqlEnum/xml/inc_type_reference.xml | 26 + .../Management/SqlEnum/xml/inc_urn.xml | 14 + .../SqlEnum/xml/inc_urn_collate_default.xml | 14 + .../SqlEnum/xml/inc_urn_message.xml | 15 + .../Management/SqlEnum/xml/inc_urn_schema.xml | 21 + .../Management/SqlEnum/xml/inc_urn_single.xml | 13 + .../SqlEnum/xml/inc_urn_soapmethod.xml | 16 + .../SqlEnum/xml/include/mixed_module_link.xml | 75 + .../SqlEnum/xml/include/parameter.xml | 66 + .../SqlEnum/xml/include/sql_module_link.xml | 34 + .../Management/SqlEnum/xml/index.xml | 426 + .../Management/SqlEnum/xml/jobstep.xml | 121 + .../Management/SqlEnum/xml/language.xml | 26 + .../Management/SqlEnum/xml/linkedserver.xml | 127 + .../SqlEnum/xml/linkedservercatalog.xml | 145 + .../SqlEnum/xml/linkedserverlogin.xml | 37 + .../SqlEnum/xml/linkedservertable.xml | 95 + .../SqlEnum/xml/linkedserverview.xml | 95 + .../Management/SqlEnum/xml/login.xml | 130 + .../SqlEnum/xml/perm/ColumnPerm.xml | 36 + .../SqlEnum/xml/perm/DBObjectPerm.xml | 128 + .../Management/SqlEnum/xml/perm/DBPerm.xml | 15 + .../SqlEnum/xml/perm/ShilohYukonPerm.xml | 22 + .../SqlEnum/xml/perm/SrvObjectPerm.xml | 74 + .../SqlEnum/xml/perm/SrvYukonObjectPerm.xml | 14 + .../SqlEnum/xml/perm/SrvYukonPerm.xml | 13 + .../Management/SqlEnum/xml/perm/TablePerm.xml | 20 + .../SqlEnum/xml/perm/YukonObjectPerm.xml | 17 + .../xml/perm/YukonSchemaObjectPerm.xml | 16 + .../SqlEnum/xml/perm/dbfixedroleperm.xml | 19 + .../Management/SqlEnum/xml/perm/inc_perm.xml | 96 + .../SqlEnum/xml/primarychildren.xml | 20 + .../Management/SqlEnum/xml/primaryfile.xml | 18 + .../Management/SqlEnum/xml/restore_plan.xml | 977 ++ .../Management/SqlEnum/xml/restorefile.xml | 15 + .../SqlEnum/xml/restorefilegroup.xml | 13 + .../Management/SqlEnum/xml/restorehistory.xml | 23 + .../Management/SqlEnum/xml/resumableindex.xml | 26 + .../Management/SqlEnum/xml/schedule.xml | 48 + .../SqlServer/Management/SqlEnum/xml/sdt.xml | 46 + .../Management/SqlEnum/xml/sequence.xml | 27 + .../Management/SqlEnum/xml/server.xml | 29 + .../SqlEnum/xml/servicemasterkey.xml | 12 + .../Management/SqlEnum/xml/sharedschedule.xml | 41 + .../Management/SqlEnum/xml/statistic.xml | 84 + .../Management/SqlEnum/xml/synonym.xml | 37 + .../Management/SqlEnum/xml/sysmessage.xml | 34 + .../Management/SqlEnum/xml/table.xml | 577 ++ .../Management/SqlEnum/xml/temp_table.xml | 12 + .../Management/SqlEnum/xml/transaction.xml | 54 + .../Management/SqlEnum/xml/trigger.xml | 77 + .../SqlServer/Management/SqlEnum/xml/uddt.xml | 82 + .../Management/SqlEnum/xml/udfcolumn.xml | 11 + .../SqlServer/Management/SqlEnum/xml/user.xml | 112 + .../SqlServer/Management/SqlEnum/xml/view.xml | 65 + .../Management/SqlEnum/xml/xmltype.xml | 38 + .../SqlScriptPublish/IScriptPublishOptions.cs | 67 + ...lServer.Management.SqlScriptPublish.csproj | 21 + .../Management/SqlScriptPublish/SR.strings | 84 + .../SqlScriptPublish/SqlQueryHandler.cs | 359 + .../SqlScriptPublish/SqlScriptGenerator.cs | 557 + .../SqlScriptPublish/SqlScriptOptions.cs | 1263 +++ .../SqlScriptOptionsSR.strings | 378 + .../SqlScriptPublish/SqlScriptPublishEnums.cs | 158 + .../SqlScriptPublishException.cs | 32 + .../SqlScriptPublish/SqlScriptPublishModel.cs | 624 ++ .../SqlScriptPublishModelTraceHelper.cs | 39 + .../SqlScriptPublish/SqlTransferOptions.cs | 57 + .../SqlScriptPublish/TableSelectStatement.cs | 147 + ...crosoft.SqlServer.Management.XEvent.csproj | 19 + .../XEvent/Server/ProviderConstants.cs | 12 + .../XEvent/Server/ServerEventProvider.cs | 113 + .../XEvent/Server/ServerSessionProvider.cs | 25 + .../XEvent/Server/ServerTargetProvider.cs | 116 + .../Management/XEvent/Server/ServerXEStore.cs | 467 + .../XEvent/Server/ServerXEStoreProvider.cs | 119 + .../Management/XEvent/core/Action.cs | 567 ++ .../XEvent/core/ActionCollection.cs | 78 + .../Management/XEvent/core/ActionInfo.cs | 440 + .../XEvent/core/ActionInfoCollection.cs | 62 + .../Management/XEvent/core/Constants.cs | 11 + .../XEvent/core/DataEventColumnInfo.cs | 449 + .../core/DataEventColumnInfoCollection.cs | 61 + .../SqlServer/Management/XEvent/core/Event.cs | 980 ++ .../Management/XEvent/core/EventCollection.cs | 73 + .../Management/XEvent/core/EventColumnInfo.cs | 467 + .../XEvent/core/EventColumnInfoCollection.cs | 61 + .../Management/XEvent/core/EventField.cs | 505 + .../XEvent/core/EventFieldCollection.cs | 60 + .../Management/XEvent/core/EventInfo.cs | 452 + .../XEvent/core/EventInfoCollection.cs | 62 + .../XEvent/core/ExceptionTemplates.strings | 37 + .../Management/XEvent/core/MapInfo.cs | 415 + .../XEvent/core/MapInfoCollection.cs | 62 + .../Management/XEvent/core/MapValueInfo.cs | 348 + .../XEvent/core/MapValueInfoCollection.cs | 61 + .../Management/XEvent/core/NetCoreHelpers.cs | 55 + .../Management/XEvent/core/Package.cs | 586 ++ .../XEvent/core/PackageCollection.cs | 154 + .../Management/XEvent/core/PredCompareExpr.cs | 103 + .../Management/XEvent/core/PredCompareInfo.cs | 404 + .../XEvent/core/PredCompareInfoCollection.cs | 62 + .../Management/XEvent/core/PredExpr.cs | 98 + .../XEvent/core/PredFunctionExpr.cs | 92 + .../Management/XEvent/core/PredLogicalExpr.cs | 101 + .../Management/XEvent/core/PredOperand.cs | 140 + .../Management/XEvent/core/PredSourceInfo.cs | 390 + .../XEvent/core/PredSourceInfoCollection.cs | 61 + .../Management/XEvent/core/PredValue.cs | 39 + .../Management/XEvent/core/Predicate.cs | 14 + .../XEvent/core/ProviderInterfaces.cs | 126 + .../XEvent/core/ReadOnlyEventColumnInfo.cs | 467 + .../core/ReadOnlyEventColumnInfoCollection.cs | 61 + .../Management/XEvent/core/Session.cs | 1304 +++ .../XEvent/core/SessionCollection.cs | 61 + .../XEvent/core/SessionProviderBase.cs | 327 + .../Management/XEvent/core/Target.cs | 746 ++ .../XEvent/core/TargetCollection.cs | 73 + .../XEvent/core/TargetColumnInfo.cs | 477 + .../XEvent/core/TargetColumnInfoCollection.cs | 60 + .../Management/XEvent/core/TargetField.cs | 516 + .../XEvent/core/TargetFieldCollection.cs | 61 + .../Management/XEvent/core/TargetInfo.cs | 407 + .../XEvent/core/TargetInfoCollection.cs | 59 + .../Management/XEvent/core/TraceHelper.cs | 140 + .../Management/XEvent/core/TypeInfo.cs | 396 + .../XEvent/core/TypeInfoCollection.cs | 60 + .../Management/XEvent/core/XEObjectInfo.cs | 25 + .../XEvent/core/XEObjectInfoCollection.cs | 16 + .../Management/XEvent/core/XEStore.cs | 885 ++ .../XEvent/core/XEStoreObjectMetadata.cs | 224 + .../XEvent/core/XEStoreSessionHelpers.cs | 333 + .../Management/XEvent/core/XEUtils.cs | 92 + .../Management/XEvent/core/XEventException.cs | 142 + .../XEvent/core/XsdResource.Designer.cs | 81 + .../Management/XEvent/core/XsdResource.resx | 124 + .../Management/XEvent/core/xeconfig.xsd | 229 + .../Management/XEventDbScoped/Constants.cs | 10 + .../XEventDbScoped/DatabaseEventProvider.cs | 114 + .../XEventDbScoped/DatabaseSessionProvider.cs | 20 + .../XEventDbScoped/DatabaseTargetProvider.cs | 125 + .../XEventDbScoped/DatabaseXEStore.cs | 434 + .../XEventDbScoped/DatabaseXEStoreProvider.cs | 138 + .../XEventDbScoped/ExceptionTemplates.strings | 37 + ...SqlServer.Management.XEventDbScoped.csproj | 22 + .../XEventDbScoped/NetCoreHelpers.cs | 55 + .../XEventDbScoped/ProviderConstants.cs | 12 + .../XEventDbScoped/XsdResource.Designer.cs | 81 + .../XEventDbScoped/XsdResource.resx | 124 + ...erver.Management.XEventDbScopedEnum.csproj | 97 + .../XEventDbScopedEnum/XEStoreObject.cs | 78 + .../XEventDbScopedEnum/XEventObject.cs | 49 + .../XEventDbScopedEnum/xml/Action.xml | 30 + .../XEventDbScopedEnum/xml/ActionInfo.xml | 25 + .../xml/DataEventColumnInfo.xml | 22 + .../XEventDbScopedEnum/xml/Event.xml | 29 + .../xml/EventColumnInfo.xml | 25 + .../XEventDbScopedEnum/xml/EventField.xml | 23 + .../XEventDbScopedEnum/xml/EventInfo.xml | 19 + .../XEventDbScopedEnum/xml/MapInfo.xml | 20 + .../XEventDbScopedEnum/xml/MapValueInfo.xml | 19 + .../XEventDbScopedEnum/xml/Package.xml | 28 + .../xml/PredCompareInfo.xml | 21 + .../XEventDbScopedEnum/xml/PredSourceInfo.xml | 21 + .../xml/ReadOnlyEventColumnInfo.xml | 24 + .../XEventDbScopedEnum/xml/Session.xml | 28 + .../XEventDbScopedEnum/xml/Target.xml | 26 + .../xml/TargetColumnInfo.xml | 23 + .../XEventDbScopedEnum/xml/TargetField.xml | 24 + .../XEventDbScopedEnum/xml/TargetInfo.xml | 20 + .../XEventDbScopedEnum/xml/TypeInfo.xml | 22 + .../XEventDbScopedEnum/xml/XEStore.xml | 17 + .../XEventDbScopedEnum/xml/inc_urn.xml | 14 + ...oft.SqlServer.Management.XEventEnum.csproj | 96 + .../Management/XEventEnum/XEventObject.cs | 39 + .../Management/XEventEnum/xml/Action.xml | 28 + .../Management/XEventEnum/xml/ActionInfo.xml | 17 + .../XEventEnum/xml/DataEventColumnInfo.xml | 18 + .../Management/XEventEnum/xml/Event.xml | 32 + .../XEventEnum/xml/EventColumnInfo.xml | 19 + .../Management/XEventEnum/xml/EventField.xml | 26 + .../Management/XEventEnum/xml/EventInfo.xml | 13 + .../Management/XEventEnum/xml/MapInfo.xml | 13 + .../XEventEnum/xml/MapValueInfo.xml | 11 + .../Management/XEventEnum/xml/Package.xml | 25 + .../XEventEnum/xml/PredCompareInfo.xml | 15 + .../XEventEnum/xml/PredSourceInfo.xml | 15 + .../xml/ReadOnlyEventColumnInfo.xml | 19 + .../Management/XEventEnum/xml/Session.xml | 28 + .../Management/XEventEnum/xml/Target.xml | 29 + .../XEventEnum/xml/TargetColumnInfo.xml | 19 + .../Management/XEventEnum/xml/TargetField.xml | 27 + .../Management/XEventEnum/xml/TargetInfo.xml | 13 + .../Management/XEventEnum/xml/TypeInfo.xml | 14 + .../Management/XEventEnum/xml/XEStore.xml | 15 + .../Management/XEventEnum/xml/inc_urn.xml | 14 + .../SqlServer/SqlClrProvider/AssemblyInfo.cs | 9 + .../SqlClrProvider/FxCopExclusions.cs | 14 + .../Microsoft.SqlServer.SqlClrProvider.csproj | 17 + .../SqlClrProvider/SqlClrProvider.cs | 148 + src/Microsoft/dirs.proj | 8 + ...oft.SqlServer.Management.Assessment.nuspec | 37 + src/TestReferences.proj | 14 + src/UnitTest/Common/UnitTestBase.cs | 40 + .../ConnectionInfo/ConnectionSettingsTests.cs | 244 + .../LocalizableTypeConverterTests.cs | 125 + ...Server.Test.ConnectionInfoUnitTests.csproj | 13 + .../ConnectionInfo/ServerConnectionTests.cs | 204 + .../ConnectionInfo/ServerInformationTests.cs | 145 + .../ConnectionInfo/SqlConnectionInfoTests.cs | 71 + src/UnitTest/Directory.Build.props | 13 + src/UnitTest/Directory.Build.targets | 29 + src/UnitTest/Dmf/ExpressionTreeTests.cs | 263 + src/UnitTest/Dmf/FacetTests.cs | 70 + ...crosoft.SqlServer.Test.DmfUnitTests.csproj | 18 + src/UnitTest/Dmf/PolicyStoreTests.cs | 46 + .../TestData/ExpressionTree_OperatorNodes.xml | 88 + ...SqlServer.Test.SmoNotebookUnitTests.csproj | 13 + src/UnitTest/Notebook/ModelTests.cs | 41 + .../Notebook/NotebookFileWriterTests.cs | 143 + src/UnitTest/Notebook/SmoNotebookTests.cs | 103 + ....SqlServer.Test.RegSvrEnumUnitTests.csproj | 12 + .../RegSvrEnum/RegistrationInfoTests.cs | 251 + .../RegSvrEnum/UIConnectionInfoTests.cs | 357 + src/UnitTest/RegisteredServers/AdsTests.cs | 68 + ...ver.Test.RegisteredServersUnitTests.csproj | 21 + .../RegisteredServersTests.cs | 214 + src/UnitTest/RegisteredServers/TstRegSrvr.xml | 329 + src/UnitTest/RegisteredServers/sample.json | 147 + src/UnitTest/Sfc/FilterNodeTests.cs | 60 + ...crosoft.SqlServer.Test.SfcUnitTests.csproj | 12 + src/UnitTest/Sfc/SfcSerializerTests.cs | 31 + src/UnitTest/Sfc/UrnTests.cs | 134 + src/UnitTest/Smo/AffinityInfoTests.cs | 174 + src/UnitTest/Smo/BackupRestoreTests.cs | 38 + src/UnitTest/Smo/DataTypeTests.cs | 105 + src/UnitTest/Smo/DatabaseTests.cs | 160 + src/UnitTest/Smo/DdlParserTests.cs | 235 + src/UnitTest/Smo/FacetTests.cs | 112 + ...crosoft.SqlServer.Test.SmoUnitTests.csproj | 15 + src/UnitTest/Smo/PathWrapperTests.cs | 112 + src/UnitTest/Smo/PermissionDecoderTests.cs | 228 + src/UnitTest/Smo/QueryIsolationTests.cs | 120 + src/UnitTest/Smo/ScriptStringBuilderTests.cs | 90 + src/UnitTest/Smo/SerializationTests.cs | 83 + src/UnitTest/Smo/ServerEventsTests.cs | 59 + src/UnitTest/Smo/ServerTests.cs | 104 + src/UnitTest/Smo/SingleFileWriterTEsts.cs | 99 + src/UnitTest/Smo/SqlObjectTests.cs | 216 + src/UnitTest/Smo/SqlSmoObjectTests.cs | 959 ++ src/UnitTest/SqlScriptPublish/EnumTests.cs | 26 + ...qlServer.Test.SqlScriptPublishTests.csproj | 11 + .../SqlScriptPublish/SqlScriptOptionsTests.cs | 332 + .../SqlScriptPublishModelTests.cs | 43 + .../SqlScriptPublish/TestPublishingOptions.cs | 172 + src/UnitTest/XEventDbScoped/ExceptionTests.cs | 113 + ...Server.Test.XEventDbScopedUnitTests.csproj | 17 + .../XEventDbScoped/PredValueUnitTest.cs | 29 + .../XEventDbScoped/SessionUnitTest.cs | 72 + src/UnitTest/XEventDbScoped/TargetUnitTest.cs | 43 + src/UnitTest/dirs.proj | 6 + src/UnitTest/unittest.runsettings | 139 + src/dirs.proj | 8 + src/tests.proj | 7 + 1946 files changed, 470259 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .github/copilot-instructions.md create mode 100644 .github/workflows/ToolsConnectionInfo.xml create mode 100644 .github/workflows/pr-validation.yml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .scripts/DisableStrongName.ps1 create mode 100644 .scripts/Update-SSMS.ps1 create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 Directory.Build.props create mode 100644 Directory.Build.rsp create mode 100644 Directory.Packages.props create mode 100644 LICENSE create mode 100644 README.md create mode 100644 SECURITY.md create mode 100644 SmoBuild/AssemblyInfo.props create mode 100644 SmoBuild/CSharp.NetCore.props create mode 100644 SmoBuild/CSharp.NetFx.props create mode 100644 SmoBuild/CSharp.NetStandard.props create mode 100644 SmoBuild/DdlEvents.targets create mode 100644 SmoBuild/DdlEvents/class_template.cs create mode 100644 SmoBuild/DdlEvents/classenum_template.cs create mode 100644 SmoBuild/DdlEvents/eventsdef.txt create mode 100644 SmoBuild/DdlEvents/evtenum_template.cs create mode 100644 SmoBuild/DdlEvents/evtschema.pl create mode 100644 SmoBuild/DdlEvents/smoevt.pl create mode 100644 SmoBuild/DdlEvents/smoevt_template.cs create mode 100644 SmoBuild/DdlEvents/trc2evt.pl create mode 100644 SmoBuild/DdlEvents/trccomn.txt create mode 100644 SmoBuild/DdlEvents/trcdef.txt create mode 100644 SmoBuild/SqlClientReference.props create mode 100644 SmoBuild/Version.props create mode 100644 azurepipelines-coverage.yml create mode 100644 dirs.proj create mode 100644 docs/README.md create mode 100644 global.json create mode 100644 init.cmd create mode 100644 src/Codegen/CodeGen.cs create mode 100644 src/Codegen/ExecuteSqlFake.cs create mode 100644 src/Codegen/ModelGen.cs create mode 100644 src/Codegen/README.md create mode 100644 src/Codegen/SmoCodeGen.csproj create mode 100644 src/Codegen/StringEnumerator.cs create mode 100644 src/Codegen/cfg.xml create mode 100644 src/Codegen/collections_codegen.proj create mode 100644 src/Codegen/gen.xml create mode 100644 src/Directory.Build.props create mode 100644 src/Directory.Build.targets create mode 100644 src/FunctionalTest/Directory.Build.props create mode 100644 src/FunctionalTest/Framework/Helpers/AzureKeyVaultHelper.cs create mode 100644 src/FunctionalTest/Framework/Helpers/AzureStorageHelper.cs create mode 100644 src/FunctionalTest/Framework/Helpers/ConnectionHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/ConnectionMetrics.cs create mode 100644 src/FunctionalTest/Framework/Helpers/DatabaseObjectHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/DirectoryHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/ExceptionHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/ExecutionManagerExtensions.cs create mode 100644 src/FunctionalTest/Framework/Helpers/FabricDatabaseManager.cs create mode 100644 src/FunctionalTest/Framework/Helpers/GenericSqlProxy.cs create mode 100644 src/FunctionalTest/Framework/Helpers/PolicyStoreHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/PropertyClasses.cs create mode 100644 src/FunctionalTest/Framework/Helpers/RetryHelper.cs create mode 100644 src/FunctionalTest/Framework/Helpers/ScriptHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/ScriptSchemaObjectBaseHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/ScriptTokenizer.cs create mode 100644 src/FunctionalTest/Framework/Helpers/ServerObjectHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/SmoObjectHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/SqlClientEventRecorder.cs create mode 100644 src/FunctionalTest/Framework/Helpers/SqlTestRandom.cs create mode 100644 src/FunctionalTest/Framework/Helpers/SqlTypeConverterHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/StringCollectionHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/StringExtensions.cs create mode 100644 src/FunctionalTest/Framework/Helpers/TSqlScriptingHelper.cs create mode 100644 src/FunctionalTest/Framework/Helpers/TableExtensions.cs create mode 100644 src/FunctionalTest/Framework/Helpers/TableObjectHelpers.cs create mode 100644 src/FunctionalTest/Framework/Helpers/TestContextExtensions.cs create mode 100644 src/FunctionalTest/Framework/Helpers/TraceHelper.cs create mode 100644 src/FunctionalTest/Framework/Helpers/XmlHelper.cs create mode 100644 src/FunctionalTest/Framework/Microsoft.SqlServer.Test.Manageability.Utils.csproj create mode 100644 src/FunctionalTest/Framework/PRVerification.runsettings create mode 100644 src/FunctionalTest/Framework/Scripts/ValidateTableDataRetention_DataRetentionPeriodOption.sql create mode 100644 src/FunctionalTest/Framework/Sql2017Linux.runsettings create mode 100644 src/FunctionalTest/Framework/SqlVersion.cs create mode 100644 src/FunctionalTest/Framework/Sqlv150Linux.runsettings create mode 100644 src/FunctionalTest/Framework/Sqlv160Linux.runsettings create mode 100644 src/FunctionalTest/Framework/TestFramework/AlternateTestServerSource.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/DatabaseHandlerBase.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/DatabaseHandlerFactory.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/DatabaseParameters.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/DisconnectedTestAttribute.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/FabricDatabaseHandler.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/FabricWorkspaceDescriptor.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/IDatabaseHandler.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/RegularDatabaseHandler.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/ReuseExistingDatabaseHandler.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/ServerConnectionInfo.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SqlFeature.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SqlRequiredFeatureAttribute.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SqlTestAreaAttribute.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SqlTestBase.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SqlTestCategoryAttribute.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SqlTestDimensionAttribute.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SqlTestHelpers.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SqlTestResult.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SupportedServerVersionRange.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/SupportedTargetServerFriendlyName.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/TestDescriptor.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/TestServerDescriptor.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/TestServerPoolManager.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/UnsupportedDatabaseEngineEditionAttribute.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/UnsupportedDatabaseEngineTypeAttribute.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/UnsupportedFeatureAttribute.cs create mode 100644 src/FunctionalTest/Framework/TestFramework/UnsupportedHostPlatformAttribute.cs create mode 100644 src/FunctionalTest/Framework/azuresql.runsettings create mode 100644 src/FunctionalTest/Framework/azuresqledge.runsettings create mode 100644 src/FunctionalTest/Framework/azuresqlnodrop.runsettings create mode 100644 src/FunctionalTest/Framework/fabricmsitworkspace.runsettings create mode 100644 src/FunctionalTest/Framework/functionaltest.runsettings create mode 100644 src/FunctionalTest/Framework/linux.runsettings create mode 100644 src/FunctionalTest/Framework/ondemand.runsettings create mode 100644 src/FunctionalTest/Framework/onprem.runsettings create mode 100644 src/FunctionalTest/Framework/sql2008.runsettings create mode 100644 src/FunctionalTest/Framework/sql2012.runsettings create mode 100644 src/FunctionalTest/Framework/sql2014.runsettings create mode 100644 src/FunctionalTest/Framework/sql2016.runsettings create mode 100644 src/FunctionalTest/Framework/sql2017.runsettings create mode 100644 src/FunctionalTest/Framework/sqlexpress.runsettings create mode 100644 src/FunctionalTest/Framework/sqlmi.runsettings create mode 100644 src/FunctionalTest/Framework/sqlmiarc.runsettings create mode 100644 src/FunctionalTest/Framework/sqlv150.runsettings create mode 100644 src/FunctionalTest/Framework/sqlv160.runsettings create mode 100644 src/FunctionalTest/Framework/sqlv170.runsettings create mode 100644 src/FunctionalTest/Identity/AdoOidcResponse.cs create mode 100644 src/FunctionalTest/Identity/AzureDevOpsFederatedTokenCredential.cs create mode 100644 src/FunctionalTest/Identity/AzureDevOpsFederatedTokenCredentialOptions.cs create mode 100644 src/FunctionalTest/Identity/AzureDevOpsSqlAuthenticationProvider.cs create mode 100644 src/FunctionalTest/Identity/Microsoft.SqlServer.ADO.Identity.csproj create mode 100644 src/FunctionalTest/Identity/README.md create mode 100644 src/FunctionalTest/Smo/Agent/JobFilterTests.cs create mode 100644 src/FunctionalTest/Smo/Agent/JobServerTests.cs create mode 100644 src/FunctionalTest/Smo/BackupRestore/BackupRestoreTests.cs create mode 100644 src/FunctionalTest/Smo/BackupRestore/LongFullBackupCleanup.sql create mode 100644 src/FunctionalTest/Smo/BackupRestore/LongFullBackupPlan.sql create mode 100644 src/FunctionalTest/Smo/BackupRestore/LongFullBackupSetup.sql create mode 100644 src/FunctionalTest/Smo/BackupRestore/NewerOutOfSequenceCleanup.sql create mode 100644 src/FunctionalTest/Smo/BackupRestore/NewerOutOfSequencePointInTimePlan.sql create mode 100644 src/FunctionalTest/Smo/BackupRestore/NewerOutOfSequenceSetup.sql create mode 100644 src/FunctionalTest/Smo/BackupRestore/OlderOutOfSequenceCleanup.sql create mode 100644 src/FunctionalTest/Smo/BackupRestore/OlderOutOfSequencePointInTimePlan.sql create mode 100644 src/FunctionalTest/Smo/BackupRestore/OlderOutOfSequenceSetup.sql create mode 100644 src/FunctionalTest/Smo/CentralManagementServer/CmsTests.cs create mode 100644 src/FunctionalTest/Smo/CentralManagementServer/TestSrvr.xml create mode 100644 src/FunctionalTest/Smo/DMF/ExecutionHistoryTests.cs create mode 100644 src/FunctionalTest/Smo/DMF/PolicyTests.cs create mode 100644 src/FunctionalTest/Smo/DMF/SfcXmlHelper.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/AuditSmoTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/DataClassificationSmoTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/DatabaseSmoTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/DifferencingTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/DiskFile.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/DwSmoTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/PermissionsEnumTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/ServerConnectionTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/ServerSmoTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/SmoInitializingTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/SmoTestsUtility.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/StoredProcedureTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/UserDefinedFunctionTests.cs create mode 100644 src/FunctionalTest/Smo/GeneralFunctionality/WorkloadSmoTests.cs create mode 100644 src/FunctionalTest/Smo/MetadataProvider/MetadataProviderTests.cs create mode 100644 src/FunctionalTest/Smo/Microsoft.SqlServer.Test.Smo.csproj create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Alert_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ApplicationRole_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Audit_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/AvailabilityGroupListener_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/AvailabilityGroup_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/BackupDevice_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Backup_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/BrokerPriority_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/BrokerService_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Category_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Certificate_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Check_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ColumnEncryptionKeyValue_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ColumnEncryptionKey_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ColumnMasterKey_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Column_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Credential_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/CryptographicProvider_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Data/qatest/bands.dat create mode 100644 src/FunctionalTest/Smo/ScriptingTests/DatabaseAuditSpecification_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/DatabaseDdlTrigger_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/DatabaseEncryptionKey_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/DatabaseOptions_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/DatabaseRole_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/DatabaseScopedCredential_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Database_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/DefaultConstraint_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/DefaultRule_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/EdgeConstraint_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Endpoint_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ExtendedProperty_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ExternalDataSource_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ExternalFileFormat_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ExternalLanguage_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ExternalLibrary_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ExternalResourcePool_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ExternalStream_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/File_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ForeignKey_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/FullTextCatalog_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/FullTextIndex_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/FullTextStopList_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Index_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/JobSchedule_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/JobStep_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Job_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/LinkedServerLogin_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/LinkedServer_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Login_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/MailAccount_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/MailProfile_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/MessageType_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Operator_SmoTestSute.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/PartitionFunction_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/PartitionScheme_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/PhysicalPartition_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/PlanGuide_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ProxyAccount_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/QueryStore_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/RegressionTests.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/RemoteServiceBinding_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ResourcePool_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Restore_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Schema_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ScriptMakerTests.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ScripterTests.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ScriptingTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Scripts/DatabaseEncryptionKey_SmoTestSuite_SQL2016_Setup.sql create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Scripts/DependencyOrderScriptingDb.sql create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Scripts/ExternalLibrary_SmoTestSuite_Setup.sql create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Scripts/PartitionedTable.sql create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Scripts/SqlAssembly_SmoTestSuite_SQL2016_Setup.sql create mode 100644 src/FunctionalTest/Smo/ScriptingTests/SearchPropertyList_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/SecurityPolicy_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/SecurityPredicate_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/SensitivityClassification_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Sequence_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ServerAuditSpecification_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ServerDdlTrigger_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ServerRole_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Server_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ServiceContract_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ServiceQueue_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ServiceRoute_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/SmoTestFramework/SmoTestBase.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/SqlAssembly_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Statistic_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/StoredProcedure_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Synonym_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Table_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/TargetServerGroup_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/TestHelpers/AlwaysOnTestHelper.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/TestHelpers/SmoObjectTestBase.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/Trigger_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/UserDefinedAggregate_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/UserDefinedDataType_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/UserDefinedFunction_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/UserDefinedTableType_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/UserDefinedType_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/User_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/ValidateTableDataRetention_DataRetentionPeriodOption.sql create mode 100644 src/FunctionalTest/Smo/ScriptingTests/View_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/WorkloadGroup_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/WorkloadManagementWorkloadClassifier_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/WorkloadManagementWorkloadGroup_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/ScriptingTests/XmlSchemaCollection_SmoTestSuite.cs create mode 100644 src/FunctionalTest/Smo/Sfc/AlienTests.cs create mode 100644 src/FunctionalTest/Smo/Sfc/SfcEnumeratorTests.cs create mode 100644 src/FunctionalTest/Smo/SqlAssessment/SqlAssessmentTests.cs create mode 100644 src/FunctionalTest/Smo/ToolsConnectionInfo.xml create mode 100644 src/FunctionalTest/Smo/WMI/ServerEventsTests.cs create mode 100644 src/FunctionalTest/Smo/XEvent/ActionInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/ActionUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/DataEventColumnInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/DbScopedXEventTestBase.cs create mode 100644 src/FunctionalTest/Smo/XEvent/EnumeratorUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/EventColumnInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/EventFieldUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/EventInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/EventUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/MapInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/MapValueInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/PackageUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/PredCompareExprUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/PredCompareUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/PredFunctionExprUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/PredLogicalExprUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/PredOperandUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/PredSourceInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/PredValueUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/ReadOnlyEventColumnInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/SessionUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/TargetColumnInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/TargetFieldUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/TargetInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/TargetUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/TypeInfoUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/Util.cs create mode 100644 src/FunctionalTest/Smo/XEvent/XEStoreUnitTest.cs create mode 100644 src/FunctionalTest/Smo/XEvent/XEventSessionTests.cs create mode 100644 src/FunctionalTest/dirs.proj create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/BatchParser.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/BatchParserAction.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/BatchParserException.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/ErrorCode.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/ICommandHandler.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/IVariableResolver.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/Lexer.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/LexerInput.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/LexerTokenType.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/LineInfo.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/Microsoft.Data.Tools.Sql.BatchParser.csproj create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/OnErrorAction.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/Parser.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/PositionStruct.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/TextBlock.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/TextRuleFlags.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/Token.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/VariableReference.cs create mode 100644 src/Microsoft/Data/Tools.Sql.BatchParser/sr.strings create mode 100644 src/Microsoft/Directory.Build.props create mode 100644 src/Microsoft/Directory.Build.targets create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/App.config create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ConnectionEnums.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ConnectionException.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ConnectionInfoBase.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ConnectionInfoHelper.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ConnectionManager.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ConnectionSettings.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/DatabaseEngineTypeExtensionClass.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/DtsConnectionInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/EncryptionUtility.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ExecutionCache.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/FxCopSupressions.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/IRenewableToken.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ISfcConnection.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/LocalizableTypeConverter.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/Microsoft.SqlServer.ConnectionInfo.csproj create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/NetCoreHelpers.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/OlapConnectionInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ServerConnection.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ServerInformation.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/ServerVersion.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/SqlCeConnectionInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/SqlConnectionInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/SqlConnectionInfoWithConnection.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/SqlContext.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/SqlDirectConnection.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/SqlOlapConnectionInfoBase.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/SqlServerManagementException.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/StatementCapture.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/StatementEvent.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/StringConnectionInfo.strings create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/WindowsCredential.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/WmiMgmtScopeConnection.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/interfaces.cs create mode 100644 src/Microsoft/SqlServer/Management/ConnectionInfo/safenativemethods.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/CustomAttributes.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/DmfConstants.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/DmfException.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/ExceptionTemplates.strings create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/ManagementFacet.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/Microsoft.SqlServer.Dmf.Common.csproj create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/NetCoreHelpers.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/PostConfigurationActionAttribute.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/Utils.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf.Common/enumstructs.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/Condition.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ConditionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ConditionExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ConditionValidation.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ConnectionEvaluationHistory.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ConnectionEvaluationHistoryCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/EvaluationDetail.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/EvaluationDetailCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/EvaluationFactory.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/EvaluationHistory.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/EvaluationHistoryCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ExceptionTemplates.strings create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ExpressionTree.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/FacetInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/FacetInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/FacetProperties.strings create mode 100644 src/Microsoft/SqlServer/Management/Dmf/FacetRepository.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/LocalizableResources.strings create mode 100644 src/Microsoft/SqlServer/Management/Dmf/Microsoft.SqlServer.Dmf.csproj create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ObjectSet.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ObjectSetCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/ObjectSetValidation.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/Policy.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyCategory.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyCategoryCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyCategoryInformation.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyCategorySubscription.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyCategorySubscriptionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyCategorySubscriptionValidation.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyEvaluationResultsWriter.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyEvents.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyStore.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyStoreValidation.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/PolicyValidation.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/TargetSet.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/TargetSetCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/TargetSetLevel.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/TargetSetLevelCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Dmf/Utils.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/AGListenerNetworkMode.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/AvailabilityGroupData.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/AvailabilityGroupListenerConfiguration.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/AvailabilityGroupListenerSubnet.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/AvailabilityGroupReplica.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/AvailabilityGroupReplicaCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/AvailabilityGroupReplicaData.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/AvailabilityObjectState.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/CollectionsExtensionMethods.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/Constants.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/DataSynchronizationOption.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/FailoverCategory.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/FailoverData.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/FailoverUtilities.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/Microsoft.SqlServer.Management.HadrData.csproj create mode 100644 src/Microsoft/SqlServer/Management/HadrData/PrimaryDatabaseData.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/Properties/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/ReplicaRole.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/Resource.Designer.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/Resource.resx create mode 100644 src/Microsoft/SqlServer/Management/HadrData/SortableBindingList.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrData/UserSecurity.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddDBCredentialTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddDatabaseToExistingAGScenarioProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddDatabaseToExistingAvailabilityGroupTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddNewAvailabilityGroupListenerTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddReplicaDatabaseExistenceValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddReplicaDatabaseFileCompatibilityValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddReplicaDatabaseFileExistenceValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddReplicaTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AddReplicasToExistingAvailabilityGroupScenarioProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AvailabilityGroupNotJoinedOnReplicaException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AvailabilityGroupQuorumValidationTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AvailabilityGroupQuorumValidationTaskException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AvailabilityModeIncompatibleException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/AvailabilityModeValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/BackupDatabaseTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/BackupDatabaseTaskException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/BackupLocationValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/BackupLogTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/BackupLogTaskException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/BasicAvailabilityGroupIncompatibleException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/BasicAvailabilityGroupValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ClusterNodeState.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/CompatibleEncryptionValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ConfigureEndpointsTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/CreateAvailabilityGroupDatabaseExistenceValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/CreateAvailabilityGroupDatabaseFileCompatibilityValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/CreateAvailabilityGroupDatabaseFileExistenceValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/CreateAvailabilityGroupListenerTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/CreateAvailabilityGroupScenarioProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/CreateAvailabilityGroupTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/CreateLoginTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DBMasterKeyValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DatabaseAlreadyExistsException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DatabaseExistenceValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DatabaseFileAlreadyExistsOnReplicaException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DatabaseFileCompatibilityValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DatabaseFileExistenceValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DatabaseFileLocationMissingOnReplicaException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DatabaseFileNotInDefaultDirectoryException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/DriveNotFoundOnReplicaException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/EditExistingAvailabilityGroupListenerTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/EncryptionAlgorithmMismatchException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/EncryptionMismatchException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/EndpointAuthenticationValidationException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/EndpointAuthenticationValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FailoverQuorumVoteConfigurationValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FailoverScenarioProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FailoverTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FailoverValidationException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FailoverValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FailoverWaitRoleChangeTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FeatureInstallationState.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FixedRetryCountPolicy.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FixedTimeoutRetryPolicy.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/FreeDiskSpaceValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/GroupUserMembership.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/HADRValidationBaseException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/HadrModelUtilities.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/HadrTaskBaseException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/HadrTaskErrorException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/HadrValidationErrorException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/HadrValidationWarningException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/IExecutionPolicy.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/IScriptableTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ITasksProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/IValidatorProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/InSufficientFreeSpaceForDatabaseFilesException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/InvalidAvailabilityGroupException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/JoinDatabaseToAvailabilityGroupException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/JoinDatabaseToAvailabilityGroupTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/JoinSecondariesTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ListenerConfigurationException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ListenerConfigurationValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/MaxHostedServicesException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/Microsoft.SqlServer.Management.HadrModel.csproj create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ModelDelegates.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/PercentCompleteHandler.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/PrimaryCannotWriteToLocationException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/Properties/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/QuorumHelper.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/QuorumHelperException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/Resource.Designer.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/Resource.resx create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/RestartSqlServerException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/RestoreDatabaseTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/RestoreDatabaseTaskException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/RestoreLogTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/RestoreLogTaskException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/RunOncePolicy.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ScenarioProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/SecondaryCannotReadLocationException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ServiceOperationStatusException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ShareValidationException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/SqlServerConnectionException.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/StartAlwaysOnXeventSessionTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/StringExtensionMethods.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/Task.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/TaskEventArgs.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/TaskEventStatus.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/UpdateAvailabilityGroupListenerTask.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/Validator.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/ValidatorEventArgs.cs create mode 100644 src/Microsoft/SqlServer/Management/HadrModel/WaitForAvailabilityGroupOnlineTask.cs create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/Microsoft.SqlServer.PolicyEnum.csproj create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/PolicyEnum.cs create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/PolicyObject.cs create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/Condition.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/ConnectionEvaluationHistory.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/EvaluationDetail.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/EvaluationHistory.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/ObjectSet.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/Policy.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/PolicyCategory.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/PolicyCategorySubscription.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/PolicyStore.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/TargetFilter.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/TargetSet.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/TargetSetLevel.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/inc_urn.xml create mode 100644 src/Microsoft/SqlServer/Management/PolicyEnum/xml/inc_urnByID.xml create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/AzureDataStudioConnection.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/AzureDataStudioConnectionStore.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/AzureStudioConnectionGroup.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/Microsoft.SqlServer.Management.RegisteredServers.csproj create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/RegSvrStrings.strings create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/RegisteredServer.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/RegisteredServerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/RegisteredServerException.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/RegisteredServersEnumerator.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/RegisteredServersStore.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/ServerGroup.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/ServerGroupCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/xml/RegisteredServer.xml create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/xml/RegisteredServersStore.xml create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/xml/ServerGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/RegisteredServers/xml/inc_urn.xml create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/AlienSupport.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/CollectionInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/CrudInterfaces.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/API/DifferencingService.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/API/IDifferencer.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/API/IDiffgram.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/Differencing.vsmdi create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/Impl/Differencer.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/Impl/Diffgram.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/LocalTestRun.testrunconfig create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/SPI/MetadataNodeItemNamesProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/SPI/ProviderRegistry.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/SPI/Providers.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Differencing/StringDifferencing.strings create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/AstNode.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Axis.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/ConditionedSql.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/DataProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Depedencies.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/EnumObject.CS create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/EnumeratorException.CS create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Enviroment.CS create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Filter.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/FilterNode.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/FilterTranslate.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Function.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Group.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/ObjectCache.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/ObjectInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/ObjectLoadInfoManager.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/ObjectProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Operand.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Operator.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/PostProcess.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/RequestDependencies.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/RequestObjectInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/RequestParentSelect.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Root.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlConditionedStatement.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlLinkMultiple.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlObject.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlObjectBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlObjectProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlParentLink.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlPostProcess.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlPropertyLink.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/SqlRequest.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/Util.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/XPathException.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/XPathExpresionBlock.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/XPathHandler.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/XPathNodeType.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/XPathScanner.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/XmlCharType.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/XmlRead.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/XmlUtil.CS create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/enumerator.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/enumresult.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/executesql.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/filterdecoder.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/interfaces.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/request.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/sqlenumresult.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/statementbuilder.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/urn.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/xml/Config.xml create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Enumerator/xpathexpresion.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Exception.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcDomain.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcExecutionEngine.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcNotifyPropertyChanged.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcPropertyProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcPropertySet.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcScriptCollector.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcSimpleNode.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcStorageProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcSupportsDesignMode.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ISfcscript.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/LocalizableTypeConverter.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Microsoft.SqlServer.Management.Sdk.Sfc.csproj create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/NetCoreExtension.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/NonSfcObjectIterator.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ReadOnlyDictionary.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ReadOnlyList.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/ReadonlyInterfaces.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SQLToolsTraceListenerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Serializer.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcApplication.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcAttributes.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcCache.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcCollatedDictionaryBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcConnection.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcDependency.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcDictionaryBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcExecutionEngine.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcInstance.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcKey.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcListBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcMetadata.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcMetadataException.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcObjectExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcObjectFactory.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcObjectIterator.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcObjectQuery.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcPath.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcQueryExpression.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcReferenceCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcRegistration.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcSerializationAdapter.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcSerializerUpgrade.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcSimpleNode.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcSimpleNodeAdapter.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcStrings.strings create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcTsqlProcFormatter.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SfcValidation.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SmoManagementUtil.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/SqlStoreConnection.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/TraceHelper.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/TypeMetadata.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/Util.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/connectionhelpers.cs create mode 100644 src/Microsoft/SqlServer/Management/Sdk/Sfc/dmf.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/Microsoft.SqlServer.ServiceBrokerEnum.csproj create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/ServiceBrokerEnum.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/ServiceBrokerSqlObject.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/BrokerPriority.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/BrokerService.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/MessageType.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/MessageTypeMapping.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/RemoteServiceBinding.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/ServiceBroker.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/ServiceContract.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/ServiceContractMapping.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/ServiceQueues.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/ServiceRoute.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/inc_ext_prop.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/inc_policy_health_state.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/inc_urn.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Broker/xml/inc_urn_schema.xml create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/Backup.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/BackupEncryptionOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/BackupRestoreBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/DataTransferBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/DatabaseRestorePlanner.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/DatabaseRestorePlannerSR.strings create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/DependencyObject.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/Microsoft.SqlServer.SmoExtended.csproj create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/NetCoreHelpers.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/PageRestorePlanner.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/Prefetch.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/Restore.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/RestoreOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/RestorePlan.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/Transfer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/TransferBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/TransferInterfaces.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Extended/TransferWriter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Notebook/CellModel.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Notebook/CodeCellModel.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Notebook/MarkdownCellModel.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Notebook/Microsoft.SqlServer.Smo.Notebook.csproj create mode 100644 src/Microsoft/SqlServer/Management/Smo.Notebook/NotebookFileWriter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Notebook/NotebookModel.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Notebook/SmoNotebook.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/Crypto.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/Delegates.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/EnumRegisteredServer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/GroupRegistrationInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/Microsoft.SqlServer.RegSvrEnum.csproj create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/ParentRegistrationInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/RegServersException.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/RegistrationInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/RegistrationInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/RegistrationProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/SRError.strings create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/ServerInstanceRegistrationInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/ServerTypeRegistrationInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/Tracing.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/UIConnectionGroupInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/UIConnectionInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.RegSvrEnum/Utils.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ClientProtocol.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ClientProtocolBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/Collections/ClientProtocolCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/Collections/ServerIPAddressCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/Collections/ServerInstanceCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/Collections/ServerProtocolCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/Collections/ServiceAliasCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/Collections/ServiceCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ManagedComputer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/Microsoft.SqlServer.SqlWmiManagement.csproj create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ProtocolBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ProtocolPropertyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServerAlias.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServerAliasBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServerIPAddress.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServerIPAddressBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServerInstance.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServerInstanceBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServerProtocol.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServerProtocolBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/Service.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/ServiceBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/WmiCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/WmiCollectionTemplate.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/WmiMgmt.strings create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/WmiSmoObject.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.Wmi/coll_macros.h create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/CNetLibInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ClientProtocol.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ClientProtocolProperties.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ManagedComputer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/Microsoft.SqlServer.WmiEnum.csproj create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ProtocolPropertiesBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/SAlias.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ServerInstance.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ServerProtocol.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ServerProtocolIPAddress.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ServerProtocolIPAddressProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ServerProtocolProperties.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/Service.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/ServiceAdvancedProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/StringWmiEnumerator.strings create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/WmiBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/WmiEnum.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/WmiProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/wmienumresult.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo.WmiEnum/wmirequest.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AbstractCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AffinityInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AffinityInfoBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AffinityInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AlertBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AlertCategoryBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AlertSystemBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Application.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ApplicationRoleBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AsymmetricKeyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AuditBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AuditExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AuditSpecification.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AvailabilityDatabaseBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AvailabilityGroupBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AvailabilityGroupListenerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AvailabilityGroupListenerIPAddressBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AvailabilityGroupListenerIPAddressCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/AvailabilityReplicaBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/BackupDeviceBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/BackupMedia.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/BackupSet.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/BackupSetCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/BrokerLocalizableResources.strings create mode 100644 src/Microsoft/SqlServer/Management/Smo/BrokerPriorityBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/BrokerServiceBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/CPUBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/CategoryBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/CertificateBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/CheckBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/CollationInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/CollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AlertCategoryCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AlertCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ApplicationRoleCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AsymmetricKeyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AuditCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AvailabilityDatabaseCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AvailabilityGroupCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AvailabilityGroupListenerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AvailabilityGroupListenerIPAddressCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/AvailabilityReplicaCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/BackupDeviceCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/BrokerPriorityCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/BrokerServiceCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/CertificateCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/CheckCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ColumnCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ColumnEncryptionKeyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ColumnEncryptionKeyValueCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ColumnMasterKeyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ConfigurationValueCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/CredentialCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/CryptographicProviderCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DataFileCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DatabaseAuditSpecificationCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DatabaseCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DatabaseDdlTriggerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DatabaseReplicaStateCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DatabaseRoleCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DatabaseScopedConfigurationCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DatabaseScopedCredentialCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/DefaultCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/EdgeCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/EdgeConstraintClauseCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/EdgeConstraintCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/EndpointCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExtendedPropertyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExtendedStoredProcedureCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExternalDataSourceCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExternalFileFormatCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExternalLanguageCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExternalLanguageFileCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExternalLibraryCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExternalResourcePoolCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExternalStreamCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ExternalStreamingJobCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/FileGroupCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ForeignKeyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ForeignKeyColumnCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/FullTextCatalogCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/FullTextIndexColumnCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/FullTextStopListCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/IndexCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/IndexedColumnCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/IndexedXmlPathCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/IndexedXmlPathNamespaceCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/JobCategoryCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/JobScheduleCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/JobStepCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/LanguageCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/LinkedServerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/LinkedServerLoginCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/LogFileCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/LoginCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/MailAccountCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/MailProfileCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/MailServerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/MessageTypeCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/MessageTypeMappingCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/NumberedStoredProcedureCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/NumberedStoredProcedureParameterCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/OleDbProviderSettingsCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/OperatorCategoryCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/OperatorCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/OrderColumnCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/PartitionFunctionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/PartitionFunctionParameterCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/PartitionSchemeCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/PartitionSchemeParameterCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/PhysicalPartitionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/PlanGuideCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ProxyAccountCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/RemoteServiceBindingCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ResourcePoolCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ResumableIndexCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/RuleCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SchemaCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SearchPropertyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SearchPropertyListCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SecurityPolicyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SecurityPredicateCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SensitivityClassificationCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SequenceCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ServerAuditSpecificationCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ServerDdlTriggerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ServerRoleCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ServiceContractCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ServiceContractMappingCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ServiceQueueCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ServiceRouteCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SoapPayloadMethodCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SqlAssemblyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SqlAssemblyFileCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/StatisticCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/StatisticColumnCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/StoredProcedureCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/StoredProcedureParameterCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SymmetricKeyCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SynonymCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SystemDataTypeCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/SystemMessageCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/TableCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/TargetServerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/TargetServerGroupCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/TriggerCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserDefinedAggregateCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserDefinedAggregateParameterCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserDefinedDataTypeCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserDefinedFunctionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserDefinedFunctionParameterCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserDefinedMessageCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserDefinedTableTypeCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/UserDefinedTypeCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/ViewCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/WorkloadGroupCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/WorkloadManagementWorkloadClassifierCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/WorkloadManagementWorkloadGroupCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Collections/XmlSchemaCollectionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ColumnBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ColumnEncryptionKeyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ColumnEncryptionKeyValueBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ColumnEncryptionKeyValueCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ColumnMasterKeyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ConfigProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Configuration.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ConfigurationBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ConfigurationValueBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ContractExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/CredentialBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/CryptographicProviderBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DataClassificationScriptGenerator.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DataEnumerator.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DataScriptCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DataType.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseAuditSpecificationExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseAuditSpecificationbase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseDdlTriggerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseEncryptionKeyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseEncryptionKeyExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseFileMappingsDictionary.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseMirroringPayloadBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseOptionsBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabasePrefetch.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseReplicaStateBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseReplicaStateCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseRoleBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseScopedConfigurationBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DatabaseScopedCredentialBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DdlTriggerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DefaultBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DefaultConstraintBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DefaultRuleBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DependencyList.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DependencyTree.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DependencyWalker.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/DistributionColumnBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/EdgeConstraintBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/EdgeConstraintClauseBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/EndpointBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/EnumerableContainer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/EnumeratorContainer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExceptionTemplates.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExceptionTemplatesImpl.strings create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExecutionManager.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExtendedPropertyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExtendedStoredProcedureBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExtensionClass.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalDataSourceBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalFileFormatBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalLanguageBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalLanguageFileBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalLibraryBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalLibraryFileBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalResourcePoolAffinityInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalResourcePoolBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalStreamBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ExternalStreamingJobBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/FacetSR.strings create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/AvailabilityGroupState.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/DatabaseAdapter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/DatabaseMaintenance.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/DatabasePerformance.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/DatabaseSecurity.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/MultiPartName.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/Name.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/ServerAdapter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/ServerAudit.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/ServerConfiguration.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/ServerPerformance.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/ServerSecurity.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/ServerSelection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/ServerSetup.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/ServerSurfaceArea.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Facets/SmartAdminState.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/FilePerObjectWriter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ForeignKeyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ForeignKeyColumnBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/FullTextCatalogBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/FullTextIndexBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/FullTextIndexColumnBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/FullTextServiceBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/FullTextStopListBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/HttpProtocolBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IDatabaseOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ILoginOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IServerInformation.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IServerSettings.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ITableOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IUserOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IViewOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IndexBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IndexScripter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IndexedColumnBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IndexedXmlPathBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/IndexedXmlPathNamespaceBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/InformationBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/JobBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/JobCategoryBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/JobScheduleBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/JobScheduleCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/JobServerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/JobStepBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/LanguageBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/LinkedServerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/LinkedServerLoginBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/LocalizableResources.strings create mode 100644 src/Microsoft/SqlServer/Management/Smo/LoginBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/MailAccountBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/MailProfileBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/MailServerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/MasterKeyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/MessageCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/MessageObjectBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/MessageTypeBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/MessageTypeMappingBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Microsoft.SqlServer.Smo.csproj create mode 100644 src/Microsoft/SqlServer/Management/Smo/ModuleSuppressions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/NetCoreHelpers.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/NumaNodeBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/NumberedCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/OleDbProviderSettingsBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/OperatorBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/OperatorCategoryBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/OrderColumnBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ParamBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ParameterCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/PartitionFunctionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/PartitionFunctionParameterBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/PartitionSchemeBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/PartitionSchemeParameterBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/PhysicalPartitionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/PhysicalPartitionCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/PlanGuideBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/PlanGuideExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ProxyAccountBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/QueryStoreEnums.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/QueryStoreOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/RemoteDataArchiveMigrationState.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/RemoteDataArchiveMigrationStatusReport.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/RemoteDatabaseMigrationStatistics.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/RemoteServiceBindingBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/RemoteTableMigrationStatistics.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ResourceGovernorBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ResourcePoolAffinityInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ResourcePoolBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ResumableIndexBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/RuleBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SchedulerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SchemaBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SchemaCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptContainer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptContainerFactory.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptMaker.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptNameObjectBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptSchemaObjectBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptStringBuilder/IScriptStringBuilderParameter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptStringBuilder/ParameterValueFormat.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptStringBuilder/ScriptStringBuilder.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptStringBuilder/ScriptStringBuilderObjectParameter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptStringBuilder/ScriptStringBuilderParameter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/Scripter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptingInterfaces.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptingOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ScriptingPreferences.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SearchPropertyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SearchPropertyListBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SearchPropertyListConstants.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SearchPropertyListExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SearchPropertyListValidator.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SecurityPolicyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SecurityPredicateBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SecurityPredicateCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SecurityUtils.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SensitivityClassificationBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SequenceBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SequenceExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SerializationAdapters.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServerAuditSpecificationExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServerAuditSpecificationbase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServerDdlTriggerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServerEventsWorker.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServerProxyAccountBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServerRoleBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServerRoleExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceBrokerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceBrokerExtender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceBrokerPayloadBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceContractBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceContractMappingBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceMasterKeyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceQueueBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceRouteBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ServiceType.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SettingsBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SfcResolver.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SingleFileWriter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SingleFileWriterBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmartAdminBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoArrayList.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoComparer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoDependencyDiscoverer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoDependencyOrderer.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoDiffAdapters.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoObjectBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoSet.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoSortedList.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoStringWriter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoUrnFilter.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SmoUtility.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SoapMethodCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SoapMethodObject.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SoapPayloadBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SoapPayloadMethodBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SqlAssemblyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SqlAssemblyFileBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SqlMailBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SqlSmoObject.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/StatisticBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/StatisticColumnBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SymmetricKeyBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SynonymBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SystemDataTypeBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/SystemMessageBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/TableViewBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/TableViewTableTypeBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/TargetServerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/TargetServerGroupBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/TcpProtocolBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/TestModel.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/TraceHelper.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/TriggerBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserDefinedAggregateBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserDefinedAggregateParameterBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserDefinedFunctionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserDefinedMessageBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserDefinedTableTypebase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserDefinedTypeBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserOptionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserPermission.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserPermissionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/UserPermissionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/VersionUtils.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ViewBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/WorkloadGroupBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/WorkloadManagementWorkloadClassifierBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/WorkloadManagementWorkloadGroupBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/XmlSchemaCollectionBase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/availability_group_listener_ipaddress_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/coll_macros.h create mode 100644 src/Microsoft/SqlServer/Management/Smo/columnencryptionkeyvalue_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/database_replica_state_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/databasesnapshotextender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/dmf.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/enumerations.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/exception.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/files.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/message_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/numbered_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/numberedstoredprocedurebase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/ordinal_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/param_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/permissionInterfaces.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/permissionOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/permissionWorker.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/physicalpartitionsegment_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/properties.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/propertiesCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/propertiesMetadata.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/schedule_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/schema_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/script_patterns.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/securitypredicate_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/serverbase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/smoobjectextender.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/soapmethod_generic_collection.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/sqlexec.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/storedprocedurebase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/tablebase.cs create mode 100644 src/Microsoft/SqlServer/Management/Smo/uddtbase.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/ApplicationRole.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/AsymmetricKey.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Certificate.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/CheckConstraint.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Column.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Config.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/ConnectedSmoMetadataProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Credential.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Database.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DatabaseDdlTrigger.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DatabaseObject.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DatabaseObjectBase.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DatabaseOwnedObject.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DatabasePermission.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DatabasePrincipal.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DatabaseRole.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DefaultConstraint.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DisconnectedSmoMetadataProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/DmlTrigger.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/ExtendedStoredProcedure.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/ForeignKeyConstraint.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/ISmoDatabaseObject.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Index.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Login.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Microsoft.SqlServer.Management.SmoMetadataProvider.csproj create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/PrimaryKeyConstraint.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/RelationalIndex.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/ScalarValuedFunction.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Schema.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/SchemaOwnedModule.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/SchemaOwnedObject.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Server.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/ServerDdlTrigger.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/ServerOwnedObject.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/SmoBuiltInFunctionLookup.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/SmoCollationLookup.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/SmoMetadataFactory.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/SmoMetadataProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/SmoSystemDataTypeLookup.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/SpatialIndex.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Statistics.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/StoredProcedure.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Synonym.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Table.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/TableValuedFunction.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/TableViewBase.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/TableViewTableTypeBase.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/TraceHelper.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/UniqueConstraint.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/UniqueConstraintBase.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/User.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/UserDefinedAggregate.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/UserDefinedClrType.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/UserDefinedDataType.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/UserDefinedFunction.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/UserDefinedTableType.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/Utils.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/View.cs create mode 100644 src/Microsoft/SqlServer/Management/SmoMetadataProvider/XmlIndex.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlAssessment/Microsoft.SqlServer.Management.Assessment.csproj create mode 100644 src/Microsoft/SqlServer/Management/SqlAssessment/SqlAssessmentExtensions.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/AvailableSQLServers.CS create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/ConditionedSql.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/DataProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/DatabaseLevel.CS create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/DatabaseOption.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/DdlParser.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/EventSetBase.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/Microsoft.SqlServer.SqlEnum.csproj create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcess.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessAuditProperties.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessCreateDateTime.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessDatabaseInsideAttribs.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessEvents.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessFile.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessOwner.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessParam.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessTable.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessText.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessUser.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessVersion.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessWithRowCaching.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/PostProcessXml.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/QueryIsolation.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/RequestParentSelect.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/Server.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlConditionedStatement.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlEnumDependencies.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlEnumNetCoreExtension.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlEnumStatementBuilderTestHook.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlLinkMultiple.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlObject.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlObjectBase.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlObjectProperty.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlObjectUnion.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlParentLink.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlPostProcess.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlPropertyLink.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlRequest.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/SqlUtil.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/StringSqlEnumerator.strings create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/TypeConverters.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/Util.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/XmlRead.CS create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/diskfile.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/enumstructs.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/executesql.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/permenum.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/primaryfile.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/restoreplan.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/sqlenumresult.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/sqlsecurestring.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/statementbuilder.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AditionalParameters.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AffinityInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AgentPerfInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AgentSubSystems.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AlertNotification.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ApplicationRole.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AsymmetricKey.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Audit.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AvailabilityDatabase.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AvailabilityGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AvailabilityGroupListener.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AvailabilityGroupListenerIPAddress.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AvailabilityReplica.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/AvailableMedia.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/BackupDevice.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/BoundColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/CdromDrive.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/CloudDependency.sql create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ClusterMemberState.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ColumnEncryptionKey.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ColumnEncryptionKeyValue.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ColumnMasterKey.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ComputedText.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Configuration.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ConfigurationValue.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Connection.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Credential.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/CryptographicProvider.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Database.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseAuditSpecification.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseAuditSpecificationDetail.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseDdlTrigger.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseDdlTriggerEvent.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseDiagram.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseEncryptionKey.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseLocks.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseMappings.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseMasterKey.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseMirroringWitnessRole.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseOptions.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseReplicaState.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseRole.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseRoleMember.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseScopedConfiguration.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DatabaseScopedCredential.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DbExtendedProperty.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Default.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DefaultColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DefaultConstrain.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DefaultDatatype.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DiskFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/DistributionColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Drive.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ErrorLog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ErrorLogText.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalDataSource.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalFileFormat.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalLanguage.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalLanguageFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalLibrary.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalLibraryFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalResourcePool.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalResourcePoolAffinityInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalStream.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ExternalStreamingJob.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FKColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/File.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FileGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FixedDrive.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ForeignKey.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FullTextCatalog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FullTextFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FullTextIndex.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FullTextIndexColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FullTextLanguage.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FullTextService.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FullTextStopList.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/FulltextSemanticLanguage.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/IndexFragDetail.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/IndexFragFast.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/IndexFragSampled.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/IndexedColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/IndexedXmlPath.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/IndexedXmlPathNamespace.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Information.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Job.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/JobServer.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/JobStepOutputLog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/KatmaiDependency.sql create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/KeyEncryption.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Lock.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/LogFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/LogMarkHistory.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Mail.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MailAccount.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MailProfile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MailProfileAccounts.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MailProfilePrincipals.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MailServer.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Mail_ErrorLog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MaintSubPlanLog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MaintSubPlanLogDetail.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MaintenancePlan.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MaintenancePlanDeprecated.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MaintenanceSubPlan.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/MasterKeyEncryption.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Member.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NTGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NTLogin.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/Application.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ApplicationDatabaseFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ApplicationDatabaseFileGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ApplicationDatabaseLogFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ApplicationDatabaseOptions.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ContentFormatter.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ContentFormatterArgument.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/DeliveryChannel.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/DeliveryChannelArgument.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/Distributor.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/EventChronicle.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/EventChronicleRule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/EventClass.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/EventField.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/Generator.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/HostedEventProvider.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/HostedEventProviderArgument.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/Instance.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/InstanceDatabaseFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/InstanceDatabaseFileGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/InstanceDatabaseLogFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/InstanceDatabaseOptions.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/NonHostedEventProvider.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/NotificationClass.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/NotificationClassProtocol.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/NotificationComputedField.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/NotificationField.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/NotificationServices.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ProtocolDefinition.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ProtocolField.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/ProtocolRetrySchedule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/SubscriptionChronicle.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/SubscriptionClass.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/SubscriptionConditionEventRule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/SubscriptionConditionScheduledRule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/SubscriptionEventRule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/SubscriptionField.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/SubscriptionScheduledRule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NotificationServices/VacuumSchedule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NumberedSPParams.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/NumberedStoredProcedure.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/OLEDBProvProp.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/OLEDBProvider.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/OLEDBProviderSetting.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/OperatorJobNotification.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/OperatorNotification.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/OrderColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PartitionFunction.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PartitionFunctionParameter.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PartitionFunctionRangeValue.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PartitionScheme.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PartitionSchemeFileGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PartitionSchemeParameter.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PerfInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PhysicalPartition.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/PlanGuide.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Process.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ProxyAccount.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ProxyAccountPrincipals.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/QueryStoreOptions.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/README.md create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/RemoteDrive.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/RemoteMaintenancePlan.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/RemotePlanLog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/RemotePlanLogDetail.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/RemoteSubPlan.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/RemovableDrive.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ReplicaClusterNode.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ResourceGovernor.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ResourcePool.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ResourcePoolAffinityInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ResourcePoolScheduler.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Rule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/RuleColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/RuleDatatype.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SPParams.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SPPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SQL11Dependency.sql create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SQL13Dependency.sql create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Schema.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SearchProperty.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SearchPropertyList.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SecurityPolicy.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SecurityPredicate.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SensitivityClassification.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ServerAuditSpecification.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ServerAuditSpecificationDetail.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ServerDdlTrigger.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ServerDdlTriggerEvent.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ServerProxyAccount.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ServerRole.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Settings.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/ShilohDependency.sql create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SmartAdmin.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SqlAssembly.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SqlAssemblyFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SqlBoot.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/StatisticColumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/StoredProcedure.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/SymmetricKey.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/TablePerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/TapeDevice.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Text.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/UDF.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/UDFParams.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/UserDefinedAggregate.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/UserDefinedAggregateParameter.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/UserDefinedTableType.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/UserDefinedType.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/UserMessage.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/UserOption.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/WorkloadGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/WorkloadManagementWorkloadClassifier.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/WorkloadManagementWorkloadGroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/XStoredProcedure.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/XmlNamespace.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/XmlSchemaCollection.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/YukonDependency.sql create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/Yukonuserownedobject.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/YukonuserownedobjectSchema.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_ErrorLog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_ErrorLogText.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_alert.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_alert_categories.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_alertsystem.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_job_categories.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_jobalert.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_jobhistory.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_jobschedule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_jobtargetservers.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_operator.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_operator_categories.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_targetserver.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_targetservergroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/agent_targetservermember.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/backupfile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/backupmediafamily.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/backupmediaset.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/backupset.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/certificate.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/check.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/clusterSubnet.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/collation.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/column.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/edgeconstraint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/edgeconstraintclause.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/endpoint/database_mirroring_endpoint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/endpoint/endpoint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/endpoint/http_endpoint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/endpoint/service_broker_endpoint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/endpoint/soap_endpoint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/endpoint/soap_endpoint_method.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/endpoint/tcp_endpoint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/endpoint/via_endpoint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/extendedproperty/ExtendedProperty.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/extendedproperty/Level0ExtendedProperty.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/extendedproperty/Level1ExtendedProperty.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/extendedproperty/Level2ExtendedProperty.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/extendedproperty/Level2IndexExtendedProperty.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/extendedproperty/inc_level2SupportProperties.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/extendedproperty/inc_shilohExtendedProperty.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/fulltext_ErrorLog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/fulltext_ErrorLogText.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_DbFile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_DefaultRule_column.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_IndexFrag.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_assembly_module_link.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_column_reference.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_constraint.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_ddl_trigger_event.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_fulltext.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_hadr_policy_health_state.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_hadr_setting.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_named_object.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_object.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_objprop_table_view.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_partition_scheme_parent.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_policy_health_state.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_ruledef80.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_server.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_server_sql_module_link.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_sql_module.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_sql_module_JustText.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_storage.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_system_object.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_system_table_view_sp_udf.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_text.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_type.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_type_reference.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_urn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_urn_collate_default.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_urn_message.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_urn_schema.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_urn_single.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/inc_urn_soapmethod.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/include/mixed_module_link.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/include/parameter.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/include/sql_module_link.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/index.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/jobstep.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/language.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/linkedserver.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/linkedservercatalog.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/linkedserverlogin.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/linkedservertable.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/linkedserverview.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/login.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/ColumnPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/DBObjectPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/DBPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/ShilohYukonPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/SrvObjectPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/SrvYukonObjectPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/SrvYukonPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/TablePerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/YukonObjectPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/YukonSchemaObjectPerm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/dbfixedroleperm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/perm/inc_perm.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/primarychildren.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/primaryfile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/restore_plan.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/restorefile.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/restorefilegroup.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/restorehistory.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/resumableindex.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/schedule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/sdt.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/sequence.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/server.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/servicemasterkey.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/sharedschedule.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/statistic.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/synonym.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/sysmessage.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/table.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/temp_table.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/transaction.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/trigger.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/uddt.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/udfcolumn.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/user.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/view.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlEnum/xml/xmltype.xml create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/IScriptPublishOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/Microsoft.SqlServer.Management.SqlScriptPublish.csproj create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SR.strings create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlQueryHandler.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlScriptGenerator.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlScriptOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlScriptOptionsSR.strings create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlScriptPublishEnums.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlScriptPublishException.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlScriptPublishModel.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlScriptPublishModelTraceHelper.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/SqlTransferOptions.cs create mode 100644 src/Microsoft/SqlServer/Management/SqlScriptPublish/TableSelectStatement.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/Microsoft.SqlServer.Management.XEvent.csproj create mode 100644 src/Microsoft/SqlServer/Management/XEvent/Server/ProviderConstants.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/Server/ServerEventProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/Server/ServerSessionProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/Server/ServerTargetProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/Server/ServerXEStore.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/Server/ServerXEStoreProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/Action.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/ActionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/ActionInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/ActionInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/Constants.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/DataEventColumnInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/DataEventColumnInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/Event.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/EventCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/EventColumnInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/EventColumnInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/EventField.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/EventFieldCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/EventInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/EventInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/ExceptionTemplates.strings create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/MapInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/MapInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/MapValueInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/MapValueInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/NetCoreHelpers.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/Package.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PackageCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredCompareExpr.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredCompareInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredCompareInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredExpr.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredFunctionExpr.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredLogicalExpr.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredOperand.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredSourceInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredSourceInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/PredValue.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/Predicate.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/ProviderInterfaces.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/ReadOnlyEventColumnInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/ReadOnlyEventColumnInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/Session.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/SessionCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/SessionProviderBase.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/Target.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TargetCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TargetColumnInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TargetColumnInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TargetField.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TargetFieldCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TargetInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TargetInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TraceHelper.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TypeInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/TypeInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XEObjectInfo.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XEObjectInfoCollection.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XEStore.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XEStoreObjectMetadata.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XEStoreSessionHelpers.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XEUtils.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XEventException.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XsdResource.Designer.cs create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/XsdResource.resx create mode 100644 src/Microsoft/SqlServer/Management/XEvent/core/xeconfig.xsd create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/Constants.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/DatabaseEventProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/DatabaseSessionProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/DatabaseTargetProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/DatabaseXEStore.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/DatabaseXEStoreProvider.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/ExceptionTemplates.strings create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/Microsoft.SqlServer.Management.XEventDbScoped.csproj create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/NetCoreHelpers.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/ProviderConstants.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/XsdResource.Designer.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScoped/XsdResource.resx create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/Microsoft.SqlServer.Management.XEventDbScopedEnum.csproj create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/XEStoreObject.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/XEventObject.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/Action.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/ActionInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/DataEventColumnInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/Event.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/EventColumnInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/EventField.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/EventInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/MapInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/MapValueInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/Package.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/PredCompareInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/PredSourceInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/ReadOnlyEventColumnInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/Session.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/Target.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/TargetColumnInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/TargetField.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/TargetInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/TypeInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/XEStore.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventDbScopedEnum/xml/inc_urn.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/Microsoft.SqlServer.Management.XEventEnum.csproj create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/XEventObject.cs create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/Action.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/ActionInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/DataEventColumnInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/Event.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/EventColumnInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/EventField.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/EventInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/MapInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/MapValueInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/Package.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/PredCompareInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/PredSourceInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/ReadOnlyEventColumnInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/Session.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/Target.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/TargetColumnInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/TargetField.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/TargetInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/TypeInfo.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/XEStore.xml create mode 100644 src/Microsoft/SqlServer/Management/XEventEnum/xml/inc_urn.xml create mode 100644 src/Microsoft/SqlServer/SqlClrProvider/AssemblyInfo.cs create mode 100644 src/Microsoft/SqlServer/SqlClrProvider/FxCopExclusions.cs create mode 100644 src/Microsoft/SqlServer/SqlClrProvider/Microsoft.SqlServer.SqlClrProvider.csproj create mode 100644 src/Microsoft/SqlServer/SqlClrProvider/SqlClrProvider.cs create mode 100644 src/Microsoft/dirs.proj create mode 100644 src/PackageBuild/Microsoft.SqlServer.Management.Assessment.nuspec create mode 100644 src/TestReferences.proj create mode 100644 src/UnitTest/Common/UnitTestBase.cs create mode 100644 src/UnitTest/ConnectionInfo/ConnectionSettingsTests.cs create mode 100644 src/UnitTest/ConnectionInfo/LocalizableTypeConverterTests.cs create mode 100644 src/UnitTest/ConnectionInfo/Microsoft.SqlServer.Test.ConnectionInfoUnitTests.csproj create mode 100644 src/UnitTest/ConnectionInfo/ServerConnectionTests.cs create mode 100644 src/UnitTest/ConnectionInfo/ServerInformationTests.cs create mode 100644 src/UnitTest/ConnectionInfo/SqlConnectionInfoTests.cs create mode 100644 src/UnitTest/Directory.Build.props create mode 100644 src/UnitTest/Directory.Build.targets create mode 100644 src/UnitTest/Dmf/ExpressionTreeTests.cs create mode 100644 src/UnitTest/Dmf/FacetTests.cs create mode 100644 src/UnitTest/Dmf/Microsoft.SqlServer.Test.DmfUnitTests.csproj create mode 100644 src/UnitTest/Dmf/PolicyStoreTests.cs create mode 100644 src/UnitTest/Dmf/TestData/ExpressionTree_OperatorNodes.xml create mode 100644 src/UnitTest/Notebook/Microsoft.SqlServer.Test.SmoNotebookUnitTests.csproj create mode 100644 src/UnitTest/Notebook/ModelTests.cs create mode 100644 src/UnitTest/Notebook/NotebookFileWriterTests.cs create mode 100644 src/UnitTest/Notebook/SmoNotebookTests.cs create mode 100644 src/UnitTest/RegSvrEnum/Microsoft.SqlServer.Test.RegSvrEnumUnitTests.csproj create mode 100644 src/UnitTest/RegSvrEnum/RegistrationInfoTests.cs create mode 100644 src/UnitTest/RegSvrEnum/UIConnectionInfoTests.cs create mode 100644 src/UnitTest/RegisteredServers/AdsTests.cs create mode 100644 src/UnitTest/RegisteredServers/Microsoft.SqlServer.Test.RegisteredServersUnitTests.csproj create mode 100644 src/UnitTest/RegisteredServers/RegisteredServersTests.cs create mode 100644 src/UnitTest/RegisteredServers/TstRegSrvr.xml create mode 100644 src/UnitTest/RegisteredServers/sample.json create mode 100644 src/UnitTest/Sfc/FilterNodeTests.cs create mode 100644 src/UnitTest/Sfc/Microsoft.SqlServer.Test.SfcUnitTests.csproj create mode 100644 src/UnitTest/Sfc/SfcSerializerTests.cs create mode 100644 src/UnitTest/Sfc/UrnTests.cs create mode 100644 src/UnitTest/Smo/AffinityInfoTests.cs create mode 100644 src/UnitTest/Smo/BackupRestoreTests.cs create mode 100644 src/UnitTest/Smo/DataTypeTests.cs create mode 100644 src/UnitTest/Smo/DatabaseTests.cs create mode 100644 src/UnitTest/Smo/DdlParserTests.cs create mode 100644 src/UnitTest/Smo/FacetTests.cs create mode 100644 src/UnitTest/Smo/Microsoft.SqlServer.Test.SmoUnitTests.csproj create mode 100644 src/UnitTest/Smo/PathWrapperTests.cs create mode 100644 src/UnitTest/Smo/PermissionDecoderTests.cs create mode 100644 src/UnitTest/Smo/QueryIsolationTests.cs create mode 100644 src/UnitTest/Smo/ScriptStringBuilderTests.cs create mode 100644 src/UnitTest/Smo/SerializationTests.cs create mode 100644 src/UnitTest/Smo/ServerEventsTests.cs create mode 100644 src/UnitTest/Smo/ServerTests.cs create mode 100644 src/UnitTest/Smo/SingleFileWriterTEsts.cs create mode 100644 src/UnitTest/Smo/SqlObjectTests.cs create mode 100644 src/UnitTest/Smo/SqlSmoObjectTests.cs create mode 100644 src/UnitTest/SqlScriptPublish/EnumTests.cs create mode 100644 src/UnitTest/SqlScriptPublish/Microsoft.SqlServer.Test.SqlScriptPublishTests.csproj create mode 100644 src/UnitTest/SqlScriptPublish/SqlScriptOptionsTests.cs create mode 100644 src/UnitTest/SqlScriptPublish/SqlScriptPublishModelTests.cs create mode 100644 src/UnitTest/SqlScriptPublish/TestPublishingOptions.cs create mode 100644 src/UnitTest/XEventDbScoped/ExceptionTests.cs create mode 100644 src/UnitTest/XEventDbScoped/Microsoft.SqlServer.Test.XEventDbScopedUnitTests.csproj create mode 100644 src/UnitTest/XEventDbScoped/PredValueUnitTest.cs create mode 100644 src/UnitTest/XEventDbScoped/SessionUnitTest.cs create mode 100644 src/UnitTest/XEventDbScoped/TargetUnitTest.cs create mode 100644 src/UnitTest/dirs.proj create mode 100644 src/UnitTest/unittest.runsettings create mode 100644 src/dirs.proj create mode 100644 src/tests.proj diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..b9262271 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,154 @@ +# top-most EditorConfig file +root = true + +# Don't use tabs for indentation. +[*] +indent_style = space +# (Please don't specify an indent_size here; that has too many unintended consequences.) + +# IDE0073: File header +file_header_template = Copyright (c) Microsoft Corporation.\nLicensed under the MIT license. + +# Code files +[*.{cs, sql}] +indent_size = 4 + +# JSON and XML files +[*.{json,xml,runsettings} ] +indent_size = 2 + +[*.cs] +### Dotnet code style settings ### + +# Organize usings +dotnet_separate_import_directive_groups = false +dotnet_sort_system_directives_first = true + +# Avoid "this." if not necessary +dotnet_style_qualification_for_field = false:suggestion +dotnet_style_qualification_for_property = false:suggestion +dotnet_style_qualification_for_method = false:suggestion +dotnet_style_qualification_for_event = false:suggestion + +# Use language keywords instead of framework type names for type references +dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion +dotnet_style_predefined_type_for_member_access = true:suggestion + +# Parentheses preferences +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:suggestion +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggestion +dotnet_style_parentheses_in_other_operators = never_if_unnecessary:suggestion +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggestion + +# Modifier preferences +dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion + +# Field preferences +dotnet_style_readonly_field = true:suggestion + +# Parameter preferences +dotnet_code_quality_unused_parameters = all:suggestion + +# Expression-level preferences +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_object_initializer = true:suggestion +dotnet_style_prefer_auto_properties = true:suggestion +dotnet_style_prefer_compound_assignment = true:suggestion +dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion +dotnet_style_prefer_conditional_expression_over_return = true:suggestion +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion +dotnet_style_prefer_inferred_tuple_names = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion +dotnet_style_prefer_simplified_interpolation = true:suggestion + +#### C# Coding Conventions #### + +# Prefer "var" everywhere +csharp_style_var_for_built_in_types = true:suggestion +csharp_style_var_when_type_is_apparent = true:suggestion +csharp_style_var_elsewhere = true:suggestion + +# Prefer method-like constructs to have a block body, except for lambdas +csharp_style_expression_bodied_methods = false:none +csharp_style_expression_bodied_constructors = false:none +csharp_style_expression_bodied_operators = false:none +csharp_style_expression_bodied_local_functions = false:none +csharp_style_expression_bodied_lambdas = true:none + + +# Pattern matching preferences +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion +csharp_style_prefer_switch_expression = true:suggestion + +# Null-checking preferences +csharp_style_conditional_delegate_call = true:suggestion + +# Modifier preferences +csharp_prefer_static_local_function = true:suggestion +csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion + +# Code-block preferences +csharp_prefer_braces = when_multiline:suggestion +csharp_prefer_simple_using_statement = true:suggestion + +# Expression-level preferences +csharp_style_unused_value_assignment_preference = discard_variable:suggestion +csharp_prefer_simple_default_expression = true:suggestion +csharp_style_deconstructed_variable_declaration = true:suggestion +csharp_style_inlined_variable_declaration = true:suggestion +csharp_style_pattern_local_over_anonymous_function = true:suggestion +csharp_style_prefer_index_operator = true:suggestion +csharp_style_prefer_range_operator = true:suggestion +csharp_style_throw_expression = true:suggestion +csharp_style_unused_value_expression_statement_preference = discard_variable:suggestion + +# 'using' directive preferences +csharp_using_directive_placement = outside_namespace:suggestion + +#### C# Formatting Rules #### + +# New line preferences +csharp_new_line_before_open_brace = all +csharp_new_line_before_else = true +csharp_new_line_before_catch = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_between_query_expression_clauses = true + +# Indentation preferences +csharp_indent_block_contents = true +csharp_indent_braces = false +csharp_indent_case_contents = true +csharp_indent_case_contents_when_block = true +csharp_indent_labels = no_change +csharp_indent_switch_labels = true + +# Space preferences +csharp_space_after_cast = false +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_after_comma = true +csharp_space_after_dot = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_after_semicolon_in_for_statement = true +csharp_space_around_binary_operators = before_and_after +csharp_space_around_declaration_statements = false +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_before_comma = false +csharp_space_before_dot = false +csharp_space_before_open_square_brackets = false +csharp_space_before_semicolon_in_for_statement = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_parenthesis = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_between_square_brackets = false + diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..1b851d0d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# Use text conventions for commonly used text extensions. +*.csv text +*.ini text +*.json text +*.txt text +*.xml text +*.sql diff + +# Denote all files that are truly binary and should not be modified. +*.dll binary +*.exe binary +*.gz binary +*.ico binary +*.jpg binary +*.lib binary +*.pdb binary +*.pdf binary +*.png binary +*.wim binary +*.zip binary diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 00000000..d13c975f --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,181 @@ + + +# Copilot Repository Instructions (SMO) + +## 1. Overview +This repository implements SQL Management Objects (SMO). SMO provides a rich object model to create, alter, drop, enumerate, and script SQL Server / Azure SQL database objects. + +Primary goals when contributing: +1. Maintain backward compatibility of public APIs. +2. Preserve scripting determinism (idempotent + stable ordering). +3. Ensure test coverage for every bug fix or behavioral change. + +Use the `#solution` context keyword in Copilot Chat to supply full solution-wide context for better answers. + + +## 2. Tech Stack & Build +Language: C# (.NET). +Build system: MSBuild / `dotnet build` via solution `dirs.sln` (aggregator) or project-level builds. +Delay-signed assemblies are required for testing inside SSMS. +Generated / intermediate content lives under `obj/` and must never be edited directly. +When invoking "dotnet build" or "dotnet test" set DOTNET_ROLL_FORWARD=Major to avoid SDK version mismatches. +If localization projects fail to build, you can use `/p:EnableLocalization=false` to skip them. + +### Build Shortcuts (via init.cmd) +After running `init.cmd`, these doskey aliases are available: +- `bsmont` - Build SMO without tests (faster when you don't need test assemblies) +- `msb` - MSBuild with localization disabled +- `rtests` - Run tests from bin\debug\net472 + +### Key Directories +- `src/` – Primary source. +- `SmoBuild/` & `Build/` – Build infrastructure scripts/config. +- `docs/` – Public documentation artifacts. + +### Do Not Modify +- `obj/` generated files. + +## 3. Code Generation & Adding Properties +When adding a property to an existing SMO object: +1. Update `src/codegen/cfg.xml` (define metadata). +2. Update the object's XML under `src/Microsoft/SqlServer/Management/SqlEnum/xml`. +3. Regenerate if a codegen step exists (follow existing patterns; prefer invoking existing build targets instead of ad-hoc scripts). +4. Add tests validating: + - Reflection/name exposure (use `nameof(PropertyName)` not string literals). + - Scripting behavior (included/excluded when default vs. non-default). + - Serialization (if applicable). + +## 4. Adding a new datatype +When adding a new datatype: +1. Ensure that its properties (such as length, precision or scale) are included in SPParams.xml, UDF.xml and UDFParams.xml. +2. Update code marked with a `// SMO_NEW_DATATYPE` comment to handle the new datatype. + +## 4A. Adding a new specialized index type +When adding support for a new specialized index type (e.g., Vector Index, Spatial Index, XML Index): +1. **Define enums in `enumstructs.cs`**: Add the enum type to `IndexType` and any supporting enums for configuration (e.g., `VectorIndexMetric`). Use `[TsqlSyntaxString]` attributes to map enum values to T-SQL syntax strings. +2. **Update `index.xml`**: Add version-gated `property_link` elements joining to the appropriate system catalog views (e.g., `sys.vector_indexes`). Define properties with appropriate version gates (min_major, min_build). Return empty strings for unsupported versions to avoid breaking queries. +3. **Update `cfg.xml`**: Add property definitions with `generate="true"` and `is_intrinsic="true"` (if needed for scripting). Properties marked intrinsic are batched during enumeration and included in `GetScriptFields()`. +4. **Implement specialized scripter in `IndexScripter.cs`**: Create a new class derived from `IndexScripter` (e.g., `VectorIndexScripter`). Override `ScriptCreateHeaderDdl()` for the CREATE statement, `ScriptIndexOptions()` for WITH clause parameters, and `Validate()` for validation logic. Add case to `GetIndexScripter()` switch statement. +5. **Add validation methods**: Implement `Check[IndexType]Properties()` to validate that properties specific to this index type aren't set on other index types. Call from `CheckRegularIndexProperties()`. +6. **Use version helpers**: Use `ThrowIfBelowVersionXXX()` or `ThrowIfNotCloudAndBelowSpecifiedVersion()` for version validation. Add new version helpers to `SqlSmoObject.cs` if needed. +7. **Handle complex properties**: For properties containing JSON or complex structures, create a dedicated class (e.g., `VectorIndexBuildProperties`) to deserialize and provide strongly-typed access. Reference `System.Text.Json` if using JsonObject/JsonNode. +8. **Version-gate property_link carefully**: When SQL versions (e.g., MI CTP vs GA) have schema differences, use min_build/max_build to avoid querying non-existent catalog views. Return empty defaults for unsupported versions. + - Example: Vector indexes require build 950+ for SQL Server 2025. Use `` to gate the property_link. + - For versions below the threshold, define fallback properties that return empty strings (e.g., `N''`) to avoid query failures. +9. **Update test baselines**: Add integration tests using dedicated baseline databases (see `DbSetup_XXX_All.sql`). Update all version-specific baseline XML files to include new properties with appropriate exception types (UnsupportedVersionException, UnknownPropertyException) for older versions. +10. **Run CodeGen**: Regenerate partial classes by building the solution, which runs CodeGen.exe over cfg.xml. + +## 5. Testing Conventions +Framework: NUnit (assert style) with VSTest discovery attributes (`[TestClass]`, `[TestMethod]`, etc.). Use NUnit constraints inside methods for clarity. + +Rules: +- Every bug fix must ship with at least one test that fails prior to the fix and passes after. +- Tests using internal infrastructure or tenant resources must live in the `SmoInternal` project. +- Long, descriptive test method names: Start with the SMO object type being tested, then scenario, then expected outcome. +- Always include assertion messages clarifying intent & expected result. +- Logs should make failures diagnosable without rerunning with a debugger. + +Pattern example (pseudo): +``` +// ObjectType_Scenario_ExpectedResult +[TestMethod] +public void Table_CreateWithFileGroup_IncludesFileGroupInScript() { /* ... */ } +``` + +### Test Versioning and Targeting +- Use `[SupportedServerVersionRange]` to specify version ranges (MinMajor, MaxMajor, Edition, HostPlatform). + +### Test Environment Notes +- Only delay-signed binaries can be loaded in SSMS for integration-style validation. +- Running tests against the SQL Managed Instance does not work over AzVpn except from an Azure VM. +- Test resources live in the TME tenant. Authenticate first: + - `az login --tenant 70a036f6-8e4d-4615-bad6-149c02e7720d` + - Or sign in via Visual Studio to that tenant. + +## 6. Coding Guidelines +- Prefer `nameof(PropertyOrType)` over hard-coded strings. +- Avoid adding links to internal (non-public) resources in comments. +- Keep public API surface stable; if change is unavoidable, document rationale in the PR description + changelog. +- Follow existing nullability / exception patterns in similar classes before introducing new patterns. +- Use expressive NUnit constraint assertions (`Assert.That(x, Is.Not.Null, "...context...")`). + +## 7. Common Tasks for Copilot +| Task | Guidance | +|------|----------| +| Add new SMO property | Follow Section 3; add tests per Section 5. | +| Add new specialized index type | Follow Section 4A step-by-step; reference Vector Index implementation as example. | +| Fix bug in scripting | Reproduce with a failing test; fix; ensure deterministic script ordering. | +| Add integration test hitting internal MI | Place in `SmoInternal`; guard with environment/tenant checks. | +| Refactor constant string names | Replace with `nameof`; ensure no breaking rename side-effects. | +| Improve test diagnostics | Add assertion messages & context logging (but no secrets). | +| Add version-specific helper | Add `ThrowIfBelowVersionXXX()` to SqlSmoObject.cs following existing pattern. | +| Handle JSON properties | Create strongly-typed wrapper class (see `VectorIndexBuildProperties.cs`); reference System.Text.Json. | + +## 8. Do / Avoid +Do: +- Add a failing test before a fix. +- Keep changes minimal & localized. +- Update documentation if behavior shifts. +- Use strongly-typed wrapper classes for JSON properties from catalog views (e.g., `VectorIndexBuildProperties` wrapping JSON from `sys.vector_indexes.build_parameters`). +- Add XML comments to all public classes and properties for IntelliSense support. + +Avoid: +- Editing `obj/` or generated artifacts manually. +- Introducing hard-coded server names, credentials, or internal URLs. +- Placing secret values or tokens in source or tests. +- Publishing internal-only folder content to public mirrors. +- Exposing raw JSON strings in public SMO APIs; wrap them in typed classes. + +## 9. Security & Compliance +- Never commit credentials, connection strings with auth info, or access tokens. +- Sanitize test output so it omits sensitive hostnames or tenant-specific secrets. +- Use environment variables or secure configuration providers for runtime secrets (not stored in repo). + + +## 11. Performance Considerations +When modifying enumeration or scripting logic: +- Avoid excessive round-trips to SQL Server. +- Batch queries or reuse existing metadata caches where feasible. +- Maintain lazy evaluation patterns already present. +- Mark properties as `is_intrinsic="true"` in cfg.xml if they are commonly needed for scripting. Intrinsic properties are prefetched in batch queries (via `GetScriptFields()` and stored in `XSchemaProps`), while non-intrinsic properties are fetched on-demand (stored in `XRuntimeProps`). +- When adding properties to index.xml or other XML metadata files, use `property_link` with `left_join` to batch-fetch related data from system views in a single query per collection. + + +## 12. Review Checklist (Quick) +Before concluding a change ask Copilot (or yourself): +1. Is there a test proving correctness (and guarding regressions)? +2. Are any public APIs altered? If yes, documented? +3. Did I avoid editing generated or mirrored exclusion folders? +4. Are all new property names using `nameof` where needed? +5. Are logs/assert messages clear & actionable? + +## 13. Troubleshooting +- Build errors in generated code: Ensure codegen inputs (`cfg.xml` & XML metadata) are valid; re-run full solution build. +- Tests failing only in CI: Check for dependency on local environment (tenant login missing). Add explicit skip or setup logic. +- Script differences: Confirm ordering rules and compare with existing similar object's script builder. +- **Version compatibility issues**: When adding features for new SQL versions, always include version guards using `min_major`, `min_build`, and `max_build` attributes in XML metadata. For Managed Instance (MI), which may lag behind on-premises releases, use build-level version gates to prevent querying catalog views that don't exist yet. Return empty/default values for unsupported versions rather than failing queries. +- **Missing property errors**: If you see PropertyMissingException during scripting, the property likely needs to be added to `GetScriptFields()` in the base class and marked as `is_intrinsic="true"` in cfg.xml for batch fetching. +- **Test baseline updates**: When modifying object properties, run baseline verification tests and apply regenerated baselines. Baseline XML files under `Baselines/SqlvXXX/` directories must be updated to include new properties with appropriate exception markers (UnsupportedVersionException, UnknownPropertyException) for versions that don't support them. + +## 14. Contact / Escalation +Use normal repository contribution channels (PR reviewers / CODEOWNERS-defined maintainers). Do not embed private distribution lists here. + +## 15. Supplemental READMEs +Many subdirectories include a focused `README.md` describing domain specifics (e.g., code generation nuances, build/task scripts, test harness caveats). When performing a change in a given folder: +1. Look for the nearest `README.md` walking upward from the target file. +2. Prefer those localized instructions over generic assumptions (they may specify required build props, environment variables, or regeneration steps). +3. If instructions appear outdated, note discrepancies in your PR description and (ideally) update the README in the same change—small, surgical edits only. +4. Do not duplicate content: link (relative path) to the authoritative README section instead of copying. + +Agent Hint: Before adding or altering code in an unfamiliar area, read the local README to pick up naming, nullability, threading, and performance patterns to mirror. + +--- +Concise Canonical Rules (TL;DR): +1. Always add a failing test for a bug fix. +2. Use `nameof` not magic strings. +3. Never edit `obj/` or include internal links. +4. Properties: update `cfg.xml` + corresponding XML metadata. + diff --git a/.github/workflows/ToolsConnectionInfo.xml b/.github/workflows/ToolsConnectionInfo.xml new file mode 100644 index 00000000..68043cf5 --- /dev/null +++ b/.github/workflows/ToolsConnectionInfo.xml @@ -0,0 +1,16 @@ + + + + + unusedButRequired + + + + + diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml new file mode 100644 index 00000000..29f29182 --- /dev/null +++ b/.github/workflows/pr-validation.yml @@ -0,0 +1,62 @@ +name: pr-validation + +on: + pull_request: + branches: + - main + +jobs: + build: + # the build isn't quite Linux-ready + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-dotnet@v4 + with: + global-json-file: global.json + - run: | + dotnet build dirs.proj + env: + DOTNET_ROLL_FORWARD: LatestMajor + - uses: actions/upload-artifact@v4 + with: + name: tests + path: bin\Debug\net8.0 + test: + runs-on: ubuntu-latest + needs: build + strategy: + matrix: + sqlImage: ['2022','2019'] + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-dotnet@v4 + with: + global-json-file: global.json + - name: Download build files + uses: actions/download-artifact@v4.1.7 + with: + name: tests + path: tests + - name: Copy toolsconnectioninfo + run: cp .github/workflows/ToolsConnectionInfo.xml ./tests + - name: Install SQL Server + run: | + export SAPASSWORD=$(date +%s|sha256sum|base64|head -c 32) + echo "SAPASSWORD=$SAPASSWORD" >> $GITHUB_ENV + docker run -m 2GB -e ACCEPT_EULA=1 -d --name sql -p:1433:1433 -e SA_PASSWORD=$SAPASSWORD mcr.microsoft.com/mssql/server:${{ matrix.sqlImage }}-latest + sleep 10 + docker logs sql + - name: Run tests against Linux SQL + run: | + cat tests/ToolsConnectionInfo.xml + docker ps -a + dotnet test tests/Microsoft.SqlServer.Test.Smo.dll --logger "trx;LogFilePrefix=SmoTests;verbosity=diag" --filter "TestCategory!=Staging&TestCategory!=Legacy" + env: + DOTNET_ROLL_FORWARD: LatestMajor + - name: Upload test results + uses: actions/upload-artifact@v4 + with: + name: test-results-${{ matrix.sqlImage }} + path: TestResults + if: ${{ always() }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..e810d394 --- /dev/null +++ b/.gitignore @@ -0,0 +1,313 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates +*.out +.vscode/ +*.binlog + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Oo]bjd/ +[Ll]og/ +target/ + +# QuickBuild +[Qq][Ll]ocal/ +[Qq][Ll]ogs/ +__cache[Oo]utput/ +[Ll]ogs/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb +ndstatus.rc +ndstatus_*.bin + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.cache +*.nuget.dgspec.json +*.nuget.props +*.nuget.targets +*.nuget.g.props +*.nuget.g.targets +project.assets.json + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Typescript v1 declaration files +typings/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +#installed tools +tool/ + +# no SLN files, use slngen +*.sln +*.dgspec.json + diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..e69de29b diff --git a/.scripts/DisableStrongName.ps1 b/.scripts/DisableStrongName.ps1 new file mode 100644 index 00000000..1fbce54c --- /dev/null +++ b/.scripts/DisableStrongName.ps1 @@ -0,0 +1,18 @@ +#This script is FOR TEST ONLY. It bypasses StrongName verification +#for SQL assemblies, since they are delay signed the installer +#will fail on non-signed builds unless we add the exceptions. + + +#List of SQL public keys +$publicKeys = @( + "*,31bf3856ad364e35", + "*,36e4ce08b8ecfb17", + "*,89845dcd8080cc91", + "*,b03f5f7f11d50a3a", + "*,ae41e2615877eb90", + "*,b77a5c561934e089") + +$publicKeys | % { + New-Item -Path "HKLM:\SOFTWARE\Microsoft\StrongName\Verification\$_" -Force | Out-Null + New-Item -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\$_" -Force | Out-Null +} \ No newline at end of file diff --git a/.scripts/Update-SSMS.ps1 b/.scripts/Update-SSMS.ps1 new file mode 100644 index 00000000..2f8562f8 --- /dev/null +++ b/.scripts/Update-SSMS.ps1 @@ -0,0 +1,82 @@ +<# +.Synopsis + Builds the SMO projects and then copies the DLLs & PDBs into the specified SSMS install location. You will need to run + this as admin if the install location is a protected folder such as Program Files. + + **Make sure you've ran DisableStrongName.ps1 first as we need to delay-sign the assemblies locally for SSMS to load them.** +.Parameter SSMSPath + The path to the installation of SSMS to update +.Switch NoBuild + Whether to skip all build steps +.Example + Update-SSMS.ps1 -SSMSPath "C:\Program Files\Microsoft SQL Server Management Studio 21\Preview" -NoBuild +#> + +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string]$SSMSPath, + [switch]$NoBuild +) + +# Set global error config value, +# so script will stop executing if there will be any error in any command +$ErrorActionPreference = "Stop"; + +if ($NoBuild.IsPresent -eq $false) +{ + dotnet build $PSScriptRoot\..\dirs.proj /p:SignBuild=true /p:EnableLocalization=false /p:TargetFramework=net472 /p:RestoreLockedMode=false /p:SkipUnitTests=true + if ($LASTEXITCODE -ne 0) { + throw "Build failed!" + } +} + +# Names of the files (without the .dll filext) to update +$filesToUpdate = + "Microsoft.SqlServer.ConnectionInfo", + "Microsoft.SqlServer.Dmf.Common", + "Microsoft.SqlServer.Dmf", + "Microsoft.SqlServer.Management.Collector", + "Microsoft.SqlServer.Management.CollectorEnum", + "Microsoft.SqlServer.Management.HadrData", + "Microsoft.SqlServer.Management.HadrModel", + "Microsoft.SqlServer.Management.RegisteredServers", + "Microsoft.SqlServer.Management.Sdk.Sfc", + "Microsoft.SqlServer.Management.SmoMetadataProvider", + "Microsoft.SqlServer.Management.SqlScriptPublish", + "Microsoft.SqlServer.Management.XEvent", + "Microsoft.SqlServer.Management.XEventDbScoped", + "Microsoft.SqlServer.Management.XEventDbScopedEnum", + "Microsoft.SqlServer.Management.XEventEnum", + "Microsoft.SqlServer.PolicyEnum", + "Microsoft.SqlServer.RegSvrEnum", + "Microsoft.SqlServer.ServiceBrokerEnum", + "Microsoft.SqlServer.Smo", + "Microsoft.SqlServer.Smo.Notebook", + "Microsoft.SqlServer.SmoExtended", + "Microsoft.SqlServer.SqlClrProvider", + "Microsoft.SqlServer.SqlEnum", + "Microsoft.SqlServer.SqlWmiManagement" + +foreach ($filename in $filesToUpdate) { + $dllFilename = "$filename.dll" + $pdbFilename = "$filename.pdb" + $destFolder = [IO.Path]::Combine($SSMSPath, "Common7\IDE"); + $destPathDLL = [IO.Path]::Combine($destFolder, $dllFilename) + Write-Host "Updating " $destPathDLL + # First check to see if we already have a backup copy of the original DLL + # If we don't then we move the current one to *.bak in case we want to revert + # easily later + $backupFilename = $dllFilename + ".bak" + $backupPath = [IO.Path]::Combine($destFolder, $backupFilename) + if (-not (Test-Path -Path $backupPath)) { + Write-Host "Backing up " $dllFilename " to " $backupFilename + Move-Item $destPathDLL $backupPath + } + # Now copy the locally built DLL and PDB to the SSMS folder + $srcPathDLL = [IO.Path]::Combine($PSScriptRoot, "..\bin\Debug\net472\$dllFilename") + $srcPathPDB = [IO.Path]::Combine($PSScriptRoot, "..\bin\Debug\net472\$pdbFilename") + Write-Host "Copying " $srcPathDLL + Copy-Item $srcPathDLL $destFolder + Copy-Item $srcPathPDB $destFolder +} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..f647a475 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,285 @@ +# Change log + +Update this document for externally visible changes. Put most recent changes first. +Once we push a new version to nuget.org add a double hash header for that version. + +## 172.87.0 + +- Add Vector index support +- Use vector_dimensions instead of max_length for Vector columns +- Support Order Clause for NonClustered Columnstore Indexes +- Add missing values to LogReuseWaitStatus enum +- Add metadata provider for OrderedColumns +- Expose GroupMaximumTempdbDataMB and GroupMaximumTempdbDataPercent for Resource Governor +- Expose Database.OptimizedLockingOn property +- Expose Database.AcceleratedRecoveryEnabled property for Azure + +## 172.76.0 + +- Fix scripting performance #165 + +## 172.74.0 + +- Add new audit action type INFORMATION_PROTECTION_OPERATION_GROUP +- Add new database level permissions ALTER ANY EXTERNAL MODEL, CREATE EXTERNAL MODEL and ALTER ANY INFORMATION PROTECTION + +## 172.64.0 + +- Add DesignMode support to `QueryStoreOptions` class +- Add Vector data type support + +## 172.61.0 + +- Remove major version restriction on Microsoft.Data.SqlClient dependency Fixes [Issue 188](https://github.com/microsoft/sqlmanagementobjects/issues/188) +- Remove net6 binaries +- Allow login information to be updated for an existing user +- Enabled AutoCreateStatisticsIncremental property configuration for Azure SQL database +- Change `Database.PrefetchObjects` to omit `ExtendedProperties` when passed a `ScriptingOptions` object that omits them. Fixes [Issue 177](https://github.com/microsoft/sqlmanagementobjects/issues/177) + +## 172.52.0 + +- Add `ServerRole` support for Azure SQL database +- Add 170 compat support +- Update NetFx binaries to net472 +- Remove obsolete formatter-based serialization constructors from non-Netfx Exceptions +- Add ConnectionOptions and Pushdown to `CREATE` and `ALTER` scripts for external data sources +- Added new `DateLastModified` property on Error Logs returned by `EnumErrorLogs()`. Its value is the same as the existing `CreateDate`, + (which has been incorrectly namd for years) only properly stampted with the date/time offset information to allow easier + interoperability between client and servers in different time zones. `CreateDate` is essentially deprecated, and new applications + should start using `DateLastModified` instead. +- Fixed an issue in the `EnumErrorLogs()` where `CreateDate` field could be `NULL` depending on the configuration of the machine + on which SQL Server was running on. +- Regex for the EXECUTE statement was updated to also match the shortened form 'EXEC' + +## 171.30.0 + +- BREAKING: Move Transfer interfaces to Smo.Extended and remove unused/non-implemented interfaces. This is a breaking change that requires recompilation of apps that use Transfer. +- Change base class of `ConnectionException` to `Exception` +- Update major package version to 171 +- add new database permission alter any external mirror for azure sql database + +## 170.23.0 + +- Fix bug where creating Microsoft Entra ID logins for Azure SQL database and On Prem databases was disabled +- Upgraded SqlClient to 5.1.2 and removed direct Azure SDK dependencies from the nuget package +- Fix createdrop script error for versioned table in ledger database +- Fix database scoped extended events enumeration on Azure SQL database instances having DATABASE_DEFAULT catalog collation +- Improve scripting of dependency objects in Azure SQL database +- Added `ObjectId` parameter in User and Login create options +- Fix `Database.PrefetchObjects` not to throw for SQL version earlier than 2016 +- Add ledger support in Database create options for MI in SSMS +- Add `OwnerLoginName` property to `JobSchedule` per [issue 120](https://github.com/microsoft/sqlmanagementobjects/issues/120) +- Fixed the `Database.AvailabilityDatabaseSynchronizationState` property to reflect the correct synchronization state of MI databases in Managed Instance Link + +## 170.18.0 + +- Add `SearchPropertyList` support for Azure SQL Database + +## 170.17.0, 161.48044.0 + +- Fix issue where `Table.Create` and `View.Create` were querying the server for indexes +- Add option to generate scripts exclusively for Data Classification, Create a new SMO object `SensitivityClassification` under `Database` +- Add support for creating Certificate objects using binary-encoded certificate bytes (https://github.com/microsoft/sqlmanagementobjects/issues/132) +- Fix for incorrect scripting of Database objects targeting SQL Managed Instances + +## 170.13.0, 161.48036.0 + +- Fix [issue](https://github.com/microsoft/sqlmanagementobjects/issues/123) with `Table.Alter` for Synapse +- Add initial replication of contained AG system databases to AG creation +- Upgrade VSTest to 17.4.1 to remove workaround for unit test builds +- Fix Databases collection not to login to each database when app asks for `Status` property +- Enable datetime masked columns +- Update product display names +- Add database, server, and object permissions for SQL Server 2019 and SQL Server 2022 +- Add support for strict encryption and HostNameInCertificate + + +## 170.12.0, 161.48028.0 + +- Add certificate and asymmetric key user support for Azure DB +- Change the name of the XML file used by SSMS 19 to RegSrvr16.xml +- Change `SetDefaultInitFields` to [allow inclusion of properties unsupported](https://github.com/microsoft/sqlmanagementobjects/issues/84) by the connected SQL edition. + +## 170.11.0, 161.47027.0 + +- Fix distribution columns on scripting for taking into consideration more than one distribution column +- Add new EXTGOV_OPERATION_GROUP audit action type +- Force [QUOTED_IDENTIFIER ON](https://github.com/microsoft/sqlmanagementobjects/issues/96) for all tables +- Change Databases enumeration on Azure DB to ignore `sys.databases` entries that don't have an entry in `sys.database_service_objectives`. Prevents attempted logins to user databases when enumerating databases on the logical master +- Update permissions enumeration for SQL Server 2022 + +## 170.6.0-preview + +- Add SmoMetadataProvider preview package +- Replace netcoreapp3.1 with net6 + +## 170.5.0-preview + +- First public 170 build on Nuget.org +- Upgrade Microsoft.Data.SqlClient to version 5.0 +- Upgrade build tools to VS2022 + +## 161.47021.0 + +- Add `LedgerViewSchema` property to table objects +- Fix an issue that caused ledger tables with views with different schemas to be scripted improperly +- Added support for `Contained Availability Groups`: new AvailabilityGroup.IsContained and AvailabilityGroup.ReuseSystemDatabases properties and updated Create() method. +- Fixed generate scripts test for SQL 2012 +- Added automated tests for `JobServer` methods +- Marked several `JobServer` methods supporting SQL 2005 and earlier as Obsolete +- Marked unused property `JobServerFilter.OldestFirst` as Obsolete +- Add `IsDroppedLedgerTable` and `IsDroppedLedgerView` properties to table and view objects, respectively +- Add `IsDroppedLedgerColumn` properties to column, and updated scripting to not include dropped ledger columns in script creation +- Fixed heuristic in [Wmi.ManagedComputer](https://github.com/microsoft/sqlmanagementobjects/issues/83) to determine the correct WMI namespace to connect to, + to workaround a bug where SQL Setup setup does not fully uninstall the SQL WMI Provider. +- Update `ConnectionManager.InternalConnect` to retry connection in response to error 42109 (serverless instance is waking up) + +## 161.47008.0 + +- Fix an issue that caused `ServerConnection.SqlExecutionModes` property to be set to `ExecuteSql` during lazy property fetches of SMO objects despite being set to `CaptureSql` by the calling application. +- Add `LoginType` property to `ILoginOptions` interface. +- `Login.PasswordPolicyEnforced` now returns `false` for Windows logins instead of throwing an exception +- Remove net461 binaries from nuget packages +- Added Scripting Support for Ledger tables for SQL 2022+ +- Change the `Size` property on `Server/Drive` objects to `System.Int64`. These objects don't have a C# wrapper class so it's not breaking any compilation. +- Add support for SQL Server version 16 +- Add new permissions for SQL 2019+ to SMO enumerations +- Added External Stream object and External Streaming Jobs object for scripting +- Add support for XML compression + +## 161.46521.71 + +- Handle Dedicated SQL Pool login error 110003 during enumerate of Databases +- Enable asymmetric and symmetric key objects for dedicated SQL Pool database +- Fix Tables enumeration on Azure SQL Database instances using a case sensitive catalog collation +- Fix scripting of [hidden columns](https://github.com/microsoft/sqlmanagementobjects/issues/65) +- Enable Generate Scripts to script temporal tables when the destination is a pre-2016 version of SQL Server. System versioning DDL will be omitted from the generated script. + +## 161.46437.65 + +- Update Microsoft.Data.SqlClient dependency to version 3.0.0 +- Added Scripting Support for Ledger table in Azure SQLDB +- Change `Server.MasterDBPath` and `Server.MasterDBLogPath` properties to use `file_id` instead of `name` from `sys.database_files` +- Enable Index creation for memory optimized tables in Azure +- Fix Server/Logins to show external Logins for Azure SQLDB as they are now supported +- Split SmoMetadataProvider into its own nuget packages +- Adding support for External Languages + +## 161.46347.54 + +- Add Microsoft.SqlServer.SqlWmiManagement and Microsoft.SqlServer.Management.Smo.Wmi to lib\netcoreapp3.1 +- Add missing resource files for netcoreapp3.1 and netstandard2.0 +- Fix an [issue](https://github.com/microsoft/sqlmanagementobjects/issues/50) with scripting Azure Synapse Analytics databases +- Add missing values to AuditActionType enum +- Fixed an issue where AffinityInfo.Alter() may throw an error like `An item with the same key has already been added` when + trying to update the AffinityMask of a specific CPU, particularly on machines with Soft-NUMA. +- Updated formatting logic of Predicate values in XEvent scripts +- Fix for scripting distributed Availability Groups +- Add support for resumable option on create constraints and low priority wait + +## 161.46041.41 + +- Add descriptions to more Facet properties +- Add net461 binaries due to customer demand. Only core scripting functionality is included in lib\net461 +- Make RegisteredServersStore.InitializeLocalRegisteredServersStore public to enable loading and saving registered servers in a custom location +- Fixed an [issue](https://github.com/microsoft/sqlmanagementobjects/issues/34) + where the creation of a DataFile may fail when targeting a SQL Azure Managed Instance +- Fix Database.Checkpoint to always checkpoint the correct database. [Issue 32](https://github.com/microsoft/sqlmanagementobjects/issues/32) + +## 161.44091.28 + +- Make ISmoScriptWriter interface public +- Enable apps to provide custom ISmoScriptWriter implementation to SqlScriptPublishModel and ScriptMaker +- Enabled Security Policy while GenerateScript/Transfer database. +- Expose EXTERNAL_MONITOR server audit destination for SQL Managed Instance +- Expose OPERATOR_AUDIT server audit option for SQL Managed Instance +- Change association of DatabaseEngineEdition.SqlOnDemand to DatabaseEngineType.SqlAzureDatabase +- Fix implementation of Microsoft.SqlServer.Management.HadrModel.FailoverTask.Perform to handle AvailabilityGroupClusterType.None correctly + +## 161.42121.15 + +- Add netcoreapp3.1 build output +- Fix [logins using impersonation](https://github.com/microsoft/sqlmanagementobjects/issues/24) +- Expose OlapConnectionInfo class in non-netfx ConnectionInfo +- Expose WmiMgmtScopeConnection in non-netfx ConnectionInfo + +## 161.41981.14 + +- Add Accelerated Database Recovery support - +- Enable Column.BindDefault on Azure SQL Database +- Add DestinationServerConnection property to Transfer + - [Github issue 16](https://github.com/microsoft/sqlmanagementobjects/issues/16) + - Allows for use of Azure SQL Database as a destination server + - Enables full customization of the destination connection +- [Script User objects for Azure SQL Database correctly](https://github.com/microsoft/sqlmanagementobjects/issues/18) +- [Enable CreateOrAlter behavior for Scripter](https://github.com/microsoft/sqlmanagementobjects/issues/11) +- Fixed issue where MaxSize value was reported as negative for Hyperscale Azure SQL Databases - Added new property "IsMaxSizeApplicable" and disabled negative values for Hyperscale Azure SQL Databases. + +## 161.41011.9 + +- Put begin try/begin catch around TSQL querying sys.database_service_objectives in Azure SQL Database. This view may throw if Azure control plane has an outage and block expansion of the Databases node in SSMS. +- Add support for Workload Management Workload Classifiers. +- Add support for Workload Management Workload Groups. +- Handle SQL error code 4060 during fetch of Database.DatabaseEngineEdition and use default value of Unknown +- Update Microsoft.Data.SqlClient dependency to version 2.0.0 +- Update the Nuget package major version to 161 to reflect the shift to Microsoft.Data.SqlClient for NetFx +- Fixed Database.Size property to report the accurate size of the database when + DatabaseEngineType is SqlAzureDatabase +- Fixed issue where Database.SpaceAvailable was reported as negative for Hyperscale Azure SQL Databases + (the value is reported as 0, meaning *Not applicable*) +- Implement IObjectPermission on DatabaseScopedCredential. +- Enabled Server.EnumServerAttributes API on Azure SQL Database +- Enabled Lock enumeration APIs on Azure SQL Database +- Deleted the Database.CheckIdentityValues API +- Added new property "RequestMaximumMemoryGrantPercentageAsDouble" in WorkloadGroup to accept decimal values in Resource Governor (SQL 2019+). +- Changed the netfx binaries in Microsoft.SqlServer.SqlManagementObjects package to use Microsoft.Data.SqlClient +- Added a new package, Microsoft.SqlServer.SqlManagementObjects.SSMS, which only has netfx binaries and that uses System.Data.SqlClient +- Fixed a scripting issue with statistics on filtered indexes where the filter from the index would be scripted with the UPDATE STATISTICS TSQL. + +## 160.2004021.0 + +- First non-preview 160 release, aligned with [SQL Server Management Studio](https://aka.ms/ssmsfullsetup) 18.5 +- Script extended properties for Azure SQL Database objects +- Enable Jupyter Notebook output for SqlScriptPublishModel. SSMS 18.5 can output a Notebook for Azure Data Studio in Generate Scripts now. +- Fix issue where Table.EnableAllIndexes(Recreate) did nothing +- Fix Database.EnumObjectPermissions usage in NetStandard binaries + +- Enabled Security Policy and Security Predicate objects on Azure SQL DataWarehouse + +- Enabled Text property for StoredProcedure on Azure SQL Database +- Enabled Database.GetTransactionCount and Database.EnumTransactions on Azure SQL Database +- Added CMK and CEK scripts to "Generating scripts for all database objects" option in SSMS. +- Changed the order of the scripts in SmoUrnFilter.cs to script out the CMK and CEK Scripts before Tables. +- Transferdata unit test cases were failing due to the "USE" statement in the Create Query for CMK and CEK Scripts. Removed "USE" statement +- Updated Transfer/ScriptingBaselines Xml's with the CMK and CEK Scripts for all the versions which supports CMK's and CEK's (2016 and later) +- Updated the ColumnMasterkey.baseline.xml's and ColumnEncryptionKey.baseline.xml's for the versions which supports these keys (Removed USE statement in the create query). +- Enabled support for Column.IsMasked and Column.MaskingFunction for DataWarehouse +- Remove FORCE ORDER hint from table enumeration that was causing major performance issues +- Fix Transfer with PrefetchAllObjects == false for pre-SQL 2014 versions so it doesn't throw an exception +- Added BLOB_STORAGE scripting support for external data sources +- Fixed [error scripting external tables]() for Azure SQL Database +- Replace Microsoft.SqlServer.Management.SqlParser.dll with a dependency to its Nuget package +- Fixed SMO Column's sensitivity attribute drop failed when attribute is empty +- Remove unneeded "using" TSQL statements from Database.CheckTables method implementations +- Enable ColumnMasterKey properties Signature and AllowEnclaveComputations for Azure SQL DB +- Fix Database.EncryptionEnabled and Database.DatabaseEncryptionKey behavior during Database.Alter(). Now, this code will correctly create a new key using the server certificate named MyCertificate: + +```C# + db.EncryptionEnabled = true; + db.DatabaseEncryptionKey.EncryptorName = "MyCertificate"; + db.DatabaseEncryptionKey.EncryptionAlgorithm = DatabaseEncryptionAlgorithm.Aes256; + db.DatabaseEncryptionKey.EncryptionType = DatabaseEncryptionType.ServerCertificate; + db.Alter() +``` + +- Fixed the "like" and "contains" URN filter functions to work with parameters containing single quotes. These operators can be used to optimally initialize collections: + +```C# +// populate the collection with databases that have Name starting with "RDA" +var server = Server(new ServerConnection(sqlConnection)); +server.Databases.ClearAndInitialize("[like(@Name, 'RDA%')]", new string[] { }); +``` + +- Make Table.Location property optional for creating or scripting external tables. +- Enable scripting of ANSI_PADDING settings for Azure SQL Database tables. +- Remove obsolete types ServerActiveDirectory and DatabaseActiveDirectory diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..f9ba8cf6 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,9 @@ +# Microsoft Open Source Code of Conduct + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). + +Resources: + +- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 00000000..86804f6a --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,16 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + $(MSBuildThisFileDirectory.TrimEnd('\\')) + net472 + + diff --git a/Directory.Build.rsp b/Directory.Build.rsp new file mode 100644 index 00000000..0c41acac --- /dev/null +++ b/Directory.Build.rsp @@ -0,0 +1,8 @@ +/Restore +/ConsoleLoggerParameters:Verbosity=Minimal;Summary +/FileLoggerParameters:LogFile=msbuild.log;Verbosity=Diagnostic +/MaxCPUCount +/NodeReuse:false +/Property:NuGetInteractive=true +/BinaryLogger + diff --git a/Directory.Packages.props b/Directory.Packages.props new file mode 100644 index 00000000..8c1c2c83 --- /dev/null +++ b/Directory.Packages.props @@ -0,0 +1,58 @@ + + + + 6.0.0 + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..1eb1796f --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ + MIT License + Microsoft Sql Management Objects + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/README.md b/README.md new file mode 100644 index 00000000..5d21c500 --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# SQL Management Objects + +SQL Management Objects, or SMO, provides objects and APIs to discover, modify, and script out SQL Server entities. + +## Documentation + +See https://docs.microsoft.com/sql/relational-databases/server-management-objects-smo/overview-smo + +## Usage + +SMO packages on nuget.org include: + +### Microsoft.SqlServer.SqlManagementObjects + +This package is the primary development SDK for SMO. It provides both NetFx and .Net binaries. Capabilities of the NetStandard binaries may be limited by that platform, such as the lack of WMI support. + +The binaries are strong named and Authenticode signed. + +### Microsoft.SqlServer.SqlManagementObjects.Loc + +This package has resource DLLs with localized strings corresponding to the DLLs in Microsoft.SqlServer.SqlManagementObjects. + +## Microsoft.SqlServer.Management.SmoMetadataProvider + +SmoMetadataProvider provides completion support for TSQL language services in Azure Data Studio and the Sql Server extension for VS Code. + + +## Versioning + +The major version for each SMO release corresponds with the highest Sql Server compatibility level that version of SMO supports. +For example, 140 means it supports SQL Server 2017 and below. Some features of SMO may require having a matching SQL Server version in order to work effectively, but most features are fully backward compatible. + +## Dependents + +SMO is a integral part of the SQL Server ecosystem. A broad set of client tools, engine components, and service components rely on it extensively. The set of SMO dependents includes: + +- Azure Data Studio/Sql Tools Service +- Sql Server Management Studio +- Sql Server Integration Services (SSIS) +- Sql Powershell module +- Sql Data Sync service +- Polybase +- Azure Sql Database +- Microsoft Dynamics +- Sql Server SCOM Management Pack + +## Contributing + +### Types of contributions + +- Please open issues related to bugs or other deficiencies in SMO on the [Issues](https://github.com/microsoft/sqlmanagementobjects/issues) feed of this repo +- Include SMO version where the issue was found +- Include as much of the source code to reproduce the issue as possible +- Ask for sample code for areas where you find the docs lacking +- If you are a SMO application developer, we welcome contributions to the [wiki](https://github.com/microsoft/sqlmanagementobjects/wiki) or even source code samples to illustrate effective ways to use SMO in applications. + +### Stuff our attorney added + +This project welcomes contributions and suggestions. Most contributions require you to agree to a +Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us +the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. + +When you submit a pull request, a CLA bot will automatically determine whether you need to provide +a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions +provided by the bot. You will only need to do this once across all repos using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or +contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..e0dfff56 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) of a security vulnerability, please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). + + diff --git a/SmoBuild/AssemblyInfo.props b/SmoBuild/AssemblyInfo.props new file mode 100644 index 00000000..4e68ac58 --- /dev/null +++ b/SmoBuild/AssemblyInfo.props @@ -0,0 +1,15 @@ + + + + + The SQL Server Management Objects (SMO) Framework is a set of objects designed for programmatic management of Microsoft SQL Server and Microsoft Azure SQL Database. + + Microsoft + Microsoft Corporation + Microsoft Sql Server + © Microsoft Corporation. All rights reserved. + + true + true + + diff --git a/SmoBuild/CSharp.NetCore.props b/SmoBuild/CSharp.NetCore.props new file mode 100644 index 00000000..54016da4 --- /dev/null +++ b/SmoBuild/CSharp.NetCore.props @@ -0,0 +1,4 @@ + + + + diff --git a/SmoBuild/CSharp.NetFx.props b/SmoBuild/CSharp.NetFx.props new file mode 100644 index 00000000..54016da4 --- /dev/null +++ b/SmoBuild/CSharp.NetFx.props @@ -0,0 +1,4 @@ + + + + diff --git a/SmoBuild/CSharp.NetStandard.props b/SmoBuild/CSharp.NetStandard.props new file mode 100644 index 00000000..5a0b7f70 --- /dev/null +++ b/SmoBuild/CSharp.NetStandard.props @@ -0,0 +1,5 @@ + + + $(DefineConstants);NETSTANDARD2_0 + + diff --git a/SmoBuild/DdlEvents.targets b/SmoBuild/DdlEvents.targets new file mode 100644 index 00000000..8e4fb1eb --- /dev/null +++ b/SmoBuild/DdlEvents.targets @@ -0,0 +1,40 @@ + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + $(BaseIntermediateOutputPath)$(Configuration)\$(TargetFramework) + + + + + + c:\strawberry\perl\bin\perl.exe + $(EnlistmentRoot)\packages\StrawberryPerl.5.28.0.1\bin\perl.exe + + + + + SQLSERVER + enum + classenum_template + evtenum_template + %(filename) + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SmoBuild/DdlEvents/class_template.cs b/SmoBuild/DdlEvents/class_template.cs new file mode 100644 index 00000000..c562eb59 --- /dev/null +++ b/SmoBuild/DdlEvents/class_template.cs @@ -0,0 +1,209 @@ + + + // + // CLASSNAME + // + public sealed class CLASSNAME + { + private CLASSNAMEValues m_value; + + internal CLASSNAME(CLASSNAMEValues eventValue) + { + m_value = eventValue; + } + + internal CLASSNAMEValues Value + { + get {{ return m_value; }} + } + + static public implicit operator CLASSNAMESet(CLASSNAME eventValue) + { + return new CLASSNAMESet(eventValue); + } + + static public CLASSNAMESet operator +(CLASSNAME eventLeft, CLASSNAME eventRight) + { + CLASSNAMESet eventSet = new CLASSNAMESet(eventLeft); + eventSet.SetBit(eventRight); + return eventSet; + } + + static public CLASSNAMESet Add(CLASSNAME eventLeft, CLASSNAME eventRight) + { + return eventLeft + eventRight; + } + + static public CLASSNAMESet operator |(CLASSNAME eventLeft, CLASSNAME eventRight) + { + CLASSNAMESet eventSet = new CLASSNAMESet(eventLeft); + eventSet.SetBit(eventRight); + return eventSet; + } + + static public CLASSNAMESet BitwiseOr(CLASSNAME eventLeft, CLASSNAME eventRight) + { + return eventLeft | eventRight; + } + + public override string ToString() + { + return m_value.ToString(); + } + + // Satisfies FxCop rule: AddAndSubtractOverrideShouldHaveOperatorEqualsOverride. + public static bool operator ==(CLASSNAME a, CLASSNAME b) + { + if( null == (a as object) && null == (b as object)) + return true; + else if( null == (a as object) || null == (b as object)) + return false; + else + return a.m_value == b.m_value; + } + + // If you implement ==, you must implement !=. + public static bool operator !=(CLASSNAME a, CLASSNAME b) + { + return !(a==b); + } + + // Equals should be consistent with operator ==. + public override bool Equals(Object obj) + { + if (obj == null) + return false; + + return this == (obj as CLASSNAME); + } + + public override int GetHashCode() + { + return m_value.GetHashCode (); + } + + + // Generated code +@@@CLASSNAME_static_props + // End of generated code + + } + + public sealed class CLASSNAMESet : EventSetBase + { + + public CLASSNAMESet() + { + } + + public CLASSNAMESet(CLASSNAMESet eventSet) : base(eventSet) + { + } + + public CLASSNAMESet(CLASSNAME anEvent) + { + SetBit(anEvent); + } + + public CLASSNAMESet(params CLASSNAME[] events) + { + Storage = new BitArray(this.NumberOfElements); + foreach(CLASSNAME evt in events) + { + SetBit(evt); + } + } + + public override EventSetBase Copy() + { + return new CLASSNAMESet(this.Storage); + } + + internal CLASSNAMESet(BitArray storage) + { + Storage = (BitArray) storage.Clone(); + } + + internal void SetBit(CLASSNAME anEvent) + { + Storage[(int)anEvent.Value] = true; + } + + internal void ResetBit(CLASSNAME anEvent) + { + Storage[(int)anEvent.Value] = false; + } + + public CLASSNAMESet Add(CLASSNAME anEvent) + { + SetBit(anEvent); + return this; + } + + public CLASSNAMESet Remove(CLASSNAME anEvent) + { + ResetBit(anEvent); + return this; + } + + static public CLASSNAMESet operator +(CLASSNAMESet eventSet, CLASSNAME anEvent) + { + CLASSNAMESet newEventSet = new CLASSNAMESet(eventSet); + newEventSet.SetBit(anEvent); + return newEventSet; + } + + static public CLASSNAMESet Add(CLASSNAMESet eventSet, CLASSNAME anEvent) + { + return eventSet + anEvent; + } + + static public CLASSNAMESet operator -(CLASSNAMESet eventSet, CLASSNAME anEvent) + { + CLASSNAMESet newEventSet = new CLASSNAMESet(eventSet); + newEventSet.ResetBit(anEvent); + return newEventSet; + } + + static public CLASSNAMESet Subtract(CLASSNAMESet eventSet, CLASSNAME anEvent) + { + return eventSet - anEvent; + } + + public override int NumberOfElements + { +@@@CLASSNAME_count + } + + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + + sb.Append(this.GetType().Name + ": "); + + int i = 0; + bool first = true; + foreach (bool isSet in Storage) + { + if (isSet) + { + if (first) + { + first = false; + } + else + { + sb.Append(", "); + } + sb.Append(((CLASSNAMEValues) i).ToString()); + } + i++; + } + return sb.ToString(); + } + + // Generated code +@@@CLASSNAME_props + // End of generated code + } + diff --git a/SmoBuild/DdlEvents/classenum_template.cs b/SmoBuild/DdlEvents/classenum_template.cs new file mode 100644 index 00000000..4b39617c --- /dev/null +++ b/SmoBuild/DdlEvents/classenum_template.cs @@ -0,0 +1,223 @@ + ///enum for CLASSNAME + internal enum CLASSNAMEValues + { + // Generated code +@@@CLASSNAME_enum + // End of generated code + } + + /// CLASSNAME + public sealed class CLASSNAME + { + private CLASSNAMEValues m_value; + + ///constructor + internal CLASSNAME(CLASSNAMEValues eventValue) + { + m_value = eventValue; + } + + ///get value + internal CLASSNAMEValues Value + { + get { return m_value; } + } + + ///cast operator + static public implicit operator CLASSNAMESet(CLASSNAME eventValue) + { + return new CLASSNAMESet(eventValue); + } + + ///add to events resulting an event set + static public CLASSNAMESet operator +(CLASSNAME eventLeft, CLASSNAME eventRight) + { + CLASSNAMESet eventSet = new CLASSNAMESet(eventLeft); + eventSet.SetBit(eventRight); + return eventSet; + } + + ///add to events resulting an event set + static public CLASSNAMESet Add(CLASSNAME eventLeft, CLASSNAME eventRight) + { + return eventLeft + eventRight; + } + + ///'or' to events resulting an event set + static public CLASSNAMESet operator |(CLASSNAME eventLeft, CLASSNAME eventRight) + { + CLASSNAMESet eventSet = new CLASSNAMESet(eventLeft); + eventSet.SetBit(eventRight); + return eventSet; + } + + ///'or' to events resulting an event set + static public CLASSNAMESet BitwiseOr(CLASSNAME eventLeft, CLASSNAME eventRight) + { + return eventLeft | eventRight; + } + + ///event string representation + public override string ToString() + { + return m_value.ToString(); + } + // Generated code +@@@CLASSNAME_static_props + // End of generated code + + } + ///class CLASSNAMESet + public sealed class CLASSNAMESet : EventSetBase + { + + ///default constructor + public CLASSNAMESet() + { + } + + ///copy constructor + public CLASSNAMESet(CLASSNAMESet eventSet) : base(eventSet) + { + } + + ///constructor initialize with an event + public CLASSNAMESet(CLASSNAME anEvent) + { + SetBit(anEvent); + } + + ///constructor initialize with a list of events + public CLASSNAMESet(params CLASSNAME[] events) + { + Storage = new BitArray(this.NumberOfElements); + foreach(CLASSNAME evt in events) + { + SetBit(evt); + } + } + + ///initialize from BitArray + internal CLASSNAMESet(BitArray storage) + { + Storage = (BitArray) storage.Clone(); + } + + ///copy + public override EventSetBase Copy() + { + return new CLASSNAMESet(this.Storage); + } + + ///set bit for an event + internal void SetBit(CLASSNAME anEvent) + { + Storage[(int)anEvent.Value] = true; + } + + ///reset bit for an event + internal void ResetBit(CLASSNAME anEvent) + { + Storage[(int)anEvent.Value] = false; + } + + ///set bit for an event + public CLASSNAMESet Add(CLASSNAME anEvent) + { + SetBit(anEvent); + return this; + } + + ///reset bit for an event + public CLASSNAMESet Remove(CLASSNAME anEvent) + { + ResetBit(anEvent); + return this; + } + + ///add an event + static public CLASSNAMESet operator +(CLASSNAMESet eventSet, CLASSNAME anEvent) + { + CLASSNAMESet newEventSet = new CLASSNAMESet(eventSet); + newEventSet.SetBit(anEvent); + return newEventSet; + } + + ///add an event + static public CLASSNAMESet Add(CLASSNAMESet eventSet, CLASSNAME anEvent) + { + return eventSet + anEvent; + } + + ///remove an event + static public CLASSNAMESet operator -(CLASSNAMESet eventSet, CLASSNAME anEvent) + { + CLASSNAMESet newEventSet = new CLASSNAMESet(eventSet); + newEventSet.ResetBit(anEvent); + return newEventSet; + } + + ///remove an event + static public CLASSNAMESet Subtract(CLASSNAMESet eventSet, CLASSNAME anEvent) + { + return eventSet - anEvent; + } + + ///return number of elements + public override int NumberOfElements + { +@@@CLASSNAME_elements_count + } + + ///return string representation + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + + sb.Append(this.GetType().Name + ": "); + + int i = 0; + bool first = true; + foreach (bool isSet in Storage) + { + if (isSet) + { + if (first) + { + first = false; + } + else + { + sb.Append(", "); + } + sb.Append(((CLASSNAMEValues) i).ToString()); + } + i++; + } + return sb.ToString(); + } + private bool dirty = false; + ///true if the event set has been modified + public bool Dirty + { + get { return dirty; } + set { dirty = value; } + } + // Generated code +@@@CLASSNAME_props + // End of generated code + + + ///static constructor + /// init here all the static composite bitflags, because we do not want + /// to recreate it every time we will do an operation with it. + static CLASSNAMESet() + { + // Generated code +@@@CLASSNAME_group_static_props_init + // End of generated code + + } + +@@@CLASSNAME_group_static_props + } diff --git a/SmoBuild/DdlEvents/eventsdef.txt b/SmoBuild/DdlEvents/eventsdef.txt new file mode 100644 index 00000000..6dfcffe3 --- /dev/null +++ b/SmoBuild/DdlEvents/eventsdef.txt @@ -0,0 +1,3667 @@ +//**************************************************************************** +// Copyright (c) Microsoft Corporation. +//**************************************************************************** + +#define BitCount1(x)\ + (((x&0xAAAAAAAAAAAAAAAA)>>1) + (x&0x5555555555555555)) +#define BitCount2(x)\ + (((x&0xCCCCCCCCCCCCCCCC)>>2) + (x&0x3333333333333333)) +#define BitCount4(x)\ + (((x&0xF0F0F0F0F0F0F0F0)>>4) + (x&0x0F0F0F0F0F0F0F0F)) +#define BitCount8(x)\ + (((x&0xFF00FF00FF00FF00)>>8) + (x&0x00FF00FF00FF00FF)) +#define BitCount16(x)\ + (((x&0xFFFF0000FFFF0000)>>16) + (x&0x0000FFFF0000FFFF)) +#define BitCount32(x)\ + (((x&0xFFFFFFFF00000000)>>32) + (x&0x00000000FFFFFFFF)) + +#define BitCount64(x)\ + (BitCount32(BitCount16(BitCount8(BitCount4(BitCount2(BitCount1((x)))))))) + + +// The Envelope properties are divided into 3 groups +// The 1st 3 are common for all event types. +// The next 2 are only for non-trace event types. +// The next one is only for event types that are not server level only. +// +//---------------------------------------------------------------- +// Event Envelope Instance Schema (instance parameters schema) +//---------------------------------------------------------------- + +STATIC EVENT_PARAM_INFO_DEF s_rgParamInfoEnvelope[] = +{ + { EnvelopeTag_EventType, L"EventType", 0,0,NULL,XVT_VARWSTR, PrecDefault(XVT_VARWSTR),ScaleDefault(XVT_VARWSTR),x_cbMAXSSWNAME,0}, + { EnvelopeTag_PostTime, L"PostTime", 0,0,NULL,XVT_SSDATE, PrecDefault(XVT_SSDATE), ScaleDefault(XVT_SSDATE), LenDefault(XVT_SSDATE),0}, + { EnvelopeTag_SPID, L"SPID", 0,0,NULL,XVT_I4, PrecDefault(XVT_I4), ScaleDefault(XVT_I4), LenDefault(XVT_I4), 0}, + + //---------------------------------------------------------------- + // Additional Event Envelope Instance Schema for non-trace events (instance parameters schema) + //---------------------------------------------------------------- + + // The server name is of the form "ComputerName\InstanceName" + { EnvelopeTag_ServerName, L"ServerName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR),ScaleDefault(XVT_VARWSTR),(x_cwchMAXSSWNAME*2 + 1)*sizeof(WCHAR),EVENT_PARAM_NULLABLE}, + { EnvelopeTag_LoginName, L"LoginName", 0,0,NULL,XVT_VARWSTR, PrecDefault(XVT_VARWSTR),ScaleDefault(XVT_VARWSTR),x_cbMAXSSWNAME,0}, + + //---------------------------------------------------------------- + // Additional Event Envelope Instance Schema for non-server level events (instance parameters schema) + //---------------------------------------------------------------- + + { EnvelopeTag_UserName, L"UserName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR),ScaleDefault(XVT_VARWSTR),x_cbMAXSSWNAME,0}, +}; + +STATIC ULONG s_cParamInfoEnvelope = NUMELEM(s_rgParamInfoEnvelope); + +//================================================= +// Param info for SQLTrace +#include "parinfo.inc" + +// The new param info array. We dont need a param info array per event type. We will just +// have a global one that can be shared by the various event types. +// +STATIC EVENT_PARAM_INFO_DEF s_rgParamInfoDDL[] = +{ + { EventTag_DatabaseName, L"DatabaseName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_SchemaName, L"SchemaName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_ObjectName, L"ObjectName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_ObjectType, L"ObjectType", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_RoleName, L"RoleName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_TSQLCommand, L"TSQLCommand", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), VARTYPE_UNLIMITED_LENGTH, 0}, + { EventTag_TargetServerName, L"TargetServerName",0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR),ScaleDefault(XVT_VARWSTR),x_cbMAXSSWNAME,EVENT_PARAM_NULLABLE}, + { EventTag_TargetDatabaseName, L"TargetDatabaseName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_TargetSchemaName, L"TargetSchemaName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_TargetObjectName, L"TargetObjectName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_TargetObjectType, L"TargetObjectType", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_OwnerName, L"OwnerName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, 0}, + { EventTag_DefaultLanguage, L"DefaultLanguage", 0,0,NULL,XVT_VARWSTR,PrecDefault( XVT_VARWSTR ), ScaleDefault( XVT_VARWSTR ), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_DefaultDatabase, L"DefaultDatabase", 0,0,NULL,XVT_VARWSTR,PrecDefault( XVT_VARWSTR ), ScaleDefault( XVT_VARWSTR ), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_LoginType, L"LoginType", 0,0,NULL,XVT_VARWSTR,PrecDefault( XVT_VARWSTR ), ScaleDefault( XVT_VARWSTR ), x_cbMAXSSWNAME, 0}, + { EventTag_SID, L"SID", 0,0,NULL,CTypeInfo::tiSID.XvtType(), PrecDefault(CTypeInfo::tiSID.XvtType()),ScaleDefault(CTypeInfo::tiSID.XvtType()),x_cbMaxSID,EVENT_PARAM_NULLABLE}, + { EventTag_RoleSID, L"RoleSID", 0,0,NULL,CTypeInfo::tiSID.XvtType(), PrecDefault(CTypeInfo::tiSID.XvtType()),ScaleDefault(CTypeInfo::tiSID.XvtType()),x_cbMaxSID, EVENT_PARAM_NULLABLE}, + { EventTag_Grantor, L"Grantor", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, 0}, + { EventTag_Permissions, L"Permissions", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), VARTYPE_UNLIMITED_LENGTH, 0}, + { EventTag_Grantees, L"Grantees", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), VARTYPE_UNLIMITED_LENGTH, 0}, + { EventTag_AsGrantor, L"AsGrantor", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_GrantOption, L"GrantOption", 0,0,NULL,XVT_BIT, PrecDefault(XVT_BIT), ScaleDefault(XVT_BIT), LenDefault(XVT_BIT),0}, + { EventTag_CascadeOption, L"CascadeOption", 0,0,NULL,XVT_BIT, PrecDefault(XVT_BIT), ScaleDefault(XVT_BIT), LenDefault(XVT_BIT),0}, + { EventTag_PrimaryXMLIndexName, L"PrimaryXMLIndexName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_SecondaryXMLIndexType, L"SecondaryXMLIndexType", 0,0,NULL,XVT_SSWSTR,PrecDefault(XVT_SSWSTR), ScaleDefault(XVT_SSWSTR), 2, EVENT_PARAM_NULLABLE}, + { EventTag_CertificatePath, L"CertificatePath",0,0,NULL,CTypeInfo::tiMaxPathName.XvtType(),PrecDefault(CTypeInfo::tiMaxPathName.XvtType()), + ScaleDefault(CTypeInfo::tiMaxPathName.XvtType()),sizeof(WCHAR)*MAX_PATH, EVENT_PARAM_NULLABLE}, + { EventTag_PrivateKeyPath, L"PrivateKeyPath",0,0,NULL,CTypeInfo::tiMaxPathName.XvtType(),PrecDefault(CTypeInfo::tiMaxPathName.XvtType()), + ScaleDefault(CTypeInfo::tiMaxPathName.XvtType()),sizeof(WCHAR)*MAX_PATH,EVENT_PARAM_NULLABLE}, + { EventTag_CertificateSubject, L"CertificateSubject", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_Function, L"Function", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, 0}, + { EventTag_DefaultSchema, L"DefaultSchema",0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR),ScaleDefault(XVT_VARWSTR),x_cbMAXSSWNAME, EVENT_PARAM_NULLABLE}, + { EventTag_ClientHost, L"ClientHost", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, 0}, + { EventTag_IsPooled, L"IsPooled", 0,0,NULL,XVT_BIT, PrecDefault(XVT_BIT), ScaleDefault(XVT_BIT), LenDefault(XVT_BIT),0}, + { EventTag_Parameters, L"Parameters", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), VARTYPE_UNLIMITED_LENGTH, 0}, + { EventTag_PropertyName, L"PropertyName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, 0}, + { EventTag_PropertyValue, L"PropertyValue", 0,0,NULL,XVT_SSVARIANT,PrecDefault(XVT_SSVARIANT), ScaleDefault(XVT_SSVARIANT), SIZEOFSSVARIANT, EVENT_PARAM_NULLABLE}, + { EventTag_NewObjectName, L"NewObjectName", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), x_cbMAXSSWNAME, 0}, + { EventTag_KeyPath, L"KeyPath",0,0,NULL,CTypeInfo::tiMaxPathName.XvtType(),PrecDefault(CTypeInfo::tiMaxPathName.XvtType()), + ScaleDefault(CTypeInfo::tiMaxPathName.XvtType()),sizeof(WCHAR)*MAX_PATH, EVENT_PARAM_NULLABLE}, + { EventTag_CounterSignature, L"CounterSignature", 0,0,NULL,XVT_BIT, PrecDefault(XVT_BIT), ScaleDefault(XVT_BIT), LenDefault(XVT_BIT),0}, + { EventTag_AlterTableActionList, L"AlterTableActionList", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), VARTYPE_UNLIMITED_LENGTH, 0}, + { EventTag_AlterDatabaseActionList, L"AlterDatabaseActionList", 0,0,NULL,XVT_VARWSTR,PrecDefault(XVT_VARWSTR), ScaleDefault(XVT_VARWSTR), VARTYPE_UNLIMITED_LENGTH, 0}, +}; +STATIC ULONG s_cParamInfoDDL = NUMELEM(s_rgParamInfoDDL); + +// Extended GROUP enum for SQLTrace +#include "grpenum.inc" +//================================================= + +// This array defines groups for all supported synchronous events. The array order should follow +// the order of the EEventGroup enum defined in events.h. +// +EVENT_GROUP g_rgEventGroup[] = +{ + //------------------------------------------------------------------------------------------ + // GROUP ID GROUP PARENT ID Group name For optimization + //------------------------------------------------------------------------------------------ + { EGROUP_ALL, EGROUP_INVALID, L"ALL_EVENTS", x_eet_Group_All, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL, EGROUP_ALL, L"DDL_EVENTS", x_eet_Group_Ddl, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SERVER_LEVEL, EGROUP_DDL, L"DDL_SERVER_LEVEL_EVENTS", x_eet_Group_Ddl_Server_Level, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_ENDPOINT, EGROUP_DDL_SERVER_LEVEL, L"DDL_ENDPOINT_EVENTS", x_eet_Group_Ddl_Endpoint, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_DATABASE, EGROUP_DDL_SERVER_LEVEL, L"DDL_DATABASE_EVENTS", x_eet_Group_Ddl_Database, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SERVER_SECURITY, EGROUP_DDL_SERVER_LEVEL, L"DDL_SERVER_SECURITY_EVENTS", x_eet_Group_Ddl_Server_Security, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_LOGIN, EGROUP_DDL_SERVER_SECURITY, L"DDL_LOGIN_EVENTS", x_eet_Group_Ddl_Login, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_GDR_SERVER, EGROUP_DDL_SERVER_SECURITY, L"DDL_GDR_SERVER_EVENTS", x_eet_Group_Ddl_Gdr_Server, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_AUTH_SERVER, EGROUP_DDL_SERVER_SECURITY, L"DDL_AUTHORIZATION_SERVER_EVENTS", x_eet_Group_Ddl_Auth_Server, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_CREDENTIAL, EGROUP_DDL_SERVER_SECURITY, L"DDL_CREDENTIAL_EVENTS", x_eet_Group_Ddl_Credential, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_CRYPTOPROV, EGROUP_DDL_SERVER_SECURITY, L"DDL_CRYPTOGRAPHIC_PROVIDER_EVENTS", x_eet_Group_Ddl_CryptoProv, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SRVMASTERKEY, EGROUP_DDL_SERVER_SECURITY, L"DDL_SERVICE_MASTER_KEY_EVENTS", x_eet_Group_Ddl_Service_Master_Key, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SERVERAUDIT, EGROUP_DDL_SERVER_SECURITY, L"DDL_SERVER_AUDIT_EVENTS", x_eet_Group_Ddl_ServerAudit, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SERVERAUDITSPEC, EGROUP_DDL_SERVER_SECURITY, L"DDL_SERVER_AUDIT_SPECIFICATION_EVENTS", x_eet_Group_Ddl_ServerAuditSpec, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_EXTENDED_PROCEDURE, EGROUP_DDL_SERVER_LEVEL, L"DDL_EXTENDED_PROCEDURE_EVENTS", x_eet_Group_Ddl_Extended_Procedure, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_LINKED_SERVER, EGROUP_DDL_SERVER_LEVEL, L"DDL_LINKED_SERVER_EVENTS", x_eet_Group_Ddl_Linked_Server, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_LINKED_SERVER_LOGIN, EGROUP_DDL_LINKED_SERVER, L"DDL_LINKED_SERVER_LOGIN_EVENTS", x_eet_Group_Ddl_Linked_Server_Login, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_MESSAGE, EGROUP_DDL_SERVER_LEVEL, L"DDL_MESSAGE_EVENTS", x_eet_Group_Ddl_Message, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_REMOTE_SERVER, EGROUP_DDL_SERVER_LEVEL, L"DDL_REMOTE_SERVER_EVENTS", x_eet_Group_Ddl_Remote_Server, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_EVENT_SESSION, EGROUP_DDL_SERVER_LEVEL, L"DDL_EVENT_SESSION_EVENTS", x_eet_Group_Ddl_Event_Session, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_RESOURCE_GOVERNOR, EGROUP_DDL_SERVER_LEVEL, L"DDL_RESOURCE_GOVERNOR_EVENTS",x_eet_Group_Ddl_Resource_Governor, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_RESOURCE_POOL, EGROUP_DDL_RESOURCE_GOVERNOR,L"DDL_RESOURCE_POOL", x_eet_Group_Ddl_Resource_Pool, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_EXTERNAL_RESOURCE_POOL, EGROUP_DDL_RESOURCE_GOVERNOR,L"DDL_EXTERNAL_RESOURCE_POOL_EVENTS", x_eet_Group_Ddl_External_Resource_Pool, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_RESOURCE_GROUP, EGROUP_DDL_RESOURCE_GOVERNOR,L"DDL_WORKLOAD_GROUP", x_eet_Group_Ddl_Resource_Group, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_DATABASE_LEVEL, EGROUP_DDL, L"DDL_DATABASE_LEVEL_EVENTS", x_eet_Group_Ddl_Database_Level, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_TABLEVIEW, EGROUP_DDL_DATABASE_LEVEL, L"DDL_TABLE_VIEW_EVENTS", x_eet_Group_Ddl_Tableview, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_TABLE, EGROUP_DDL_TABLEVIEW, L"DDL_TABLE_EVENTS", x_eet_Group_Ddl_Table, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_VIEW, EGROUP_DDL_TABLEVIEW, L"DDL_VIEW_EVENTS", x_eet_Group_Ddl_View, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_INDEX, EGROUP_DDL_TABLEVIEW, L"DDL_INDEX_EVENTS", x_eet_Group_Ddl_Index, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_STATS, EGROUP_DDL_TABLEVIEW, L"DDL_STATISTICS_EVENTS", x_eet_Group_Ddl_Stats, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SYNONYM, EGROUP_DDL_DATABASE_LEVEL, L"DDL_SYNONYM_EVENTS", x_eet_Group_Ddl_Synonym, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_FUNCTION, EGROUP_DDL_DATABASE_LEVEL, L"DDL_FUNCTION_EVENTS", x_eet_Group_Ddl_Function, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_STOREDPROC, EGROUP_DDL_DATABASE_LEVEL, L"DDL_PROCEDURE_EVENTS", x_eet_Group_Ddl_Storedproc, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_TRIGGER, EGROUP_DDL_DATABASE_LEVEL, L"DDL_TRIGGER_EVENTS", x_eet_Group_Ddl_Trigger, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_EVTNOTIF, EGROUP_DDL_DATABASE_LEVEL, L"DDL_EVENT_NOTIFICATION_EVENTS", x_eet_Group_Ddl_Evtnotif, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_ASSEMBLY, EGROUP_DDL_DATABASE_LEVEL, L"DDL_ASSEMBLY_EVENTS", x_eet_Group_Ddl_Assembly, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_UDT, EGROUP_DDL_DATABASE_LEVEL, L"DDL_TYPE_EVENTS", x_eet_Group_Ddl_Udt, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SEQUENCE, EGROUP_DDL_DATABASE_LEVEL, L"DDL_SEQUENCE_EVENTS", x_eet_Group_Ddl_Sequence, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_LIBRARY, EGROUP_DDL_DATABASE_LEVEL, L"DDL_LIBRARY_EVENTS", x_eet_Group_Ddl_Library, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SENSITIVITY, EGROUP_DDL_DATABASE_LEVEL, L"DDL_SENSITIVITY_EVENTS", x_eet_Group_Ddl_Sensitivity, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_EXTERNAL_LANGUAGE, EGROUP_DDL_DATABASE_LEVEL, L"DDL_EXTERNAL_LANGUAGE_EVENTS", x_eet_Group_Ddl_External_Language, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_EXTERNAL_STREAM, EGROUP_DDL_DATABASE_LEVEL, L"DDL_EXTERNAL_STREAM_EVENTS", x_eet_Group_Ddl_External_Stream, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_DB_SECURITY, EGROUP_DDL_DATABASE_LEVEL, L"DDL_DATABASE_SECURITY_EVENTS", x_eet_Group_Ddl_DB_Security, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_CERTIFICATE, EGROUP_DDL_DB_SECURITY, L"DDL_CERTIFICATE_EVENTS", x_eet_Group_Ddl_Certificate, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_USER, EGROUP_DDL_DB_SECURITY, L"DDL_USER_EVENTS", x_eet_Group_Ddl_User, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_ROLE, EGROUP_DDL_DB_SECURITY, L"DDL_ROLE_EVENTS", x_eet_Group_Ddl_Role, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_APPROLE, EGROUP_DDL_DB_SECURITY, L"DDL_APPLICATION_ROLE_EVENTS", x_eet_Group_Ddl_Approle, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SCHEMA, EGROUP_DDL_DB_SECURITY, L"DDL_SCHEMA_EVENTS", x_eet_Group_Ddl_Schema, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_GDR_DATABASE, EGROUP_DDL_DB_SECURITY, L"DDL_GDR_DATABASE_EVENTS", x_eet_Group_Ddl_Gdr_Database, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_AUTH_DATABASE, EGROUP_DDL_DB_SECURITY, L"DDL_AUTHORIZATION_DATABASE_EVENTS", x_eet_Group_Ddl_Auth_Database, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_OBFUSKEY, EGROUP_DDL_DB_SECURITY, L"DDL_SYMMETRIC_KEY_EVENTS", x_eet_Group_Ddl_Symmetric, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_ASYMKEY, EGROUP_DDL_DB_SECURITY, L"DDL_ASYMMETRIC_KEY_EVENTS", x_eet_Group_Ddl_Asymmetric, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_CRYPTOSIGN, EGROUP_DDL_DB_SECURITY, L"DDL_CRYPTO_SIGNATURE_EVENTS", x_eet_Group_Ddl_Crypto_Signature, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_DBMASTERKEY, EGROUP_DDL_DB_SECURITY, L"DDL_MASTER_KEY_EVENTS", x_eet_Group_Ddl_Master_Key, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_DEK, EGROUP_DDL_DB_SECURITY, L"DDL_DATABASE_ENCRYPTION_KEY_EVENTS", x_eet_Group_Ddl_DEK, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_DBAUDITSPEC, EGROUP_DDL_DB_SECURITY, L"DDL_DATABASE_AUDIT_SPECIFICATION_EVENTS", x_eet_Group_Ddl_DbAuditSpec, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_DBAUDIT, EGROUP_DDL_DB_SECURITY, L"DDL_DATABASE_AUDIT_EVENTS", x_eet_Group_Ddl_DatabaseAudit_Group, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SSB, EGROUP_DDL_DATABASE_LEVEL, L"DDL_SSB_EVENTS", x_eet_Group_Ddl_Ssb, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_MSGTYPE, EGROUP_DDL_SSB, L"DDL_MESSAGE_TYPE_EVENTS", x_eet_Group_Ddl_Msgtype, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_CONTRACT, EGROUP_DDL_SSB, L"DDL_CONTRACT_EVENTS", x_eet_Group_Ddl_Contract, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_QUEUE, EGROUP_DDL_SSB, L"DDL_QUEUE_EVENTS", x_eet_Group_Ddl_Queue, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SERVICE, EGROUP_DDL_SSB, L"DDL_SERVICE_EVENTS", x_eet_Group_Ddl_Service, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_ROUTE, EGROUP_DDL_SSB, L"DDL_ROUTE_EVENTS", x_eet_Group_Ddl_Route, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_BINDING, EGROUP_DDL_SSB, L"DDL_REMOTE_SERVICE_BINDING_EVENTS", x_eet_Group_Ddl_Binding, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_PRIORITY, EGROUP_DDL_SSB, L"DDL_BROKER_PRIORITY_EVENTS", x_eet_Group_Ddl_Priority, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_XML_SCHEMA_COLLECTION, EGROUP_DDL_DATABASE_LEVEL, L"DDL_XML_SCHEMA_COLLECTION_EVENTS", x_eet_Group_Ddl_Xml_Schema_Collection, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_PARTITION, EGROUP_DDL_DATABASE_LEVEL, L"DDL_PARTITION_EVENTS", x_eet_Group_Ddl_Partition, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_PRTFUNCTION, EGROUP_DDL_PARTITION, L"DDL_PARTITION_FUNCTION_EVENTS", x_eet_Group_Ddl_Prtfunction, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_PRTSCHEME, EGROUP_DDL_PARTITION, L"DDL_PARTITION_SCHEME_EVENTS", x_eet_Group_Ddl_Prtscheme, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_DEFAULT, EGROUP_DDL_DATABASE_LEVEL, L"DDL_DEFAULT_EVENTS", x_eet_Group_Ddl_Default, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_EXTENDED_PROPERTY, EGROUP_DDL_DATABASE_LEVEL, L"DDL_EXTENDED_PROPERTY_EVENTS", x_eet_Group_Ddl_Extended_Property, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_FULLTEXT_CATALOG, EGROUP_DDL_DATABASE_LEVEL, L"DDL_FULLTEXT_CATALOG_EVENTS", x_eet_Group_Ddl_Fulltext_Catalog, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_PLAN_GUIDE, EGROUP_DDL_DATABASE_LEVEL, L"DDL_PLAN_GUIDE_EVENTS", x_eet_Group_Ddl_Plan_Guide, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_RULE, EGROUP_DDL_DATABASE_LEVEL, L"DDL_RULE_EVENTS", x_eet_Group_Ddl_Rule, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_FULLTEXT_STOPLIST, EGROUP_DDL_DATABASE_LEVEL, L"DDL_FULLTEXT_STOPLIST_EVENTS", x_eet_Group_Ddl_Fulltext_StopList, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_PROPERTYLIST, EGROUP_DDL_DATABASE_LEVEL, L"DDL_SEARCH_PROPERTY_LIST_EVENTS", x_eet_Group_Ddl_PropertyList, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_AVAILABILITY_GROUP, EGROUP_DDL_SERVER_LEVEL, L"DDL_AVAILABILITY_GROUP_EVENTS", x_eet_Group_Ddl_Availability_Group, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SECURITY_POLICY, EGROUP_DDL_DATABASE_LEVEL, L"DDL_SECURITY_POLICY_EVENTS", x_eet_Group_Ddl_SecurityPolicy_Group, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_COL_MASTER_KEY, EGROUP_DDL_DATABASE_LEVEL, L"DDL_COLUMN_MASTER_KEY_EVENTS", x_eet_Group_Ddl_Col_Master_Key_Group , ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_COL_ENCRYPTION_KEY, EGROUP_DDL_DATABASE_LEVEL, L"DDL_COLUMN_ENCRYPTION_KEY_EVENTS", x_eet_Group_Ddl_Col_Encryption_Key_Group, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SYNAPSE_POOL, EGROUP_DDL_SERVER_LEVEL, L"DDL_SYNAPSE_POOL_EVENTS", x_eet_Group_Ddl_Synapse_Pool, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SYNAPSE_WLG, EGROUP_DDL_SERVER_LEVEL, L"DDL_SYNAPSE_WLG_EVENTS", x_eet_Group_Ddl_Synapse_WLG, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_SYNAPSE_WLC, EGROUP_DDL_SERVER_LEVEL, L"DDL_SYNAPSE_WLC_EVENTS", x_eet_Group_Ddl_Synapse_WLC, ETYP_ON_INVALID, 0, 0, 0 }, + { EGROUP_DDL_FIDO, EGROUP_DDL_TABLEVIEW, L"DDL_FIDO_EVENTS", x_eet_Group_Ddl_FIDO, ETYP_ON_INVALID, 0, 0, 0 }, + + +// ========= SQLTrace additions. Do not put anything below!!!================================== + { EGROUP_TRCAT_ALL, EGROUP_ALL, L"TRC_ALL_EVENTS", x_eet_Group_Traceat_All, ETYP_ON_INVALID, 0, 0, 0 }, +#include "grpdefs.inc" +//============================================================================= +}; + +STATIC const ULONG s_cEventGroup = ARRAYSIZE(g_rgEventGroup); + +// This array defines schema for all supported synchronous events. The array order should follow +// the order of the EEventType enum defined in events.h. +// +STATIC EVENT_SCHEMA s_rgEventSchema[] = +{ + +//////////////////////////////////////////////////////////////////////////////////////// +// DDL EVENTS +//////////////////////////////////////////////////////////////////////////////////////// + + //----------------------------------------------- + // CREATE TABLE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATETABLE, + x_eet_Create_Table, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_TABLE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_TABLE, + 0 + }, + + //----------------------------------------------- + // ALTER TABLE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERTABLE, + x_eet_Alter_Table, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_TABLE", + EventTag_SchemaDDL | EventTag_Parameters | EventTag_AlterTableActionList, + NULL, + BitCount64(EventTag_SchemaDDL | EventTag_Parameters | EventTag_AlterTableActionList), + EGROUP_DDL_TABLE, + 0 + }, + + //----------------------------------------------- + // DROP TABLE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPTABLE, + x_eet_Drop_Table, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_TABLE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_TABLE, + 0 + }, + + //----------------------------------------------- + // UNDO DROP Event Schema + //----------------------------------------------- + { ETYP_ON_UNDO_DROP, + x_eet_Undo_Drop, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"UNDO_DROP", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_FIDO, + 0 + }, + + //----------------------------------------------- + // CREATE VIEW Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEVIEW, + x_eet_Create_View, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_VIEW", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_VIEW, + 0 + }, + + //----------------------------------------------- + // ALTER VIEW Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERVIEW, + x_eet_Alter_View, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_VIEW", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_VIEW, + 0 + }, + + //----------------------------------------------- + // DROP VIEW Event Schema + //----------------------------------------------- + { ETYP_ON_DROPVIEW, + x_eet_Drop_View, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_VIEW", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_VIEW, + 0 + }, + + //----------------------------------------------- + // CREATE SYNONYM Event Schema + //----------------------------------------------- + { ETYP_ON_CREATESYNONYM, + x_eet_Create_Synonym, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SYNONYM", + EventTag_SchemaDDL | EventTag_TargetNames, + NULL, + 9, + EGROUP_DDL_SYNONYM, + 0 + }, + + //----------------------------------------------- + // DROP SYNONYM Event Schema + //----------------------------------------------- + { ETYP_ON_DROPSYNONYM, + x_eet_Drop_Synonym, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SYNONYM", + EventTag_SchemaDDL | EventTag_TargetNames, + NULL, + 9, + EGROUP_DDL_SYNONYM, + 0 + }, + + //----------------------------------------------- + // CREATE FUNCTION Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEFUNCTION, + x_eet_Create_Function, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_FUNCTION", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_FUNCTION, + 0 + }, + + //----------------------------------------------- + // ALTER FUNCTION Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERFUNCTION, + x_eet_Alter_Function, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_FUNCTION", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_FUNCTION, + 0 + }, + + //----------------------------------------------- + // DROP FUNCTION Event Schema + //----------------------------------------------- + { ETYP_ON_DROPFUNCTION, + x_eet_Drop_Function, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_FUNCTION", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_FUNCTION, + 0 + }, + + //----------------------------------------------- + // CREATE PROCEDURE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEPROC, + x_eet_Create_Procedure, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_PROCEDURE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_STOREDPROC, + 0 + }, + + //----------------------------------------------- + // ALTER PROCEDURE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERPROC, + x_eet_Alter_Procedure, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_PROCEDURE", + EventTag_SchemaDDL | EventTag_Parameters, + NULL, + 6, + EGROUP_DDL_STOREDPROC, + 0 + }, + + //----------------------------------------------- + // DROP PROCEDURE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPPROC, + x_eet_Drop_Procedure, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_PROCEDURE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_STOREDPROC, + 0 + }, + + //----------------------------------------------- + // CREATE TRIGGER Event Schema + //----------------------------------------------- + { ETYP_ON_CREATETRIGGER, + x_eet_Create_Trigger, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_TRIGGER", + EventTag_SchemaTargetDDL, + NULL, + 7, + EGROUP_DDL_TRIGGER, + 0 + }, + + //----------------------------------------------- + // ALTER TRIGGER Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERTRIGGER, + x_eet_Alter_Trigger, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_TRIGGER", + EventTag_SchemaTargetDDL | EventTag_Parameters, + NULL, + 8, + EGROUP_DDL_TRIGGER, + 0 + }, + + //----------------------------------------------- + // DROP TRIGGER Event Schema + //----------------------------------------------- + { ETYP_ON_DROPTRIGGER, + x_eet_Drop_Trigger, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_TRIGGER", + EventTag_SchemaTargetDDL, + NULL, + 7, + EGROUP_DDL_TRIGGER, + 0 + }, + + //----------------------------------------------- + // CREATE EVENT NOTIFICATION Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEEVTNOTIF, + x_eet_Create_Event_Notification, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_EVENT_NOTIFICATION", + EventTag_SchemaLessFullTargetDDL, + NULL, + 7, + EGROUP_DDL_EVTNOTIF, + 0 + }, + + //----------------------------------------------- + // DROP EVENT NOTIFICATION Event Schema + //----------------------------------------------- + { ETYP_ON_DROPEVTNOTIF, + x_eet_Drop_Event_Notification, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_EVENT_NOTIFICATION", + EventTag_SchemaLessFullTargetDDL, + NULL, + 7, + EGROUP_DDL_EVTNOTIF, + 0 + }, + + //----------------------------------------------- + // CREATE INDEX Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEINDEX, + x_eet_Create_Index, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_INDEX", + EventTag_SchemaTargetDDL, + NULL, + 7, + EGROUP_DDL_INDEX, + 0 + }, + + //----------------------------------------------- + // ALTER INDEX Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERINDEX, + x_eet_Alter_Index, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_INDEX", + EventTag_SchemaTargetDDL | EventTag_Parameters, + NULL, + 8, + EGROUP_DDL_INDEX, + 0 + }, + + //----------------------------------------------- + // DROP INDEX Event Schema + //----------------------------------------------- + { ETYP_ON_DROPINDEX, + x_eet_Drop_Index, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_INDEX", + EventTag_SchemaTargetDDL, + NULL, + 7, + EGROUP_DDL_INDEX, + 0 + }, + + //----------------------------------------------- + // CREATE STATS Event Schema + //----------------------------------------------- + { ETYP_ON_CREATESTATS, + x_eet_Create_Stats, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_STATISTICS", + EventTag_SchemaTargetDDL, + NULL, + 7, + EGROUP_DDL_STATS, + 0 + }, + + //----------------------------------------------- + // UPDATE STATS Event Schema + //----------------------------------------------- + { ETYP_ON_UPDATESTATS, + x_eet_Update_Stats, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"UPDATE_STATISTICS", + EventTag_DatabaseEvent | EventTag_SchemaName | EventTag_ObjectType | EventTag_TargetObjectName | EventTag_TargetObjectType, + NULL, + 6, + EGROUP_DDL_STATS, + 0 + }, + + //----------------------------------------------- + // DROP STATS Event Schema + //----------------------------------------------- + { ETYP_ON_DROPSTATS, + x_eet_Drop_Stats, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_STATISTICS", + EventTag_SchemaTargetDDL, + NULL, + 7, + EGROUP_DDL_STATS, + 0 + }, + + //----------------------------------------------- + // CREATE DATABASE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEDATABASE, + x_eet_Create_Database, + EOBJTYP_SERVER, + EFLAG_NEW_TRANS, + L"CREATE_DATABASE", + EventTag_DatabaseEvent, + NULL, + 2, + EGROUP_DDL_DATABASE, + 0 + }, + + //----------------------------------------------- + // ALTER DATABASE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERDATABASE, + x_eet_Alter_Database, + EOBJTYP_SERVER, + EFLAG_NEW_TRANS, + L"ALTER_DATABASE", + EventTag_DatabaseEvent | EventTag_Parameters | EventTag_AlterDatabaseActionList, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_Parameters | EventTag_AlterDatabaseActionList), // 4, + EGROUP_DDL_DATABASE, + 0 + }, + + //----------------------------------------------- + // DROP DATABASE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPDATABASE, + x_eet_Drop_Database, + EOBJTYP_SERVER, + EFLAG_NEW_TRANS, + L"DROP_DATABASE", + EventTag_DatabaseEvent, + NULL, + 2, + EGROUP_DDL_DATABASE, + 0 + }, + + //----------------------------------------------- + // CREATE ASSEMBLY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEASSEMBLY, + x_eet_Create_Assembly, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_ASSEMBLY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_ASSEMBLY, + 0 + }, + + //----------------------------------------------- + // ALTER ASSEMBLY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERASSEMBLY, + x_eet_Alter_Assembly, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_ASSEMBLY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_ASSEMBLY, + 0 + }, + + //----------------------------------------------- + // DROP ASSEMBLY Event Schema + //----------------------------------------------- + { ETYP_ON_DROPASSEMBLY, + x_eet_Drop_Assembly, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_ASSEMBLY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_ASSEMBLY, + 0 + }, + + //----------------------------------------------- + // CREATE TYPE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATETYPE, + x_eet_Create_Type, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_TYPE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_UDT, + 0 + }, + + //----------------------------------------------- + // DROP TYPE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPTYPE, + x_eet_Drop_Type, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_TYPE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_UDT, + 0 + }, + + //----------------------------------------------- + // CREATE USER Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEUSER, + x_eet_Create_User, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_USER", + EventTag_SchemaLessDDL | EventTag_DefaultSchema | EventTag_SID | EventTag_DefaultLanguage, + NULL, + 7, + EGROUP_DDL_USER, + 0 + }, + + //----------------------------------------------- + // ALTER USER Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERUSER, + x_eet_Alter_User, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_USER", + EventTag_SchemaLessDDL | EventTag_DefaultSchema | EventTag_SID | EventTag_Parameters | EventTag_DefaultLanguage, + NULL, + 8, + EGROUP_DDL_USER, + 0 + }, + + //----------------------------------------------- + // DROP USER Event Schema + //----------------------------------------------- + { ETYP_ON_DROPUSER, + x_eet_Drop_User, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_USER", + EventTag_SchemaLessDDL | EventTag_DefaultSchema | EventTag_SID | EventTag_DefaultLanguage, + NULL, + 7, + EGROUP_DDL_USER, + 0 + }, + + + //----------------------------------------------- + // ADD ROLE MEMBER (sp_AddRoleMember) Event Schema + //----------------------------------------------- + { ETYP_ON_ADDROLEMEMBER, + x_eet_Add_Role_Member, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ADD_ROLE_MEMBER", + EventTag_DatabaseName | EventTag_ObjectEvent | EventTag_DefaultSchema | EventTag_SID | EventTag_RoleName | EventTag_TSQLCommand, + NULL, + BitCount64(EventTag_DatabaseName | EventTag_ObjectEvent | EventTag_DefaultSchema | EventTag_SID | EventTag_RoleName | EventTag_TSQLCommand), + EGROUP_DDL_ROLE, + 0 + }, + + //----------------------------------------------- + // DROP ROLE MEMBER (sp_DropRoleMember) Event Schema + //----------------------------------------------- + { ETYP_ON_DROPROLEMEMBER, + x_eet_Drop_Role_Member, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_ROLE_MEMBER", + EventTag_DatabaseName | EventTag_ObjectEvent | EventTag_DefaultSchema | EventTag_SID | EventTag_RoleName | EventTag_TSQLCommand, + NULL, + BitCount64(EventTag_DatabaseName | EventTag_ObjectEvent | EventTag_DefaultSchema | EventTag_SID | EventTag_RoleName | EventTag_TSQLCommand), + EGROUP_DDL_ROLE, + 0 + }, + + + //----------------------------------------------- + // CREATE ROLE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEROLE, + x_eet_Create_Role, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_ROLE", + EventTag_SchemaLessDDL | EventTag_SID, + NULL, + 5, + EGROUP_DDL_ROLE, + 0 + }, + + //----------------------------------------------- + // ALTER ROLE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERROLE, + x_eet_Alter_Role, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_ROLE", + EventTag_SchemaLessDDL | EventTag_SID, + NULL, + 5, + EGROUP_DDL_ROLE, + 0 + }, + + //----------------------------------------------- + // DROP ROLE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPROLE, + x_eet_Drop_Role, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_ROLE", + EventTag_SchemaLessDDL | EventTag_SID, + NULL, + 5, + EGROUP_DDL_ROLE, + 0 + }, + + + //----------------------------------------------- + // CREATE APPROLE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEAPPROLE, + x_eet_Create_AppRole, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_APPLICATION_ROLE", + EventTag_SchemaLessDDL | EventTag_DefaultSchema | EventTag_SID, + NULL, + 6, + EGROUP_DDL_APPROLE, + 0 + }, + + //----------------------------------------------- + // ALTER APPROLE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERAPPROLE, + x_eet_Alter_AppRole, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_APPLICATION_ROLE", + EventTag_SchemaLessDDL | EventTag_DefaultSchema | EventTag_SID, + NULL, + 6, + EGROUP_DDL_APPROLE, + 0 + }, + + //----------------------------------------------- + // DROP APPROLE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPAPPROLE, + x_eet_Drop_AppRole, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_APPLICATION_ROLE", + EventTag_SchemaLessDDL | EventTag_DefaultSchema | EventTag_SID, + NULL, + 6, + EGROUP_DDL_APPROLE, + 0 + }, + + + //----------------------------------------------- + // CREATE SCHEMA Event Schema + //----------------------------------------------- + { ETYP_ON_CREATESCHEMA, + x_eet_Create_Schema, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SCHEMA", + EventTag_DatabaseEvent | EventTag_SchemaName | EventTag_OwnerName | EventTag_ObjectEvent, + NULL, + 6, + EGROUP_DDL_SCHEMA, + 0 + }, + + //----------------------------------------------- + // ALTER SCHEMA Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERSCHEMA, + x_eet_Alter_Schema, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SCHEMA", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SCHEMA, + 0 + }, + + //----------------------------------------------- + // DROP SCHEMA Event Schema + //----------------------------------------------- + { ETYP_ON_DROPSCHEMA, + x_eet_Drop_Schema, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SCHEMA", + EventTag_DatabaseEvent | EventTag_SchemaName | EventTag_OwnerName | EventTag_ObjectEvent, + NULL, + 6, + EGROUP_DDL_SCHEMA, + 0 + }, + + + //----------------------------------------------- + // CREATE LOGIN Event Schema + //----------------------------------------------- + { ETYP_ON_CREATELOGIN, + x_eet_Create_Login, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_LOGIN", + EventTag_LoginEvent, + NULL, + 7, + EGROUP_DDL_LOGIN, + 0 + }, + + //----------------------------------------------- + // ALTER LOGIN Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERLOGIN, + x_eet_Alter_Login, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_LOGIN", + EventTag_LoginEvent, + NULL, + 7, + EGROUP_DDL_LOGIN, + 0 + }, + + //----------------------------------------------- + // DROP LOGIN Event Schema + //----------------------------------------------- + { ETYP_ON_DROPLOGIN, + x_eet_Drop_Login, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_LOGIN", + EventTag_LoginEvent, + NULL, + 7, + EGROUP_DDL_LOGIN, + 0 + }, + + //----------------------------------------------- + // LOGON Event Schema + //----------------------------------------------- + { ETYP_ON_LOGON, + x_eet_Logon, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS | EFLAG_SYNC_ONLY, + L"LOGON", + EventTag_LoginType | EventTag_SID | EventTag_ClientHost | EventTag_IsPooled, + NULL, + 4, + EGROUP_ALL, + 0 + }, + + //----------------------------------------------- + // ADD SERVER ROLE MEMBER (sp_AddSrvRoleMember) Event Schema + //----------------------------------------------- + { ETYP_ON_ADDSRVROLEMEMBER, + x_eet_Add_Server_Role_Member, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ADD_SERVER_ROLE_MEMBER", + EventTag_LoginEvent | EventTag_RoleEvent | EventTag_TSQLCommand, + NULL, + BitCount64(EventTag_LoginEvent | EventTag_RoleEvent | EventTag_TSQLCommand), + EGROUP_DDL_SERVER_SECURITY, + 0 + }, + + //----------------------------------------------- + // DROP SERVER ROLE MEMBER (sp_DropSrvRoleMember) Event Schema + //----------------------------------------------- + { ETYP_ON_DROPSRVROLEMEMBER, + x_eet_Drop_Server_Role_Member, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SERVER_ROLE_MEMBER", + EventTag_LoginEvent | EventTag_RoleEvent | EventTag_TSQLCommand, + NULL, + BitCount64(EventTag_LoginEvent | EventTag_RoleEvent | EventTag_TSQLCommand), + EGROUP_DDL_SERVER_SECURITY, + 0 + }, + + //----------------------------------------------- + // CREATE SERVERROLE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATESERVERROLE, + x_eet_Create_ServerRole, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SERVER_ROLE", + EventTag_ServerEvent | EventTag_SID, + NULL, + BitCount64(EventTag_ServerEvent | EventTag_SID), + EGROUP_DDL_SERVER_SECURITY, + 0 + }, + + //----------------------------------------------- + // ALTER SERVERROLE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERSERVERROLE, + x_eet_Alter_ServerRole, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SERVER_ROLE", + EventTag_ServerEvent | EventTag_SID, + NULL, + BitCount64(EventTag_ServerEvent | EventTag_SID), + EGROUP_DDL_SERVER_SECURITY, + 0 + }, + + //----------------------------------------------- + // DROP SERVERROLE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPSERVERROLE, + x_eet_Drop_ServerRole, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SERVER_ROLE", + EventTag_ServerEvent | EventTag_SID, + NULL, + BitCount64(EventTag_ServerEvent | EventTag_SID), + EGROUP_DDL_SERVER_SECURITY, + 0 + }, + + //----------------------------------------------- + // CREATE ENDPOINT Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_ENDPOINT, + x_eet_Create_Endpoint, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_ENDPOINT", + EventTag_ServerEvent, + NULL, + 3, + EGROUP_DDL_ENDPOINT, + 0 + }, + + //----------------------------------------------- + // ALTER ENDPOINT Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_ENDPOINT, + x_eet_Alter_Endpoint, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_ENDPOINT", + EventTag_ServerEvent, + NULL, + 3, + EGROUP_DDL_ENDPOINT, + 0 + }, + + //----------------------------------------------- + // DROP ENDPOINT Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_ENDPOINT, + x_eet_Drop_Endpoint, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_ENDPOINT", + EventTag_ServerEvent, + NULL, + 3, + EGROUP_DDL_ENDPOINT, + 0 + }, + + //*********************************************************************** + // START: Service Broker Events + // + //*********************************************************************** + + //----------------------------------------------- + // CREATE MSGTYPE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEMSGTYPE, + x_eet_Create_MsgType, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_MESSAGE_TYPE", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_MSGTYPE, + 0 + }, + + //----------------------------------------------- + // ALTER MSGTYPE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERMSGTYPE, + x_eet_Alter_MsgType, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_MESSAGE_TYPE", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_MSGTYPE, + 0 + }, + + //----------------------------------------------- + // DROP MSGTYPE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPMSGTYPE, + x_eet_Drop_MsgType, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_MESSAGE_TYPE", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_MSGTYPE, + 0 + }, + + + //----------------------------------------------- + // CREATE CONTRACT Event Schema + //----------------------------------------------- + { ETYP_ON_CREATECONTRACT, + x_eet_Create_Contract, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_CONTRACT", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_CONTRACT, + 0 + }, + + //----------------------------------------------- + // DROP CONTRACT Event Schema + //----------------------------------------------- + { ETYP_ON_DROPCONTRACT, + x_eet_Drop_Contract, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_CONTRACT", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_CONTRACT, + 0 + }, + + + //----------------------------------------------- + // CREATE QUEUE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEQUEUE, + x_eet_Create_Queue, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_QUEUE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_QUEUE, + 0 + }, + + //----------------------------------------------- + // ALTER QUEUE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERQUEUE, + x_eet_Alter_Queue, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_QUEUE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_QUEUE, + 0 + }, + + //----------------------------------------------- + // DROP QUEUE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPQUEUE, + x_eet_Drop_Queue, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_QUEUE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_QUEUE, + 0 + }, + + + //----------------------------------------------- + // CREATE SERVICE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATESERVICE, + x_eet_Create_Service, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SERVICE", + EventTag_SchemaLessFullTargetDDL, + NULL, + 7, + EGROUP_DDL_SERVICE, + 0 + }, + + //----------------------------------------------- + // ALTER SERVICE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERSERVICE, + x_eet_Alter_Service, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SERVICE", + EventTag_SchemaLessFullTargetDDL, + NULL, + 7, + EGROUP_DDL_SERVICE, + 0 + }, + + //----------------------------------------------- + // DROP SERVICE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPSERVICE, + x_eet_Drop_Service, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SERVICE", + EventTag_SchemaLessFullTargetDDL, + NULL, + 7, + EGROUP_DDL_SERVICE, + 0 + }, + + //----------------------------------------------- + // CREATE ROUTE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEROUTE, + x_eet_Create_Route, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_ROUTE", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_ROUTE, + 0 + }, + + //----------------------------------------------- + // ALTER ROUTE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERROUTE, + x_eet_Alter_Route, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_ROUTE", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_ROUTE, + 0 + }, + + //----------------------------------------------- + // DROP ROUTE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPROUTE, + x_eet_Drop_Route, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_ROUTE", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_ROUTE, + 0 + }, + + //----------------------------------------------- + // CREATE BINDING Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEBINDING, + x_eet_Create_Binding, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_REMOTE_SERVICE_BINDING", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_BINDING, + 0 + }, + + //----------------------------------------------- + // ALTER BINDING Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERBINDING, + x_eet_Alter_Binding, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_REMOTE_SERVICE_BINDING", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_BINDING, + 0 + }, + + //----------------------------------------------- + // DROP BINDING Event Schema + //----------------------------------------------- + { ETYP_ON_DROPBINDING, + x_eet_Drop_Binding, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_REMOTE_SERVICE_BINDING", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_BINDING, + 0 + }, + + //----------------------------------------------- + // CREATE BROKER PRIORITY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEPRIORITY, + x_eet_Create_Priority, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_BROKER_PRIORITY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PRIORITY, + 0 + }, + + //----------------------------------------------- + // ALTER BROKER PRIORITY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERPRIORITY, + x_eet_Alter_Priority, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_BROKER_PRIORITY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PRIORITY, + 0 + }, + + //----------------------------------------------- + // DROP BROKER PRIORITY Event Schema + //----------------------------------------------- + { ETYP_ON_DROPPRIORITY, + x_eet_Drop_Priority, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_BROKER_PRIORITY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PRIORITY, + 0 + }, + + //*********************************************************************** + // END: Service Broker Events + // + //*********************************************************************** + + //*********************************************************************** + // START: Grant Deny Revoke Events + // + //*********************************************************************** + + //----------------------------------------------- + // GRANT_SERVER Event Schema + //----------------------------------------------- + { ETYP_ON_GRANT_SERVER, + x_eet_Grant_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"GRANT_SERVER", + EventTag_GDR, + NULL, + 7, + EGROUP_DDL_GDR_SERVER, + 0 + }, + + //----------------------------------------------- + // DENY_SERVER Event Schema + //----------------------------------------------- + { ETYP_ON_DENY_SERVER, + x_eet_Deny_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DENY_SERVER", + EventTag_GDR, + NULL, + 7, + EGROUP_DDL_GDR_SERVER, + 0 + }, + + //----------------------------------------------- + // REVOKE_SERVER Event Schema + //----------------------------------------------- + { ETYP_ON_REVOKE_SERVER, + x_eet_Revoke_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"REVOKE_SERVER", + EventTag_GDR, + NULL, + 7, + EGROUP_DDL_GDR_SERVER, + 0 + }, + + + //----------------------------------------------- + // GRANT_DATABASE Event Schema + //----------------------------------------------- + { ETYP_ON_GRANT_DATABASE, + x_eet_Grant_Database, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"GRANT_DATABASE", + EventTag_GDRDatabase, + NULL, + 11, + EGROUP_DDL_GDR_DATABASE, + 0 + }, + + //----------------------------------------------- + // DENY_DATABASE Event Schema + //----------------------------------------------- + { ETYP_ON_DENY_DATABASE, + x_eet_Deny_Database, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DENY_DATABASE", + EventTag_GDRDatabase, + NULL, + 11, + EGROUP_DDL_GDR_DATABASE, + 0 + }, + + //----------------------------------------------- + // REVOKE_DATABASE Event Schema + //----------------------------------------------- + { ETYP_ON_REVOKE_DATABASE, + x_eet_Revoke_Database, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"REVOKE_DATABASE", + EventTag_GDRDatabase, + NULL, + 11, + EGROUP_DDL_GDR_DATABASE, + 0 + }, + + + //*********************************************************************** + // END: Grant Deny Revoke Events + // + //*********************************************************************** + + //----------------------------------------------- + // CREATE XML SCHEMA COLLECTION Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_XML_SCHEMA_COLLECTION, + x_eet_Create_XmlSchemaCollection, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_XML_SCHEMA_COLLECTION", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_XML_SCHEMA_COLLECTION, + 0 + }, + + //----------------------------------------------- + // ALTER XMLSCHEMA Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_XML_SCHEMA_COLLECTION, + x_eet_Alter_XmlSchemaCollection, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_XML_SCHEMA_COLLECTION", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_XML_SCHEMA_COLLECTION, + 0 + }, + + //----------------------------------------------- + // DROP XMLSCHEMA Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_XML_SCHEMA_COLLECTION, + x_eet_Drop_XmlSchemaCollection, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_XML_SCHEMA_COLLECTION", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_XML_SCHEMA_COLLECTION, + 0 + }, + + + //----------------------------------------------- + // CREATE CERTIFICATE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATECERT, + x_eet_Create_Cert, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_CERTIFICATE", + EventTag_ObjectOwnerKeyEvent | EventTag_CertificatePath | EventTag_PrivateKeyPath | EventTag_CertificateSubject | EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_ObjectOwnerKeyEvent | EventTag_CertificatePath | EventTag_PrivateKeyPath | EventTag_CertificateSubject | EventTag_DatabaseEvent), + EGROUP_DDL_CERTIFICATE, + 0 + }, + + //----------------------------------------------- + // ALTER CERTIFICATE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERCERT, + x_eet_Alter_Cert, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_CERTIFICATE", + EventTag_ObjectOwnerKeyEvent | EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_ObjectOwnerKeyEvent | EventTag_DatabaseEvent), + EGROUP_DDL_CERTIFICATE, + 0 + }, + + //----------------------------------------------- + // DROP CERTIFICATE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPCERT, + x_eet_Drop_Cert, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_CERTIFICATE", + EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent), + EGROUP_DDL_CERTIFICATE, + 0 + }, + + //----------------------------------------------- + // CREATE SYMMETRIC KEY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEOBFUSKEY, + x_eet_Create_ObfusKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SYMMETRIC_KEY", + EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent), + EGROUP_DDL_OBFUSKEY, + 0 + }, + + //----------------------------------------------- + // ALTER SYMMETRIC KEY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTEROBFUSKEY, + x_eet_Alter_ObfusKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SYMMETRIC_KEY", + EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent), + EGROUP_DDL_OBFUSKEY, + 0 + }, + + //----------------------------------------------- + // DROP SYMMETRIC KEY Event Schema + //----------------------------------------------- + { ETYP_ON_DROPOBFUSKEY, + x_eet_Drop_ObfusKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SYMMETRIC_KEY", + EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent), + EGROUP_DDL_OBFUSKEY, + 0 + }, + + //----------------------------------------------- + // CREATE ASYMMETRIC KEY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEASYMKEY, + x_eet_Create_AsymKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_ASYMMETRIC_KEY", + EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent | EventTag_KeyPath, + NULL, + BitCount64(EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent | EventTag_KeyPath), + EGROUP_DDL_ASYMKEY, + 0 + }, + + //----------------------------------------------- + // ALTER ASYMMETRIC KEY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERASYMKEY, + x_eet_Alter_AsymKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_ASYMMETRIC_KEY", + EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent), + EGROUP_DDL_ASYMKEY, + 0 + }, + + //----------------------------------------------- + // DROP ASYMMETRIC KEY Event Schema + //----------------------------------------------- + { ETYP_ON_DROPASYMKEY, + x_eet_Drop_AsymKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_ASYMMETRIC_KEY", + EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_ObjectOwnerEvent | EventTag_DatabaseEvent), + EGROUP_DDL_ASYMKEY, + 0 + }, + + //----------------------------------------------- + // ALTER SERVICE MASTER KEY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERSRVMASTERKEY, + x_eet_Alter_SrvMasterKey, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SERVICE_MASTER_KEY", + EventTag_ObjectType | EventTag_TSQLCommand, + NULL, + BitCount64(EventTag_ObjectType | EventTag_TSQLCommand), + EGROUP_DDL_SRVMASTERKEY, + 0 + }, + + //----------------------------------------------- + // CREATE MASTER KEY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEDBMASTERKEY, + x_eet_Create_DbMasterKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_MASTER_KEY", + EventTag_DatabaseEvent | EventTag_ObjectType, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectType), + EGROUP_DDL_DBMASTERKEY, + 0 + }, + + //----------------------------------------------- + // ALTER MASTER KEY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERDBMASTERKEY, + x_eet_Alter_DbMasterKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_MASTER_KEY", + EventTag_DatabaseEvent | EventTag_ObjectType, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectType), + EGROUP_DDL_DBMASTERKEY, + 0 + }, + + //----------------------------------------------- + // DROP MASTER KEY Event Schema + //----------------------------------------------- + { ETYP_ON_DROPDBMASTERKEY, + x_eet_Drop_DbMasterKey, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_MASTER_KEY", + EventTag_DatabaseEvent | EventTag_ObjectType, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectType), + EGROUP_DDL_DBMASTERKEY, + 0 + }, + + //----------------------------------------------- + // CREATE DEK Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEDEK, + x_eet_Create_DEK, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_NEW_TRANS, + L"CREATE_DATABASE_ENCRYPTION_KEY", + EventTag_DatabaseEvent | EventTag_ObjectType, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectType), + EGROUP_DDL_DEK, + 0 + }, + + //----------------------------------------------- + // ALTER DEK Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERDEK, + x_eet_Alter_DEK, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_NEW_TRANS, + L"ALTER_DATABASE_ENCRYPTION_KEY", + EventTag_DatabaseEvent | EventTag_ObjectType, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectType), + EGROUP_DDL_DEK, + 0 + }, + + //----------------------------------------------- + // DROP DEK Event Schema + //----------------------------------------------- + { ETYP_ON_DROPDEK, + x_eet_Drop_DEK, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_NEW_TRANS, + L"DROP_DATABASE_ENCRYPTION_KEY", + EventTag_DatabaseEvent | EventTag_ObjectType, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectType), + EGROUP_DDL_DEK, + 0 + }, + + //----------------------------------------------- + // ADD SIGNATURE on Schema Object Event Schema + //----------------------------------------------- + { ETYP_ON_ADDSIGN_SCH_OBJ, + x_eet_Add_Signature_SchObj, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ADD_SIGNATURE_SCHEMA_OBJECT", + EventTag_DatabaseEvent | EventTag_ObjectEvent |EventTag_SchemaName | EventTag_CounterSignature, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent |EventTag_SchemaName | EventTag_CounterSignature), + EGROUP_DDL_CRYPTOSIGN, + 0 + }, + + //----------------------------------------------- + // DROP SIGNATURE on Schema Object Event Schema + //----------------------------------------------- + { ETYP_ON_DROPSIGN_SCH_OBJ, + x_eet_Drop_Signature_SchObj, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SIGNATURE_SCHEMA_OBJECT", + EventTag_DatabaseEvent | EventTag_ObjectEvent |EventTag_SchemaName | EventTag_CounterSignature, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent |EventTag_SchemaName | EventTag_CounterSignature), + EGROUP_DDL_CRYPTOSIGN, + 0 + }, + + //----------------------------------------------- + // ADD SIGNATURE Event Schema + //----------------------------------------------- + { ETYP_ON_ADDSIGN, + x_eet_Add_Signature, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ADD_SIGNATURE", + EventTag_DatabaseEvent | EventTag_ObjectEvent | EventTag_CounterSignature, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent | EventTag_CounterSignature), + EGROUP_DDL_CRYPTOSIGN, + 0 + }, + + //----------------------------------------------- + // DROP SIGNATURE Event Schema + //----------------------------------------------- + { ETYP_ON_DROPSIGN, + x_eet_Drop_Signature, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SIGNATURE", + EventTag_DatabaseEvent | EventTag_ObjectEvent | EventTag_CounterSignature, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent | EventTag_CounterSignature), + EGROUP_DDL_CRYPTOSIGN, + 0 + }, + + //----------------------------------------------- + // CREATE CREDENTIAL Event Schema + //----------------------------------------------- + { ETYP_ON_CREATECREDENTIAL, + x_eet_Create_Credential, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_CREDENTIAL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_CREDENTIAL, + 0 + }, + + //----------------------------------------------- + // ALTER CREDENTIAL Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERCREDENTIAL, + x_eet_Alter_Credential, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_CREDENTIAL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_CREDENTIAL, + 0 + }, + + //----------------------------------------------- + // DROP CREDENTIAL Event Schema + //----------------------------------------------- + { ETYP_ON_DROPCREDENTIAL, + x_eet_Drop_Credential, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_CREDENTIAL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_CREDENTIAL, + 0 + }, + + //----------------------------------------------- + // CREATE CRYPTO PROVIDER Event Schema + //----------------------------------------------- + { ETYP_ON_CREATECRYPTOPROV, + x_eet_Create_CryptoProv, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_CRYPTOGRAPHIC_PROVIDER", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_CRYPTOPROV, + 0 + }, + + //----------------------------------------------- + // ALTER CRYPTO PROVIDER Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERCRYPTOPROV, + x_eet_Alter_CryptoProv, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_CRYPTOGRAPHIC_PROVIDER", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_CRYPTOPROV, + 0 + }, + + //----------------------------------------------- + // DROP CRYPTO PROVIDER Event Schema + //----------------------------------------------- + { ETYP_ON_DROPCRYPTOPROV, + x_eet_Drop_CryptoProv, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_CRYPTOGRAPHIC_PROVIDER", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_CRYPTOPROV, + 0 + }, + + //----------------------------------------------- + // ALTER AUTHORIZATION Server Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERAUTH_SERVER, + x_eet_Alter_Auth_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_AUTHORIZATION_SERVER", + EventTag_ObjectOwnerEvent | EventTag_TSQLCommand, + NULL, + 4, + EGROUP_DDL_AUTH_SERVER, + 0 + }, + + //----------------------------------------------- + // ALTER AUTHORIZATION Database Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERAUTH_DATABASE, + x_eet_Alter_Auth_Database, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_AUTHORIZATION_DATABASE", + EventTag_SchemaDDL | EventTag_OwnerName, + NULL, + 6, + EGROUP_DDL_AUTH_DATABASE, + 0 + }, + + //*********************************************************************** + // START START - PARTITION RELATED - START START + // + //*********************************************************************** + + //----------------------------------------------- + // CREATE PARTITION FUNCTION Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEPRTFUNCTION, + x_eet_Create_Partition_Function, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_PARTITION_FUNCTION", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PRTFUNCTION, + 0 + }, + + //----------------------------------------------- + // ALTER PARTITION FUNCTION Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERPRTFUNCTION, + x_eet_Alter_Partition_Function, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_PARTITION_FUNCTION", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PRTFUNCTION, + 0 + }, + + //----------------------------------------------- + // DROP PARTITION FUNCTION Event Schema + //----------------------------------------------- + { ETYP_ON_DROPPRTFUNCTION, + x_eet_Drop_Partition_Function, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_PARTITION_FUNCTION", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PRTFUNCTION, + 0 + }, + + //----------------------------------------------- + // CREATE PARTITION SCHEME Event Schema + //----------------------------------------------- + { ETYP_ON_CREATEPRTSCHEME, + x_eet_Create_Partition_Scheme, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_PARTITION_SCHEME", + EventTag_SchemaLessDDL | EventTag_Function, + NULL, + 5, + EGROUP_DDL_PRTSCHEME, + 0 + }, + + //----------------------------------------------- + // ALTER PARTITION SCHEME Event Schema + //----------------------------------------------- + { ETYP_ON_ALTERPRTSCHEME, + x_eet_Alter_Partition_Scheme, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_PARTITION_SCHEME", + EventTag_SchemaLessDDL | EventTag_Function, + NULL, + 5, + EGROUP_DDL_PRTSCHEME, + 0 + }, + + //----------------------------------------------- + // DROP PARTITION SCHEME Event Schema + //----------------------------------------------- + { ETYP_ON_DROPPRTSCHEME, + x_eet_Drop_Partition_Scheme, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_PARTITION_SCHEME", + EventTag_SchemaLessDDL | EventTag_Function, + NULL, + 5, + EGROUP_DDL_PRTSCHEME, + 0 + }, + + //----------------------------------------------- + // CREATE [PRIMARY] XML INDEX Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_XML_INDEX, + x_eet_Create_XML_Index, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_XML_INDEX", + EventTag_SchemaTargetDDL | EventTag_PrimaryXMLIndexName | EventTag_SecondaryXMLIndexType, + NULL, + 9, + EGROUP_DDL_INDEX, + 0 + }, + + //----------------------------------------------- + // SP_UPDATEEXTENDEDPROPERTY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_EXTENDED_PROPERTY, + x_eet_Alter_Extended_Property, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_EXTENDED_PROPERTY", + EventTag_SPSchemaTargetDDL | EventTag_ExtendedPropertyEvent, + NULL, + 10, + EGROUP_DDL_EXTENDED_PROPERTY, + 0 + }, + //----------------------------------------------- + // ALTER FULLTEXT CATALOG Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_FULLTEXT_CATALOG, + x_eet_Alter_Fulltext_Catalog, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_FULLTEXT_CATALOG", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_FULLTEXT_CATALOG, + 0 + }, + //----------------------------------------------- + // ALTER FULLTEXT INDEX Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_FULLTEXT_INDEX, + x_eet_Alter_Fulltext_Index, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_FULLTEXT_INDEX", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_INDEX, + 0 + }, + //----------------------------------------------- + // SP_CONFIGURE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_INSTANCE, + x_eet_Alter_Instance, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_INSTANCE", + EventTag_ExtendedPropertyEvent | EventTag_TSQLCommand | EventTag_Parameters, + NULL, + 4, + EGROUP_DDL_SERVER_LEVEL, + 0 + }, + //----------------------------------------------- + // SP_SERVEROPTION Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_LINKED_SERVER, + x_eet_Alter_Linked_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_LINKED_SERVER", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_LINKED_SERVER, + 0 + }, + //----------------------------------------------- + // SP_ALTERMESSAGE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_MESSAGE, + x_eet_Alter_Message, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_MESSAGE", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_MESSAGE, + 0 + }, + //----------------------------------------------- + // SP_CONTROL_PLAN_GUIDE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_PLAN_GUIDE, + x_eet_Alter_Plan_Guide, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_PLAN_GUIDE", + EventTag_SPDatabaseEvent | EventTag_ObjectEvent, + NULL, + 5, + EGROUP_DDL_PLAN_GUIDE, + 0 + }, + //----------------------------------------------- + // SP_SERVEROPTION Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_REMOTE_SERVER, + x_eet_Alter_Remote_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_REMOTE_SERVER", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_REMOTE_SERVER, + 0 + }, + //----------------------------------------------- + // SP_BINDEFAULT Event Schema + //----------------------------------------------- + { ETYP_ON_BIND_DEFAULT, + x_eet_Bind_Default, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"BIND_DEFAULT", + EventTag_SPSchemaDDL, + NULL, + 6, + EGROUP_DDL_DEFAULT, + 0 + }, + //----------------------------------------------- + // SP_BINDRULE Event Schema + //----------------------------------------------- + { ETYP_ON_BIND_RULE, + x_eet_Bind_Rule, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"BIND_RULE", + EventTag_SPSchemaDDL, + NULL, + 6, + EGROUP_DDL_RULE, + 0 + }, + //----------------------------------------------- + // CREATE DEFAULT Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_DEFAULT, + x_eet_Create_Default, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_DEFAULT", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_DEFAULT, + 0 + }, + //----------------------------------------------- + // SP_ADDEXTENDEDPROC Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_EXTENDED_PROCEDURE, + x_eet_Create_Extended_Procedure, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_EXTENDED_PROCEDURE", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_EXTENDED_PROCEDURE, + 0 + }, + //----------------------------------------------- + // SP_ADDEXTENDEDPROPERTY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_EXTENDED_PROPERTY, + x_eet_Create_Extended_Property, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_EXTENDED_PROPERTY", + EventTag_SPSchemaTargetDDL | EventTag_ExtendedPropertyEvent, + NULL, + 10, + EGROUP_DDL_EXTENDED_PROPERTY, + 0 + }, + //----------------------------------------------- + // CREATE FULLTEXT CATALOG Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_FULLTEXT_CATALOG, + x_eet_Create_Fulltext_Catalog, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_FULLTEXT_CATALOG", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_FULLTEXT_CATALOG, + 0 + }, + //----------------------------------------------- + // CREATE FULLTEXT INDEX Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_FULLTEXT_INDEX, + x_eet_Create_Fulltext_Index, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_FULLTEXT_INDEX", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_INDEX, + 0 + }, + //----------------------------------------------- + // SP_ADDLINKEDSERVER Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_LINKED_SERVER, + x_eet_Create_Linked_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_LINKED_SERVER", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_LINKED_SERVER, + 0 + }, + //----------------------------------------------- + // SP_ADDLINKEDSRVLOGIN Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_LINKED_SERVER_LOGIN, + x_eet_Create_Linked_Server_Login, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_LINKED_SERVER_LOGIN", + EventTag_SPObjectTargetEvent, + NULL, + 6, + EGROUP_DDL_LINKED_SERVER_LOGIN, + 0 + }, + //----------------------------------------------- + // SP_ADDMESSAGE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_MESSAGE, + x_eet_Create_Message, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_MESSAGE", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_MESSAGE, + 0 + }, + //----------------------------------------------- + // SP_CREATE_PLAN_GUIDE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_PLAN_GUIDE, + x_eet_Create_Plan_Guide, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_PLAN_GUIDE", + EventTag_SPDatabaseEvent | EventTag_ObjectEvent, + NULL, + 5, + EGROUP_DDL_PLAN_GUIDE, + 0 + }, + //----------------------------------------------- + // SP_ADDSERVER Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_REMOTE_SERVER, + x_eet_Create_Remote_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_REMOTE_SERVER", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_REMOTE_SERVER, + 0 + }, + //----------------------------------------------- + // CREATE RULE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_RULE, + x_eet_Create_Rule, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_RULE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_RULE, + 0 + }, + //----------------------------------------------- + // DROP DEFAULT Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_DEFAULT, + x_eet_Drop_Default, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_DEFAULT", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_DEFAULT, + 0 + }, + //----------------------------------------------- + // SP_DROPEXTENDEDPROC Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_EXTENDED_PROCEDURE, + x_eet_Drop_Extended_Procedure, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_EXTENDED_PROCEDURE", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_EXTENDED_PROCEDURE, + 0 + }, + //----------------------------------------------- + // SP_DROPEXTENDEDPROPERTY Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_EXTENDED_PROPERTY, + x_eet_Drop_Extended_Property, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_EXTENDED_PROPERTY", + EventTag_SPSchemaTargetDDL | EventTag_PropertyName, + NULL, + 9, + EGROUP_DDL_EXTENDED_PROPERTY, + 0 + }, + //----------------------------------------------- + // DROP FULLTEXT CATALOG Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_FULLTEXT_CATALOG, + x_eet_Drop_Fulltext_Catalog, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_FULLTEXT_CATALOG", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_FULLTEXT_CATALOG, + 0 + }, + //----------------------------------------------- + // DROP FULLTEXT INDEX Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_FULLTEXT_INDEX, + x_eet_Drop_Fulltext_Index, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_FULLTEXT_INDEX", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_INDEX, + 0 + }, + //----------------------------------------------- + // SP_DROPSERVER Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_LINKED_SERVER, + x_eet_Drop_Linked_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_LINKED_SERVER", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_LINKED_SERVER, + 0 + }, + //----------------------------------------------- + // SP_DROPLINKEDSRVLOGIN Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_LINKED_SERVER_LOGIN, + x_eet_Drop_Linked_Server_Login, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_LINKED_SERVER_LOGIN", + EventTag_SPObjectTargetEvent, + NULL, + 6, + EGROUP_DDL_LINKED_SERVER_LOGIN, + 0 + }, + //----------------------------------------------- + // SP_DROPMESSAGE Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_MESSAGE, + x_eet_Drop_Message, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_MESSAGE", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_MESSAGE, + 0 + }, + //----------------------------------------------- + // SP_CONTROL_PLAN_GUIDE Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_PLAN_GUIDE, + x_eet_Drop_Plan_Guide, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_PLAN_GUIDE", + EventTag_SPDatabaseEvent | EventTag_ObjectEvent, + NULL, + 5, + EGROUP_DDL_PLAN_GUIDE, + 0 + }, + //----------------------------------------------- + // SP_DROPSERVER Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_REMOTE_SERVER, + x_eet_Drop_Remote_Server, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_REMOTE_SERVER", + EventTag_SPObjectEvent, + NULL, + 4, + EGROUP_DDL_REMOTE_SERVER, + 0 + }, + //----------------------------------------------- + // DROP RULE Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_RULE, + x_eet_Drop_Rule, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_RULE", + EventTag_SchemaDDL, + NULL, + 5, + EGROUP_DDL_RULE, + 0 + }, + + //----------------------------------------------- + // SP_RENAME Event Schema + //----------------------------------------------- + { ETYP_ON_RENAME, + x_eet_Rename, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"RENAME", + EventTag_SPSchemaTargetDDL | EventTag_NewObjectName, + NULL, + 9, + EGROUP_DDL_DATABASE_LEVEL, + 0 + }, + //----------------------------------------------- + // SP_UNBINDEFAULT Event Schema + //----------------------------------------------- + { ETYP_ON_UNBIND_DEFAULT, + x_eet_Unbind_Default, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"UNBIND_DEFAULT", + EventTag_SPSchemaDDL, + NULL, + 6, + EGROUP_DDL_DEFAULT, + 0 + }, + //----------------------------------------------- + // SP_UNBINDRULE Event Schema + //----------------------------------------------- + { ETYP_ON_UNBIND_RULE, + x_eet_Unbind_Rule, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"UNBIND_RULE", + EventTag_SPSchemaDDL, + NULL, + 6, + EGROUP_DDL_RULE, + 0 + }, + //*********************************************************************** + // END END - PARTITION RELATED - END END + // + //*********************************************************************** + + //----------------------------------------------- + // CREATE FULLTEXT STOPLIST Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_FULLTEXT_STOPLIST, + x_eet_Create_Fulltext_StopList, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_FULLTEXT_STOPLIST", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_FULLTEXT_STOPLIST, + 0 + }, + //----------------------------------------------- + // ALTER FULLTEXT STOPLIST Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_FULLTEXT_STOPLIST, + x_eet_Alter_Fulltext_StopList, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_FULLTEXT_STOPLIST", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_FULLTEXT_STOPLIST, + 0 + }, + //----------------------------------------------- + // DROP FULLTEXT STOPLIST Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_FULLTEXT_STOPLIST, + x_eet_Drop_Fulltext_StopList, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_FULLTEXT_STOPLIST", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_FULLTEXT_STOPLIST, + 0 + }, + + //----------------------------------------------- + // CREATE PROPERTY LIST Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_PROPERTYLIST, + x_eet_Create_PropertyList, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SEARCH_PROPERTY_LIST", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PROPERTYLIST, + 0 + }, + //----------------------------------------------- + // ALTER FULLTEXT PROPERTY LIST Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_PROPERTYLIST, + x_eet_Alter_PropertyList, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SEARCH_PROPERTY_LIST", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PROPERTYLIST, + 0 + }, + //----------------------------------------------- + // DROP FULLTEXT PROPERTY LIST Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_PROPERTYLIST, + x_eet_Drop_PropertyList, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SEARCH_PROPERTY_LIST", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_PROPERTYLIST, + 0 + }, + + //----------------------------------------------- + // CREATE_EVENT_SESSION Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_EVENT_SESSION, + x_eet_Create_Event_Session, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_EVENT_SESSION", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_EVENT_SESSION, + 0 + }, + + //----------------------------------------------- + // ALTER_EVENT_SESSION Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_EVENT_SESSION, + x_eet_Alter_Event_Session, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_EVENT_SESSION", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_EVENT_SESSION, + 0 + }, + + //----------------------------------------------- + // DROP_EVENT_SESSION Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_EVENT_SESSION, + x_eet_Drop_Event_Session, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_EVENT_SESSION", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_EVENT_SESSION, + 0 + }, + + //----------------------------------------------- + // CREATE RESOURCE POOL Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_RES_POOL, + x_eet_Create_Resource_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_RESOURCE_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_RESOURCE_POOL, + 0 + }, + + //----------------------------------------------- + // ALTER RESOURCE POOL Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_RES_POOL, + x_eet_Alter_Resource_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_RESOURCE_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_RESOURCE_POOL, + 0 + }, + + //----------------------------------------------- + // DROP RESOURCE POOL Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_RES_POOL, + x_eet_Drop_Resource_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_RESOURCE_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_RESOURCE_POOL, + 0 + }, + + //----------------------------------------------- + // CREATE WORKLOAD GROUP Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_RES_GROUP, + x_eet_Create_Resource_Group, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_WORKLOAD_GROUP", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_RESOURCE_GROUP, + 0 + }, + + //----------------------------------------------- + // ALTER WORKLOAD GROUP Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_RES_GROUP, + x_eet_Alter_Resource_Group, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_WORKLOAD_GROUP", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_RESOURCE_GROUP, + 0 + }, + + //----------------------------------------------- + // DROP WORKLOAD GROUP Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_RES_GROUP, + x_eet_Drop_Resource_Group, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_WORKLOAD_GROUP", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_RESOURCE_GROUP, + 0 + }, + + //----------------------------------------------- + // ALTER RESOURCE GOVERNOR CONFIGURATION Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_RES_GOVERNOR_CONFIG, + x_eet_Alter_Resource_Governor_Config, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_RESOURCE_GOVERNOR_CONFIG", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_RESOURCE_GOVERNOR, + 0 + }, + + + //----------------------------------------------- + // CREATE SPATIAL INDEX Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_SPATIAL_INDEX, + x_eet_Create_Spatial_Index, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SPATIAL_INDEX", + EventTag_SchemaTargetDDL, + NULL, + BitCount64( EventTag_SchemaTargetDDL), + EGROUP_DDL_INDEX, + 0 + }, + + // Audit Related Events + // + //----------------------------------------------- + // CREATE SERVER AUDIT Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_SERVER_AUDIT, + x_eet_Create_ServerAudit, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SERVER_AUDIT", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SERVERAUDIT, + 0 + }, + + //----------------------------------------------- + // ALTER SERVER AUDIT Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_SERVER_AUDIT, + x_eet_Alter_ServerAudit, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SERVER_AUDIT", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SERVERAUDIT, + 0 + }, + + //----------------------------------------------- + // DROP SERVER AUDIT Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_SERVER_AUDIT, + x_eet_Drop_ServerAudit, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SERVER_AUDIT", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SERVERAUDIT, + 0 + }, + + //----------------------------------------------- + // CREATE SERVER AUDIT SPEC Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_SERVER_AUDIT_SPEC, + x_eet_Create_ServerAuditSpec, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SERVER_AUDIT_SPECIFICATION", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SERVERAUDITSPEC, + 0 + }, + + //----------------------------------------------- + // ALTER SERVER AUDIT SPEC Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_SERVER_AUDIT_SPEC, + x_eet_Alter_ServerAuditSpec, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SERVER_AUDIT_SPECIFICATION", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SERVERAUDITSPEC, + 0 + }, + + //----------------------------------------------- + // DROP SERVER AUDIT SPEC Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_SERVER_AUDIT_SPEC, + x_eet_Drop_ServerAuditSpec, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SERVER_AUDIT_SPECIFICATION", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SERVERAUDITSPEC, + 0 + }, + + //----------------------------------------------- + // CREATE DB AUDIT SPEC Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_DB_AUDIT_SPEC, + x_eet_Create_DbAuditSpec, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_DATABASE_AUDIT_SPECIFICATION", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_DBAUDITSPEC, + 0 + }, + + //----------------------------------------------- + // ALTER DB AUDIT SPEC Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_DB_AUDIT_SPEC, + x_eet_Alter_DbAuditSpec, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_DATABASE_AUDIT_SPECIFICATION", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_DBAUDITSPEC, + 0 + }, + + //----------------------------------------------- + // DROP DB AUDIT SPEC Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_DB_AUDIT_SPEC, + x_eet_Drop_DbAuditSpec, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_DATABASE_AUDIT_SPECIFICATION", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_DBAUDITSPEC, + 0 + }, + + //----------------------------------------------- + // CREATE SEQUENCE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_SEQUENCE, + x_eet_Create_Sequence, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SEQUENCE", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SEQUENCE, + 0 + }, + + //----------------------------------------------- + // ALTER SEQUENCE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_SEQUENCE, + x_eet_Alter_Sequence, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SEQUENCE", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SEQUENCE, + 0 + }, + + //----------------------------------------------- + // DROP SEQUENCE Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_SEQUENCE, + x_eet_Drop_Sequence, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SEQUENCE", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SEQUENCE, + 0 + }, + + //----------------------------------------------- + // CREATE AVAILABILITY GROUP Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_AVAILABILITY_GROUP, + x_eet_Create_Availability_Group, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_AVAILABILITY_GROUP", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_AVAILABILITY_GROUP, + 0 + }, + + //----------------------------------------------- + // ALTER AVAILABILITY GROUP Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_AVAILABILITY_GROUP, + x_eet_Alter_Availability_Group, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_AVAILABILITY_GROUP", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_AVAILABILITY_GROUP, + 0 + }, + + //----------------------------------------------- + // DROP AVAILABILITY GROUP Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_AVAILABILITY_GROUP, + x_eet_Drop_Availability_Group, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_AVAILABILITY_GROUP", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_AVAILABILITY_GROUP, + 0 + }, + + //----------------------------------------------- + // CREATE DATABASE AUDIT Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_DATABASE_AUDIT, + x_eet_Create_Database_Audit, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_AUDIT", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_DBAUDIT, + 0 + }, + + //----------------------------------------------- + // DROP DATABASE AUDIT Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_DATABASE_AUDIT, + x_eet_Drop_Database_Audit, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_AUDIT", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_DBAUDIT, + 0 + }, + + //----------------------------------------------- + // ALTER DATABASE AUDIT Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_DATABASE_AUDIT, + x_eet_Alter_Database_Audit, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_AUDIT", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_DBAUDIT, + 0 + }, + + //----------------------------------------------- + // CREATE SECURITY POLICY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_SECURITY_POLICY, + x_eet_Create_Security_Policy, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SECURITY_POLICY", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SECURITY_POLICY, + 0 + }, + + //----------------------------------------------- + // ALTER SECURITY POLICY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_SECURITY_POLICY, + x_eet_Alter_Security_Policy, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SECURITY_POLICY", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SECURITY_POLICY, + 0 + }, + + //----------------------------------------------- + // DROP SECURITY POLICY Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_SECURITY_POLICY, + x_eet_Drop_Security_Policy, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SECURITY_POLICY", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SECURITY_POLICY, + 0 + }, + + //----------------------------------------------- + // CREATE COLUMN MASTER KEY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_COL_MASTER_KEY, + x_eet_Create_Col_Master_Key, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_COLUMN_MASTER_KEY", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_COL_MASTER_KEY, + 0 + }, + + //----------------------------------------------- + // DROP COLUMN MASTER KEY Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_COL_MASTER_KEY, + x_eet_Drop_Col_Master_Key, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_COLUMN_MASTER_KEY", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_COL_MASTER_KEY, + 0 + }, + + //----------------------------------------------- + // CREATE COLUMN ENCRYPTION KEY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_COL_ENCRYPTION_KEY, + x_eet_Create_Col_Encryption_Key, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_COLUMN_ENCRYPTION_KEY", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_COL_ENCRYPTION_KEY, + 0 + }, + + //----------------------------------------------- + // ALTER COLUMN ENCRYPTION KEY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_COL_ENCRYPTION_KEY, + x_eet_Alter_Col_Encryption_Key, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_COLUMN_ENCRYPTION_KEY", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_COL_ENCRYPTION_KEY, + 0 + }, + + //----------------------------------------------- + // DROP COLUMN ENCRYPTION KEY Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_COL_ENCRYPTION_KEY, + x_eet_Drop_Col_Encryption_Key, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_COLUMN_ENCRYPTION_KEY", + EventTag_DatabaseEvent | EventTag_ObjectEvent, + NULL, + BitCount64(EventTag_DatabaseEvent | EventTag_ObjectEvent), + EGROUP_DDL_COL_ENCRYPTION_KEY, + 0 + }, + + //----------------------------------------------- + // ALTER DATABASE SCOPED CONFIG Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_DB_SCOPED_CONFIG, + x_eet_Alter_DB_Scoped_Config, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_DATABASE_SCOPED_CONFIGURATION", + EventTag_DatabaseEvent, + NULL, + BitCount64(EventTag_DatabaseEvent), + EGROUP_DDL_DATABASE_LEVEL, + 0 + }, + + //----------------------------------------------- + // CREATE EXTERNAL RESOURCE POOL Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_EXTERNAL_RESOURCE_POOL, + x_eet_Create_External_Resource_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_EXTERNAL_RESOURCE_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_EXTERNAL_RESOURCE_POOL, + 0 + }, + + //----------------------------------------------- + // ALTER EXTERNAL RESOURCE POOL Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_EXTERNAL_RESOURCE_POOL, + x_eet_Alter_External_Resource_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_EXTERNAL_RESOURCE_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_EXTERNAL_RESOURCE_POOL, + 0 + }, + + //----------------------------------------------- + // DROP EXTERNAL RESOURCE POOL Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_EXTERNAL_RESOURCE_POOL, + x_eet_Drop_External_Resource_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_EXTERNAL_RESOURCE_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_EXTERNAL_RESOURCE_POOL, + 0 + }, + + //----------------------------------------------- + // CREATE EXTERNAL LIBRARY Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_EXTERNAL_LIBRARY, + x_eet_Create_External_Library, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_EXTERNAL_LIBRARY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_LIBRARY, + 0 + }, + + //----------------------------------------------- + // ALTER EXTERNAL LIBRARY Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_EXTERNAL_LIBRARY, + x_eet_Alter_External_Library, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_EXTERNAL_LIBRARY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_LIBRARY, + 0 + }, + + //----------------------------------------------- + // DROP EXTERNAL LIBRARY Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_EXTERNAL_LIBRARY, + x_eet_Drop_External_Library, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_EXTERNAL_LIBRARY", + EventTag_SchemaLessDDL, + NULL, + 4, + EGROUP_DDL_LIBRARY, + 0 + }, + + //----------------------------------------------- + // ADD SENSITIVITY CLASSIFICATION Event Schema + //----------------------------------------------- + { ETYP_ON_ADD_SENSITIVITY_CLASSIFICATION, + x_eet_Add_Sensitivity_Classification, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ADD_SENSITIVITY_CLASSIFICATION", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SENSITIVITY, + 0 + }, + + //----------------------------------------------- + // DROP SENSITIVITY CLASSIFICATION Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_SENSITIVITY_CLASSIFICATION, + x_eet_Drop_Sensitivity_Classification, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SENSITIVITY_CLASSIFICATION", + EventTag_SchemaDDL, + NULL, + BitCount64(EventTag_SchemaDDL), + EGROUP_DDL_SENSITIVITY, + 0 + }, + + //----------------------------------------------- + // CREATE EXTERNAL LANGUAGE Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_EXTERNAL_LANGUAGE, + x_eet_Create_External_Language, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_EXTERNAL_LANGUAGE", + EventTag_SchemaLessDDL, + NULL, + BitCount64(EventTag_SchemaLessDDL), + EGROUP_DDL_EXTERNAL_LANGUAGE, + 0 + }, + + //----------------------------------------------- + // ALTER EXTERNAL LANGUAGE Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_EXTERNAL_LANGUAGE, + x_eet_Alter_External_Language, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_EXTERNAL_LANGUAGE", + EventTag_SchemaLessDDL, + NULL, + BitCount64(EventTag_SchemaLessDDL), + EGROUP_DDL_EXTERNAL_LANGUAGE, + 0 + }, + + //----------------------------------------------- + // DROP EXTERNAL LANGUAGE Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_EXTERNAL_LANGUAGE, + x_eet_Drop_External_Language, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_EXTERNAL_LANGUAGE", + EventTag_SchemaLessDDL, + NULL, + BitCount64(EventTag_SchemaLessDDL), + EGROUP_DDL_EXTERNAL_LANGUAGE, + 0 + }, + + //----------------------------------------------- + // CREATE EXTERNAL STREAM Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_EXTERNAL_STREAM, + x_eet_Create_External_Stream, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_EXTERNAL_STREAM", + EventTag_SchemaLessDDL, + NULL, + BitCount64(EventTag_SchemaLessDDL), + EGROUP_DDL_EXTERNAL_STREAM, + 0 + }, + + //----------------------------------------------- + // DROP EXTERNAL STREAM Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_EXTERNAL_STREAM, + x_eet_Drop_External_Stream, + EOBJTYP_DATABASE | EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_EXTERNAL_STREAM", + EventTag_SchemaLessDDL, + NULL, + BitCount64(EventTag_SchemaLessDDL), + EGROUP_DDL_EXTERNAL_STREAM, + 0 + }, + + //----------------------------------------------- + // CREATE POOL Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_SYNAPSE_POOL, + x_eet_Create_Synapse_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_POOL, + 0 + }, + + //----------------------------------------------- + // ALTER POOL Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_SYNAPSE_POOL, + x_eet_Alter_Synapse_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_POOL, + 0 + }, + + //----------------------------------------------- + // DROP POOL Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_SYNAPSE_POOL, + x_eet_Drop_Synapse_Pool, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_POOL", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_POOL, + 0 + }, + + //----------------------------------------------- + // CREATE WLG Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_SYNAPSE_WLG, + x_eet_Create_Synapse_WLG, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SYNAPSE_WLG", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_WLG, + 0 + }, + + //----------------------------------------------- + // ALTER WLG Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_SYNAPSE_WLG, + x_eet_Alter_Synapse_WLG, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SYNAPSE_WLG", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_WLG, + 0 + }, + + //----------------------------------------------- + // DROP WLG Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_SYNAPSE_WLG, + x_eet_Drop_Synapse_WLG, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SYNAPSE_WLG", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_WLG, + 0 + }, + + //----------------------------------------------- + // CREATE Workload Classifier Event Schema + //----------------------------------------------- + { ETYP_ON_CREATE_SYNAPSE_WLC, + x_eet_Create_Synapse_WLC, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"CREATE_SYNAPSE_WLC", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_WLC, + 0 + }, + + + + //----------------------------------------------- + // ALTER Workload Classifier Event Schema + //----------------------------------------------- + { ETYP_ON_ALTER_SYNAPSE_WLC, + x_eet_Alter_Synapse_WLC, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"ALTER_SYNAPSE_WLC", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_WLC, + 0 + }, + + //----------------------------------------------- + // DROP Workload Classifier Event Schema + //----------------------------------------------- + { ETYP_ON_DROP_SYNAPSE_WLC, + x_eet_Drop_Synapse_WLC, + EOBJTYP_SERVER, + EFLAG_SAME_TRANS, + L"DROP_SYNAPSE_WLC", + EventTag_ServerEvent, + NULL, + BitCount64(EventTag_ServerEvent), + EGROUP_DDL_SYNAPSE_WLC, + 0 + }, + + //*********************************************************************** + // START - NON DDL EVENT TYPES - START + //*********************************************************************** + + //----------------------------------------------- + // SERVICE QUEUE ACTIVATION Event Schema + //----------------------------------------------- + { ETYP_ON_ACTIVATION, + x_eet_Activation, + EOBJTYP_SVCQ, + EFLAG_ASYNC_ONLY, + L"QUEUE_ACTIVATION", + EventTag_ObjectEvent | EventTag_DatabaseName | EventTag_SchemaName, + NULL, + 4, + EGROUP_ALL, + 0 + }, + + //----------------------------------------------- + // SERVICE QUEUE DISABLED Event Schema + //----------------------------------------------- + { ETYP_ON_QUEUE_DISABLED, + x_eet_Queue_Disabled, + EOBJTYP_SVCQ, + EFLAG_ASYNC_ONLY | EFLAG_DDLADMN_CAD_PERM, + L"BROKER_QUEUE_DISABLED", + EventTag_ObjectEvent | EventTag_DatabaseName | EventTag_SchemaName, + NULL, + 4, + EGROUP_ALL, + 0 + }, + + //----------------------------------------------- + // ALTER SERVER CONFIGURATION Event Schema + // ALTER SERVER does not support transactional semantics and does not expose a DDL trigger + //----------------------------------------------- + { ETYP_ON_ALTER_SERVER_CONFIG, + x_eet_Alter_Server_Config, + EOBJTYP_SERVER, + EFLAG_ASYNC_ONLY, + L"ALTER_SERVER_CONFIGURATION", + EventTag_ObjectType | EventTag_TSQLCommand, + NULL, + BitCount64(EventTag_ObjectType | EventTag_TSQLCommand), + EGROUP_ALL, + 0 + }, + + //*********************************************************************** + // END - NON DDL EVENT TYPES - END + //*********************************************************************** + + //------------------------------------------------- + // SQL Trace events. Do not add regular events below this!!! + //------------------------------------------------- +#include "schema.inc" +}; + diff --git a/SmoBuild/DdlEvents/evtenum_template.cs b/SmoBuild/DdlEvents/evtenum_template.cs new file mode 100644 index 00000000..ccaa8188 --- /dev/null +++ b/SmoBuild/DdlEvents/evtenum_template.cs @@ -0,0 +1,67 @@ +// ************************************************************************** +// Copyright (c) Microsoft Corporation. +// +// @File: smoevt.txt +// @Owner: macies +// +// Description: +// +// This is a template file used by smoevt.pl to autogenerate smoevt.cs. +// +// Notes: +@@@ autogenerated +// +// History: +// +// @Version: Yukon +// 000000 MJW 09/10/03 ... +// +// @EndHeader@ +// ************************************************************************** + +using System; +using System.Collections; +using System.Collections.Specialized; +using System.Text; + +namespace Microsoft.SqlServer.Management.Smo +{ + // ************************************************************************** + // + // CLASSES + // + // ************************************************************************** + + internal partial class PostProcessServerDdlTriggerEvents : PostProcessDdlEvents + { + + private ServerDdlTriggerEvent ServerDdlTriggerEventOffsetFromEventString(string evtdesc) + { + switch (evtdesc) + { +@@@ServerDdlTriggerEvent_string_offset_mapping + } + return ServerDdlTriggerEvent.CreateEndpoint; + } + } + + internal partial class PostProcessDatabaseDdlTriggerEvents : PostProcessDdlEvents + { + + private DatabaseDdlTriggerEvent DatabaseDdlTriggerEventOffsetFromEventString(string evtdesc) + { + switch (evtdesc) + { +@@@DatabaseDdlTriggerEvent_string_offset_mapping + } + + return DatabaseDdlTriggerEvent.CreateTable; + } + } + + // From here on generated template code +@@@CLASS_TEMPLATE + // End of generated template code + + +} diff --git a/SmoBuild/DdlEvents/evtschema.pl b/SmoBuild/DdlEvents/evtschema.pl new file mode 100644 index 00000000..d40396fa --- /dev/null +++ b/SmoBuild/DdlEvents/evtschema.pl @@ -0,0 +1,57 @@ +#**************************************************************************************** +# Copyright (c) Microsoft Corporation. +# @File: evtschema.pl +# @Owner: jayc +# +# Purpose: +# This script generates the temporary eventsschema.tmp file from eventsschema.cpp and other SQLTrace +# generated files. This new file is used by mofgen.pl. +# +# Usage: +# perl evtschema.pl eventschema.cpp $(O) +# @EndHeader@ +#**************************************************************************************** + +# Get ful path to eventsschema.cpp +$eventsschema_cpp = $ARGV[0]; + +# Get output directory +$OutputDir = $ARGV[1]; + +# Eventsschema.cpp +open(EVTSCHEMACPP, $eventsschema_cpp) || die "Cannot open $eventsschema_cpp\n"; + +# New destination file +open(OUTF, ">" . $OutputDir . "\\eventsschema.tmp") || die "Cannot write to eventsschema.tmp\n"; + +# read and copy +while() +{ + # search for pattern like #include "abc.inc" + if(/^\s*#include\s+\"(\w+\.inc)\"\s*$/) + { + print OUTF "// " , $1, "\n"; + &IncludeFile($1); + } + else + { + print OUTF $_; + } +} + +close(EVTSCHEMACPP); +close(OUTF); + + +sub IncludeFile +{ + local($IncName) = @_; + open(INCFILE, $OutputDir . "\\" . $IncName) || die "Cannot open " . $IncName . "\n"; + while() + { + print OUTF $_; + } + + print OUTF "\n"; + close(INCFILE); +} diff --git a/SmoBuild/DdlEvents/smoevt.pl b/SmoBuild/DdlEvents/smoevt.pl new file mode 100644 index 00000000..ec3d0c6d --- /dev/null +++ b/SmoBuild/DdlEvents/smoevt.pl @@ -0,0 +1,1102 @@ +#!/usr/bin/perl +#**************************************************************************** +# Copyright (c) Microsoft Corporation. +# +# @File: smoevt.pl +# @Owner: macies +# +# Purpose: +# +# This script is used for automatic generation of smoevt.cs +# from eventsschema.cpp +# +# Adapted from mofgen.pl by mwories +# +# History: +# +# @Version: Yukon +# 00000 MJW 09/10/03 This file was created +# +# @EndHeader@ +#**************************************************************************** +use strict; +use warnings "all"; + +######################################################## +# EVENT SCHEMA VARIABLES +######################################################## + +# The result after the parsing will be kept in the following two scalars. +# +my $class_select_list = ""; + +# the events that are defined here are routed events +my @server_events; +my @database_events = ("DROP_DATABASE"); +my @table_events; +my @view_events; +my @function_events; +my @sp_events; +my @asm_events; +my @svcq_events = ("ALTER_QUEUE", "DROP_QUEUE"); +my @object_events = ("ALTER", "DROP"); +my @all_events; +my @trace_events; +my @server_level_triggers; +my @database_level_triggers; + +######################################################## +# EVENT GROUPS' VARIABLES +######################################################## + +# The parse result for the groups will be kept in the following scalar +my $group_def = ""; + +# If 0, then we are outside of the group definition. +my $f_inside_group_def = 0; +my $f_inside_schema_def = 0; + +# The following hash holds the group names +my %h_group_name; +$h_group_name{ "EGROUP_INVALID" } = "Envelope"; +my %h_group_children; +my %h_event_parent; + +# The following hash holds the group-parent relationship +my %h_group_parent; + +# Prototypes +# +sub CamelCase($); +sub CreateEnum(@); +sub CreateStaticProps($@); +sub CreateProps($@); +sub CreateStringFromEvent($@); +sub CreateEventFromString($@); +sub GetEventsInGroupRecurse($); +sub GetGroupsInGroupRecurse($); +sub CreateEventsGroupProp($$); +sub CreateEventsGroupPropInit($$); +sub CreateElementCount(@); + +######################################################## +# +# TEMPLATE GENERATION +# +# The following section generates a template +# file based on a class template file. +# This is done as we do not want to copy/paste +# identical class definitions into the overall +# template file. +# +######################################################## + +my $gen_for_enum_or_main = $ARGV[0]; +my $event_schema = $ARGV[1]; +my $class_template = $ARGV[2]; # class template - class_template.cs +my $template = $ARGV[3]; # overall template - smoevt_template.cs +my $output_template=$ARGV[4] ? $ARGV[4] : "smoevt_gen_template.cs"; + # optional input: generated template temp file + +my @classnames; + +if( $gen_for_enum_or_main eq "main" ) +{ + @classnames = qw(ServerEvent ServerTraceEvent DatabaseEvent TableEvent ViewEvent ServiceQueueEvent ObjectEvent UserDefinedFunctionEvent StoredProcedureEvent SqlAssemblyEvent); +} +else +{ + @classnames = qw(ServerDdlTriggerEvent DatabaseDdlTriggerEvent); +} + +my $template_code; + +# Generate class definitions +open(CLASS_TEMPLATE_FILE, $class_template) || die "Cannot open class template: $class_template $!"; + +foreach my $classname (@classnames) +{ + while () + { + s/CLASSNAME/$classname/g; + $template_code .= $_; + } + seek CLASS_TEMPLATE_FILE, 0, 0; +} +close CLASS_TEMPLATE_FILE || die "Close failed."; + +# Write template file +open(TEMPLATE, $template) || die "Cannot open template: $template $!"; +open(OUTPUT_TEMPLATE, ">$output_template") || die "Cannot open $output_template: $!"; + +while (