├── DBEsitle.sln ├── DBEsitle ├── App.config ├── ConnectionStrings.cs ├── DBEsitle.csproj ├── DBUtilities.cs ├── DbServer.cs ├── FrmAbout.Designer.cs ├── FrmAbout.cs ├── FrmAbout.resx ├── FrmMain.Designer.cs ├── FrmMain.cs ├── FrmMain.resx ├── Models │ ├── Column.cs │ ├── ProcFunc.cs │ ├── Table.cs │ ├── TableProperties.cs │ └── View.cs ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Resources │ ├── about.png │ ├── allselect.png │ ├── conn.ico │ ├── refr.ico │ ├── tart2.ico │ └── transfer.ico ├── db.ico └── packages.config ├── README.md ├── SQLStructComparer.png └── packages └── Microsoft.SqlServer.SqlManagementObjects.150.18208.0 ├── build └── net45 │ └── Microsoft.SqlServer.SqlManagementObjects.targets └── lib ├── net45 ├── Microsoft.SqlServer.Assessment.dll ├── Microsoft.SqlServer.BatchParserClient.dll ├── Microsoft.SqlServer.ConnectionInfo.dll ├── Microsoft.SqlServer.ConnectionInfo.xml ├── Microsoft.SqlServer.ConnectionInfoExtended.dll ├── Microsoft.SqlServer.ConnectionInfoExtended.xml ├── Microsoft.SqlServer.Diagnostics.Strace.dll ├── Microsoft.SqlServer.Dmf.Common.dll ├── Microsoft.SqlServer.Dmf.Common.xml ├── Microsoft.SqlServer.Dmf.dll ├── Microsoft.SqlServer.Dmf.xml ├── Microsoft.SqlServer.Management.Assessment.dll ├── Microsoft.SqlServer.Management.Collector.dll ├── Microsoft.SqlServer.Management.Collector.xml ├── Microsoft.SqlServer.Management.CollectorEnum.dll ├── Microsoft.SqlServer.Management.CollectorEnum.xml ├── Microsoft.SqlServer.Management.RegisteredServers.dll ├── Microsoft.SqlServer.Management.RegisteredServers.xml ├── Microsoft.SqlServer.Management.Sdk.Sfc.dll ├── Microsoft.SqlServer.Management.Sdk.Sfc.xml ├── Microsoft.SqlServer.Management.SqlParser.dll ├── Microsoft.SqlServer.Management.Utility.dll ├── Microsoft.SqlServer.Management.Utility.xml ├── Microsoft.SqlServer.Management.UtilityEnum.dll ├── Microsoft.SqlServer.Management.UtilityEnum.xml ├── Microsoft.SqlServer.Management.XEvent.dll ├── Microsoft.SqlServer.Management.XEvent.xml ├── Microsoft.SqlServer.Management.XEventDbScoped.dll ├── Microsoft.SqlServer.Management.XEventDbScoped.xml ├── Microsoft.SqlServer.Management.XEventDbScopedEnum.dll ├── Microsoft.SqlServer.Management.XEventDbScopedEnum.xml ├── Microsoft.SqlServer.Management.XEventEnum.dll ├── Microsoft.SqlServer.Management.XEventEnum.xml ├── Microsoft.SqlServer.PolicyEnum.dll ├── Microsoft.SqlServer.PolicyEnum.xml ├── Microsoft.SqlServer.RegSvrEnum.dll ├── Microsoft.SqlServer.RegSvrEnum.xml ├── Microsoft.SqlServer.SString.dll ├── Microsoft.SqlServer.ServiceBrokerEnum.dll ├── Microsoft.SqlServer.ServiceBrokerEnum.xml ├── Microsoft.SqlServer.Smo.dll ├── Microsoft.SqlServer.Smo.xml ├── Microsoft.SqlServer.SmoExtended.dll ├── Microsoft.SqlServer.SmoExtended.xml ├── Microsoft.SqlServer.SqlClrProvider.dll ├── Microsoft.SqlServer.SqlEnum.dll ├── Microsoft.SqlServer.SqlEnum.xml ├── Microsoft.SqlServer.SqlTDiagm.dll ├── Microsoft.SqlServer.SqlWmiManagement.dll ├── Microsoft.SqlServer.SqlWmiManagement.xml ├── Microsoft.SqlServer.Types.dll ├── Microsoft.SqlServer.Types.xml ├── Microsoft.SqlServer.WmiEnum.dll └── Microsoft.SqlServer.WmiEnum.xml └── netstandard2.0 ├── Microsoft.Data.Tools.Sql.BatchParser.dll ├── Microsoft.SqlServer.Assessment.dll ├── Microsoft.SqlServer.ConnectionInfo.dll ├── Microsoft.SqlServer.Dmf.dll ├── Microsoft.SqlServer.Management.Assessment.dll ├── Microsoft.SqlServer.Management.Dmf.dll ├── Microsoft.SqlServer.Management.RegisteredServers.dll ├── Microsoft.SqlServer.Management.Sdk.Sfc.dll ├── Microsoft.SqlServer.Management.SmoMetadataProvider.dll ├── Microsoft.SqlServer.Management.SqlParser.dll ├── Microsoft.SqlServer.Management.SqlScriptPublishModel.dll └── Microsoft.SqlServer.Management.XEvent.dll /DBEsitle.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29123.88 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DBEsitle", "DBEsitle\DBEsitle.csproj", "{2CB668B3-904D-407D-81AD-78EC8B591846}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Debug|x64 = Debug|x64 12 | Release|Any CPU = Release|Any CPU 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {2CB668B3-904D-407D-81AD-78EC8B591846}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {2CB668B3-904D-407D-81AD-78EC8B591846}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {2CB668B3-904D-407D-81AD-78EC8B591846}.Debug|x64.ActiveCfg = Debug|x64 19 | {2CB668B3-904D-407D-81AD-78EC8B591846}.Debug|x64.Build.0 = Debug|x64 20 | {2CB668B3-904D-407D-81AD-78EC8B591846}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {2CB668B3-904D-407D-81AD-78EC8B591846}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {2CB668B3-904D-407D-81AD-78EC8B591846}.Release|x64.ActiveCfg = Release|x64 23 | {2CB668B3-904D-407D-81AD-78EC8B591846}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {8C9FC9F7-AFEA-4717-BAE2-3F91A510239A} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /DBEsitle/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /DBEsitle/ConnectionStrings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DBEsitle 8 | { 9 | public struct ConnectionStrings 10 | { 11 | public static string StandardSecurity 12 | { 13 | get 14 | { 15 | return "Server={0};Database=master;User Id={1};Password={2};"; 16 | } 17 | } 18 | 19 | public static string TrustedConnection 20 | { 21 | get 22 | { 23 | return "Server={0};Database=master;Trusted_Connection=True;"; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /DBEsitle/DBEsitle.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {2CB668B3-904D-407D-81AD-78EC8B591846} 8 | WinExe 9 | DBEsitle 10 | DBEsitle 11 | v4.6.1 12 | 512 13 | true 14 | true 15 | 16 | 17 | 18 | 19 | AnyCPU 20 | true 21 | full 22 | false 23 | bin\Debug\ 24 | DEBUG;TRACE 25 | prompt 26 | 4 27 | 28 | 29 | AnyCPU 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | db.ico 39 | 40 | 41 | true 42 | bin\x64\Debug\ 43 | DEBUG;TRACE 44 | full 45 | x64 46 | prompt 47 | MinimumRecommendedRules.ruleset 48 | true 49 | 50 | 51 | bin\x64\Release\ 52 | TRACE 53 | true 54 | pdbonly 55 | x64 56 | prompt 57 | MinimumRecommendedRules.ruleset 58 | true 59 | 60 | 61 | 62 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Assessment.dll 63 | 64 | 65 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.BatchParserClient.dll 66 | 67 | 68 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.ConnectionInfo.dll 69 | 70 | 71 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.ConnectionInfoExtended.dll 72 | 73 | 74 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Diagnostics.Strace.dll 75 | 76 | 77 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Dmf.dll 78 | 79 | 80 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Dmf.Common.dll 81 | 82 | 83 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.Assessment.dll 84 | 85 | 86 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.Collector.dll 87 | 88 | 89 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.CollectorEnum.dll 90 | 91 | 92 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.RegisteredServers.dll 93 | 94 | 95 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.Sdk.Sfc.dll 96 | 97 | 98 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.SqlParser.dll 99 | 100 | 101 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.Utility.dll 102 | 103 | 104 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.UtilityEnum.dll 105 | 106 | 107 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.XEvent.dll 108 | 109 | 110 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.XEventDbScoped.dll 111 | 112 | 113 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.XEventDbScopedEnum.dll 114 | 115 | 116 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Management.XEventEnum.dll 117 | 118 | 119 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.PolicyEnum.dll 120 | 121 | 122 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.RegSvrEnum.dll 123 | 124 | 125 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.ServiceBrokerEnum.dll 126 | 127 | 128 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Smo.dll 129 | 130 | 131 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.SmoExtended.dll 132 | 133 | 134 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.SqlClrProvider.dll 135 | 136 | 137 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.SqlEnum.dll 138 | 139 | 140 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.SqlTDiagm.dll 141 | 142 | 143 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.SqlWmiManagement.dll 144 | 145 | 146 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.SString.dll 147 | 148 | 149 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.Types.dll 150 | 151 | 152 | ..\packages\Microsoft.SqlServer.SqlManagementObjects.150.18208.0\lib\net45\Microsoft.SqlServer.WmiEnum.dll 153 | 154 | 155 | ..\packages\Newtonsoft.Json.10.0.1\lib\net45\Newtonsoft.Json.dll 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | Form 175 | 176 | 177 | FrmAbout.cs 178 | 179 | 180 | Form 181 | 182 | 183 | FrmMain.cs 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | FrmAbout.cs 194 | 195 | 196 | FrmMain.cs 197 | 198 | 199 | ResXFileCodeGenerator 200 | Designer 201 | Resources.Designer.cs 202 | 203 | 204 | 205 | SettingsSingleFileGenerator 206 | Settings.Designer.cs 207 | 208 | 209 | True 210 | True 211 | Resources.resx 212 | 213 | 214 | True 215 | Settings.settings 216 | True 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 246 | 247 | 248 | 249 | -------------------------------------------------------------------------------- /DBEsitle/DBUtilities.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.SqlServer.Management.Smo; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Collections.Specialized; 5 | using System.Data.SqlClient; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace DBEsitle 12 | { 13 | public struct DBUtilities 14 | { 15 | public static IEnumerable TabloOlustur(DbServer kaynakServer, DbServer hedefServer, IEnumerable tablolar) 16 | { 17 | Server _server = new Server(kaynakServer.Ip); 18 | _server.ConnectionContext.LoginSecure = kaynakServer.LoginSecure; 19 | 20 | if (!kaynakServer.LoginSecure) 21 | { 22 | _server.ConnectionContext.Login = kaynakServer.Username; 23 | _server.ConnectionContext.Password = kaynakServer.Password; 24 | } 25 | _server.ConnectionContext.Connect(); 26 | 27 | string database = kaynakServer.Database; 28 | Scripter scripter = new Scripter(_server); 29 | Database _db = _server.Databases[database]; 30 | var sqlCodes = new List(); 31 | 32 | foreach (string tablo in tablolar) 33 | { 34 | foreach (string script in _db.Tables[tablo].Script()) 35 | sqlCodes.Add(script); 36 | 37 | foreach (Index index in _db.Tables[tablo].Indexes) 38 | foreach (string script in index.Script()) 39 | sqlCodes.Add(script); 40 | 41 | foreach (Trigger trigger in _db.Tables[tablo].Triggers) 42 | foreach (string script in trigger.Script()) 43 | sqlCodes.Add(script); 44 | } 45 | return SqlExec(hedefServer, sqlCodes); 46 | 47 | } 48 | public static List ViewlariGetir(DbServer server) 49 | { 50 | using (var conn = new SqlConnection()) 51 | { 52 | conn.ConnectionString = server.ConnectionString; 53 | conn.Open(); 54 | var liste = new List(); 55 | using (var cmd = conn.CreateCommand()) 56 | { 57 | string database = server.Database; 58 | cmd.CommandText = $@"SELECT TABLE_NAME 59 | ,VIEW_DEFINITION 60 | FROM {database}.INFORMATION_SCHEMA.VIEWS"; 61 | 62 | SqlDataReader dr = cmd.ExecuteReader(); 63 | while (dr.Read()) 64 | { 65 | var _view = new View(); 66 | _view.Name = dr["TABLE_NAME"].ToString(); 67 | _view.SqlCreate = dr["VIEW_DEFINITION"].ToString(); 68 | liste.Add(_view); 69 | } 70 | dr.Close(); 71 | conn.Close(); 72 | return liste; 73 | } 74 | } 75 | } 76 | 77 | public static List ProsodurVeFonksiyonlariGetir(DbServer server) 78 | { 79 | using (var conn = new SqlConnection()) 80 | { 81 | conn.ConnectionString = server.ConnectionString; 82 | conn.Open(); 83 | var liste = new List(); 84 | using (var cmd = conn.CreateCommand()) 85 | { 86 | string database = server.Database; 87 | cmd.CommandText = $@"SELECT ROUTINE_NAME 88 | ,ROUTINE_TYPE 89 | ,ROUTINE_DEFINITION 90 | FROM {database}.INFORMATION_SCHEMA.ROUTINES 91 | WHERE ROUTINE_TYPE = 'PROCEDURE' 92 | OR ROUTINE_TYPE = 'FUNCTION' 93 | ORDER BY ROUTINE_NAME ASC"; 94 | 95 | SqlDataReader dr = cmd.ExecuteReader(); 96 | while (dr.Read()) 97 | { 98 | var _pf = new ProcFunc(); 99 | _pf.Name = dr["ROUTINE_NAME"].ToString(); 100 | _pf.Type = dr["ROUTINE_TYPE"].ToString(); 101 | _pf.SqlCreate = dr["ROUTINE_DEFINITION"].ToString(); 102 | liste.Add(_pf); 103 | } 104 | dr.Close(); 105 | conn.Close(); 106 | return liste; 107 | } 108 | } 109 | } 110 | 111 | public static IEnumerable SqlExec(DbServer server, IEnumerable sqlCodes) 112 | { 113 | using (var conn = new SqlConnection()) 114 | { 115 | conn.ConnectionString = server.ConnectionString; 116 | conn.Open(); 117 | using (var cmd = conn.CreateCommand()) 118 | { 119 | string database = server.Database; 120 | cmd.CommandText = $"USE [{database}]"; 121 | cmd.ExecuteNonQuery(); 122 | 123 | var errors = new List(); 124 | foreach (string sql in sqlCodes) 125 | { 126 | cmd.CommandText = sql; 127 | try 128 | { 129 | cmd.ExecuteNonQuery(); 130 | } 131 | catch (Exception ex) 132 | { 133 | errors.Add(ex.Message); 134 | } 135 | } 136 | conn.Close(); 137 | return errors; 138 | } 139 | } 140 | } 141 | 142 | public static List TabloVeKolonlariGetir(DbServer server) 143 | { 144 | using (var conn = new SqlConnection()) 145 | { 146 | conn.ConnectionString = server.ConnectionString; 147 | conn.Open(); 148 | var liste = new List(); 149 | var tablolar = new List
(); 150 | using (var cmd = conn.CreateCommand()) 151 | { 152 | string database = server.Database; 153 | cmd.CommandText = $"USE [{database}]"; 154 | cmd.ExecuteNonQuery(); 155 | 156 | cmd.CommandText = $@"SELECT Tablolar.TABLE_NAME 157 | ,Columns.COLUMN_NAME 158 | ,Columns.DATA_TYPE 159 | ,Columns.CHARACTER_MAXIMUM_LENGTH 160 | ,Columns.IS_NULLABLE 161 | FROM INFORMATION_SCHEMA.TABLES AS Tablolar 162 | INNER JOIN INFORMATION_SCHEMA.COLUMNS AS Columns ON Tablolar.TABLE_NAME = Columns.TABLE_NAME 163 | WHERE Tablolar.TABLE_TYPE = 'BASE TABLE' 164 | ORDER BY Tablolar.TABLE_NAME ASC"; 165 | 166 | SqlDataReader dr = cmd.ExecuteReader(); 167 | 168 | while (dr.Read()) 169 | { 170 | var tkm = new TableProperties(); 171 | tkm.TABLE_NAME = dr["TABLE_NAME"].ToString(); 172 | tkm.COLUMN_NAME = dr["COLUMN_NAME"].ToString(); 173 | tkm.DATA_TYPE = dr["DATA_TYPE"].ToString(); 174 | tkm.IS_NULLABLE = dr["IS_NULLABLE"].ToString(); 175 | tkm.CHARACTER_MAXIMUM_LENGTH = dr["CHARACTER_MAXIMUM_LENGTH"].ToString(); 176 | liste.Add(tkm); 177 | } 178 | 179 | liste.ForEach(item => 180 | { 181 | if (!tablolar.Any(m => m.Name == item.TABLE_NAME)) 182 | { 183 | var tbl = new Table(); 184 | tbl.Name = item.TABLE_NAME; 185 | tablolar.Add(tbl); 186 | } 187 | }); 188 | 189 | tablolar.ForEach(m => 190 | { 191 | m.Columns = new List(); 192 | liste.Where(k => k.TABLE_NAME == m.Name).ToList().ForEach(k => 193 | { 194 | var kolon = new Column(); 195 | kolon.Name = k.COLUMN_NAME; 196 | 197 | kolon.Type = k.CHARACTER_MAXIMUM_LENGTH != null 198 | && k.CHARACTER_MAXIMUM_LENGTH != "-1" 199 | && k.CHARACTER_MAXIMUM_LENGTH != "" 200 | ? k.DATA_TYPE + " (" + k.CHARACTER_MAXIMUM_LENGTH + ")" 201 | : k.DATA_TYPE; 202 | 203 | 204 | if (k.IS_NULLABLE == "NO") 205 | { 206 | kolon.Type += " NOT NULL"; 207 | } 208 | m.Columns.Add(kolon); 209 | }); 210 | 211 | }); 212 | 213 | dr.Close(); 214 | conn.Close(); 215 | return tablolar; 216 | } 217 | } 218 | } 219 | 220 | public static bool BaglantiTest(DbServer server, ComboBox cbo) 221 | { 222 | cbo.Items.Clear(); 223 | using (var conn = new SqlConnection()) 224 | { 225 | try 226 | { 227 | conn.ConnectionString = server.ConnectionString; 228 | conn.Open(); 229 | using (var cmd = conn.CreateCommand()) 230 | { 231 | cmd.CommandText = @"SELECT name 232 | FROM sys.databases 233 | WHERE name NOT IN ( 234 | 'master' 235 | ,'tempdb' 236 | ,'model' 237 | ,'msdb' 238 | )"; 239 | 240 | SqlDataReader dr = cmd.ExecuteReader(); 241 | while (dr.Read()) 242 | { 243 | cbo.Items.Add(dr["name"].ToString()); 244 | } 245 | dr.Close(); 246 | conn.Close(); 247 | return true; 248 | } 249 | } 250 | catch 251 | { 252 | return false; 253 | } 254 | } 255 | } 256 | } 257 | } 258 | -------------------------------------------------------------------------------- /DBEsitle/DbServer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DBEsitle 8 | { 9 | public class DbServer 10 | { 11 | public string Ip { get; set; } 12 | public string Username { get; set; } 13 | public string Password { get; set; } 14 | public string Database { get; set; } 15 | public bool LoginSecure { get; set; } 16 | 17 | public string ConnectionString 18 | { 19 | get 20 | { 21 | return LoginSecure 22 | ? string.Format(ConnectionStrings.TrustedConnection, Ip) 23 | : string.Format(ConnectionStrings.StandardSecurity, Ip, Username, Password); 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /DBEsitle/FrmAbout.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace DBEsitle 2 | { 3 | partial class FrmAbout 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.panel1 = new System.Windows.Forms.Panel(); 32 | this.label10 = new System.Windows.Forms.Label(); 33 | this.label9 = new System.Windows.Forms.Label(); 34 | this.label8 = new System.Windows.Forms.Label(); 35 | this.label7 = new System.Windows.Forms.Label(); 36 | this.label6 = new System.Windows.Forms.Label(); 37 | this.label5 = new System.Windows.Forms.Label(); 38 | this.label4 = new System.Windows.Forms.Label(); 39 | this.label3 = new System.Windows.Forms.Label(); 40 | this.label2 = new System.Windows.Forms.Label(); 41 | this.label1 = new System.Windows.Forms.Label(); 42 | this.lblBaslik = new System.Windows.Forms.Label(); 43 | this.label16 = new System.Windows.Forms.Label(); 44 | this.label11 = new System.Windows.Forms.Label(); 45 | this.label18 = new System.Windows.Forms.Label(); 46 | this.lblFormuLapat = new System.Windows.Forms.Label(); 47 | this.panel1.SuspendLayout(); 48 | this.SuspendLayout(); 49 | // 50 | // panel1 51 | // 52 | this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 53 | this.panel1.Controls.Add(this.label10); 54 | this.panel1.Controls.Add(this.label9); 55 | this.panel1.Controls.Add(this.label8); 56 | this.panel1.Controls.Add(this.label7); 57 | this.panel1.Controls.Add(this.label6); 58 | this.panel1.Controls.Add(this.label5); 59 | this.panel1.Controls.Add(this.label4); 60 | this.panel1.Controls.Add(this.label3); 61 | this.panel1.Controls.Add(this.label2); 62 | this.panel1.Controls.Add(this.label1); 63 | this.panel1.Location = new System.Drawing.Point(8, 24); 64 | this.panel1.Name = "panel1"; 65 | this.panel1.Size = new System.Drawing.Size(303, 347); 66 | this.panel1.TabIndex = 1; 67 | // 68 | // label10 69 | // 70 | this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 71 | this.label10.Location = new System.Drawing.Point(3, 318); 72 | this.label10.Name = "label10"; 73 | this.label10.Size = new System.Drawing.Size(295, 16); 74 | this.label10.TabIndex = 10; 75 | this.label10.Text = "github.com/dursunkatar"; 76 | this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 77 | // 78 | // label9 79 | // 80 | this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 81 | this.label9.Location = new System.Drawing.Point(3, 289); 82 | this.label9.Name = "label9"; 83 | this.label9.Size = new System.Drawing.Size(295, 16); 84 | this.label9.TabIndex = 9; 85 | this.label9.Text = "[ github ]"; 86 | this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 87 | // 88 | // label8 89 | // 90 | this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 91 | this.label8.Location = new System.Drawing.Point(3, 252); 92 | this.label8.Name = "label8"; 93 | this.label8.Size = new System.Drawing.Size(295, 16); 94 | this.label8.TabIndex = 8; 95 | this.label8.Text = "dursun.katar@gmail.com"; 96 | this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 97 | // 98 | // label7 99 | // 100 | this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 101 | this.label7.Location = new System.Drawing.Point(3, 223); 102 | this.label7.Name = "label7"; 103 | this.label7.Size = new System.Drawing.Size(295, 16); 104 | this.label7.TabIndex = 7; 105 | this.label7.Text = "[ mail ]"; 106 | this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 107 | // 108 | // label6 109 | // 110 | this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 111 | this.label6.Location = new System.Drawing.Point(3, 155); 112 | this.label6.Name = "label6"; 113 | this.label6.Size = new System.Drawing.Size(295, 16); 114 | this.label6.TabIndex = 6; 115 | this.label6.Text = "[ ünvan ]"; 116 | this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 117 | // 118 | // label5 119 | // 120 | this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 121 | this.label5.Location = new System.Drawing.Point(3, 117); 122 | this.label5.Name = "label5"; 123 | this.label5.Size = new System.Drawing.Size(295, 13); 124 | this.label5.TabIndex = 5; 125 | this.label5.Text = "Dursun KATAR"; 126 | this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 127 | // 128 | // label4 129 | // 130 | this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 131 | this.label4.Location = new System.Drawing.Point(3, 186); 132 | this.label4.Name = "label4"; 133 | this.label4.Size = new System.Drawing.Size(295, 13); 134 | this.label4.TabIndex = 4; 135 | this.label4.Text = "Lise Mezunu Yüksek Yazılım Mühendisi"; 136 | this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 137 | // 138 | // label3 139 | // 140 | this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 141 | this.label3.Location = new System.Drawing.Point(3, 90); 142 | this.label3.Name = "label3"; 143 | this.label3.Size = new System.Drawing.Size(295, 25); 144 | this.label3.TabIndex = 3; 145 | this.label3.Text = "[ author ]"; 146 | this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 147 | // 148 | // label2 149 | // 150 | this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 151 | this.label2.Location = new System.Drawing.Point(3, 42); 152 | this.label2.Name = "label2"; 153 | this.label2.Size = new System.Drawing.Size(295, 22); 154 | this.label2.TabIndex = 2; 155 | this.label2.Text = "Copyright © 2020 / BSS Yazılım"; 156 | this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 157 | // 158 | // label1 159 | // 160 | this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(162))); 161 | this.label1.Location = new System.Drawing.Point(3, 9); 162 | this.label1.Name = "label1"; 163 | this.label1.Size = new System.Drawing.Size(295, 17); 164 | this.label1.TabIndex = 1; 165 | this.label1.Text = "SQL Server Db Eşitle v1.0"; 166 | this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 167 | // 168 | // lblBaslik 169 | // 170 | this.lblBaslik.BackColor = System.Drawing.Color.Black; 171 | this.lblBaslik.ForeColor = System.Drawing.Color.White; 172 | this.lblBaslik.Location = new System.Drawing.Point(0, -1); 173 | this.lblBaslik.Name = "lblBaslik"; 174 | this.lblBaslik.Size = new System.Drawing.Size(321, 22); 175 | this.lblBaslik.TabIndex = 13; 176 | this.lblBaslik.Text = "Hakkında"; 177 | this.lblBaslik.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 178 | // 179 | // label16 180 | // 181 | this.label16.BackColor = System.Drawing.Color.Black; 182 | this.label16.Location = new System.Drawing.Point(0, 9); 183 | this.label16.Name = "label16"; 184 | this.label16.Size = new System.Drawing.Size(2, 370); 185 | this.label16.TabIndex = 14; 186 | // 187 | // label11 188 | // 189 | this.label11.BackColor = System.Drawing.Color.Black; 190 | this.label11.Location = new System.Drawing.Point(315, 21); 191 | this.label11.Name = "label11"; 192 | this.label11.Size = new System.Drawing.Size(3, 370); 193 | this.label11.TabIndex = 15; 194 | // 195 | // label18 196 | // 197 | this.label18.BackColor = System.Drawing.Color.Black; 198 | this.label18.Location = new System.Drawing.Point(0, 376); 199 | this.label18.Name = "label18"; 200 | this.label18.Size = new System.Drawing.Size(320, 8); 201 | this.label18.TabIndex = 16; 202 | // 203 | // lblFormuLapat 204 | // 205 | this.lblFormuLapat.AutoSize = true; 206 | this.lblFormuLapat.BackColor = System.Drawing.Color.Black; 207 | this.lblFormuLapat.Cursor = System.Windows.Forms.Cursors.Hand; 208 | this.lblFormuLapat.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); 209 | this.lblFormuLapat.ForeColor = System.Drawing.Color.White; 210 | this.lblFormuLapat.Location = new System.Drawing.Point(300, 2); 211 | this.lblFormuLapat.Name = "lblFormuLapat"; 212 | this.lblFormuLapat.Size = new System.Drawing.Size(16, 16); 213 | this.lblFormuLapat.TabIndex = 17; 214 | this.lblFormuLapat.Text = "X"; 215 | this.lblFormuLapat.Click += new System.EventHandler(this.lblFormuLapat_Click); 216 | // 217 | // FrmAbout 218 | // 219 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 220 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 221 | this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(196)))), ((int)(((byte)(196))))); 222 | this.ClientSize = new System.Drawing.Size(317, 378); 223 | this.Controls.Add(this.lblFormuLapat); 224 | this.Controls.Add(this.label18); 225 | this.Controls.Add(this.label11); 226 | this.Controls.Add(this.label16); 227 | this.Controls.Add(this.lblBaslik); 228 | this.Controls.Add(this.panel1); 229 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 230 | this.MaximizeBox = false; 231 | this.Name = "FrmAbout"; 232 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 233 | this.Text = "FrmAbout"; 234 | this.panel1.ResumeLayout(false); 235 | this.ResumeLayout(false); 236 | this.PerformLayout(); 237 | 238 | } 239 | 240 | #endregion 241 | 242 | private System.Windows.Forms.Panel panel1; 243 | private System.Windows.Forms.Label label6; 244 | private System.Windows.Forms.Label label5; 245 | private System.Windows.Forms.Label label4; 246 | private System.Windows.Forms.Label label3; 247 | private System.Windows.Forms.Label label2; 248 | private System.Windows.Forms.Label label1; 249 | private System.Windows.Forms.Label label10; 250 | private System.Windows.Forms.Label label9; 251 | private System.Windows.Forms.Label label8; 252 | private System.Windows.Forms.Label label7; 253 | private System.Windows.Forms.Label lblBaslik; 254 | private System.Windows.Forms.Label label16; 255 | private System.Windows.Forms.Label label11; 256 | private System.Windows.Forms.Label label18; 257 | private System.Windows.Forms.Label lblFormuLapat; 258 | } 259 | } -------------------------------------------------------------------------------- /DBEsitle/FrmAbout.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace DBEsitle 12 | { 13 | public partial class FrmAbout : Form 14 | { 15 | public FrmAbout() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void lblFormuLapat_Click(object sender, EventArgs e) 21 | { 22 | this.Close(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /DBEsitle/FrmAbout.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /DBEsitle/FrmMain.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Data.SqlClient; 6 | using System.Drawing; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Windows.Forms; 11 | 12 | namespace DBEsitle 13 | { 14 | public partial class FrmMain : Form 15 | { 16 | private List
kaynakTablolar; 17 | private List
hedefTablolar; 18 | private List kaynakViewlar; 19 | private List hedefViewlar; 20 | private List kaynakPF; 21 | private List hedefPF; 22 | private DbServer kaynakServer; 23 | private DbServer hedefServer; 24 | 25 | Point ilkkonum; 26 | bool durum = false; 27 | 28 | public FrmMain() 29 | { 30 | InitializeComponent(); 31 | CheckForIllegalCrossThreadCalls = false; 32 | 33 | ToolTip toolTip = new ToolTip(); 34 | toolTip.SetToolTip(this.btnTabloTumunuSec, "Tümünü Seç"); 35 | toolTip.SetToolTip(this.btnKolonTumunuSec, "Tümünü Seç"); 36 | toolTip.SetToolTip(this.btnPFTumunuSec, "Tümünü Seç"); 37 | toolTip.SetToolTip(this.btnViewTumunuSec, "Tümünü Seç"); 38 | toolTip.SetToolTip(this.btnTabloAktar, "Seçilenleri Aktar"); 39 | toolTip.SetToolTip(this.btnKolonAktar, "Seçilenleri Aktar"); 40 | toolTip.SetToolTip(this.btnPFAktar, "Seçilenleri Aktar"); 41 | toolTip.SetToolTip(this.btnViewAktar, "Seçilenleri Aktar"); 42 | 43 | kaynakServer = new DbServer(); 44 | hedefServer = new DbServer(); 45 | 46 | cboKaynakAuthType.SelectedIndex = 0; 47 | cboHedefAuthType.SelectedIndex = 0; 48 | } 49 | 50 | 51 | private void btnKaynakDbBaglan_Click(object sender, EventArgs e) 52 | { 53 | 54 | if (txtKaynakDbIpAdresi.Text.Trim() == "") 55 | return; 56 | 57 | btnKaynakDbBaglan.Enabled = false; 58 | cboKaynakDbDatabaseler.Text = ""; 59 | 60 | kaynakServer.Ip = txtKaynakDbIpAdresi.Text; 61 | kaynakServer.Username = txtKaynakDbKullaniciAdi.Text; 62 | kaynakServer.Password = txtKaynakDbKullaniciSifre.Text; 63 | kaynakServer.LoginSecure = cboKaynakAuthType.SelectedIndex == 0; 64 | 65 | Task.Run(() => 66 | { 67 | lblKaynakBaglantiDurum.Text = "Bağlanıyor..."; 68 | lblKaynakBaglantiDurum.ForeColor = Color.Black; 69 | 70 | if (DBUtilities.BaglantiTest(kaynakServer, cboKaynakDbDatabaseler)) 71 | { 72 | lblKaynakBaglantiDurum.ForeColor = Color.Green; 73 | lblKaynakBaglantiDurum.Text = "Bağlandı"; 74 | } 75 | else 76 | { 77 | lblKaynakBaglantiDurum.ForeColor = Color.Red; 78 | lblKaynakBaglantiDurum.Text = "Bağlanamadı !"; 79 | } 80 | btnKaynakDbBaglan.Enabled = true; 81 | }); 82 | } 83 | 84 | private void btnKarsilastir_Click(object sender, EventArgs e) 85 | { 86 | if (cboKaynakDbDatabaseler.Text == "" || cboHedefDbDatabaseler.Text == "") 87 | { 88 | MessageBox.Show("Karşılaştırma yapmak için database seçmelisin", "Ben"); 89 | return; 90 | } 91 | clear(); 92 | karsilastir(); 93 | } 94 | 95 | private void karsilastir() 96 | { 97 | panelSol.Enabled = false; 98 | panelSag.Enabled = false; 99 | Task.Run(() => 100 | { 101 | tabloVeKolonlariGetir(); 102 | tablolariKarsilastir(); 103 | kolonlariKarsilastir(); 104 | 105 | viewlariGetir(); 106 | viewlariKarsilastir(); 107 | 108 | pfleriGetir(); 109 | pfleriKarsilastir(); 110 | 111 | panelSol.Enabled = true; 112 | panelSag.Enabled = true; 113 | }); 114 | } 115 | 116 | private void viewlariGetir() 117 | { 118 | if (kaynakViewlar != null) 119 | { 120 | kaynakViewlar.Clear(); 121 | kaynakViewlar = null; 122 | } 123 | 124 | if (hedefViewlar != null) 125 | { 126 | hedefViewlar.Clear(); 127 | hedefViewlar = null; 128 | } 129 | kaynakViewlar = DBUtilities.ViewlariGetir(kaynakServer); 130 | hedefViewlar = DBUtilities.ViewlariGetir(hedefServer); 131 | } 132 | private void pfleriGetir() 133 | { 134 | 135 | if (kaynakPF != null) 136 | { 137 | kaynakPF.Clear(); 138 | kaynakPF = null; 139 | } 140 | 141 | if (hedefPF != null) 142 | { 143 | hedefPF.Clear(); 144 | hedefPF = null; 145 | } 146 | kaynakPF = DBUtilities.ProsodurVeFonksiyonlariGetir(kaynakServer); 147 | hedefPF = DBUtilities.ProsodurVeFonksiyonlariGetir(hedefServer); 148 | } 149 | private void tabloVeKolonlariGetir() 150 | { 151 | if (kaynakTablolar != null) 152 | { 153 | kaynakTablolar.Clear(); 154 | kaynakTablolar = null; 155 | } 156 | 157 | if (hedefTablolar != null) 158 | { 159 | hedefTablolar.Clear(); 160 | kaynakTablolar = null; 161 | } 162 | kaynakTablolar = DBUtilities.TabloVeKolonlariGetir(kaynakServer); 163 | hedefTablolar = DBUtilities.TabloVeKolonlariGetir(hedefServer); 164 | } 165 | private void tablolariKarsilastir() 166 | { 167 | listViewTablolar.Items.Clear(); 168 | for (int i = 0; i < kaynakTablolar.Count; i++) 169 | { 170 | if (!hedefTablolar.Any(m => m.Name == kaynakTablolar[i].Name)) 171 | { 172 | var lvi = new ListViewItem(); 173 | lvi.Text = kaynakTablolar[i].Name; 174 | lvi.Tag = i; 175 | listViewTablolar.Items.Add(lvi); 176 | } 177 | } 178 | } 179 | 180 | private void kolonlariKarsilastir() 181 | { 182 | listViewKolonlar.Items.Clear(); 183 | hedefTablolar.ForEach(hedefTablo => 184 | { 185 | var _kaynakTablo = kaynakTablolar.FirstOrDefault(m => m.Name == hedefTablo.Name); 186 | if (_kaynakTablo != null) 187 | _kaynakTablo.Columns.ForEach(kolon => 188 | { 189 | if (!hedefTablo.Columns.Any(m => m.Name == kolon.Name)) 190 | { 191 | var lvi = new ListViewItem(); 192 | lvi.Text = _kaynakTablo.Name; 193 | lvi.SubItems.Add(kolon.Name); 194 | lvi.SubItems.Add(kolon.Type); 195 | listViewKolonlar.Items.Add(lvi); 196 | } 197 | }); 198 | }); 199 | } 200 | 201 | private void viewlariKarsilastir() 202 | { 203 | listViewViewlar.Items.Clear(); 204 | 205 | for (int i = 0; i < kaynakViewlar.Count; i++) 206 | { 207 | if (!hedefViewlar.Any(hView => hView.Name == kaynakViewlar[i].Name)) 208 | { 209 | var lvi = new ListViewItem(); 210 | lvi.Tag = i; 211 | lvi.Text = kaynakViewlar[i].Name; 212 | listViewViewlar.Items.Add(lvi); 213 | } 214 | } 215 | } 216 | 217 | private void pfleriKarsilastir() 218 | { 219 | listViewPF.Items.Clear(); 220 | 221 | for (int i = 0; i < kaynakPF.Count; i++) 222 | { 223 | if (!hedefPF.Any(hPf => hPf.Name == kaynakPF[i].Name)) 224 | { 225 | var lvi = new ListViewItem(); 226 | lvi.Text = kaynakPF[i].Name; 227 | lvi.Tag = i; 228 | listViewPF.Items.Add(lvi); 229 | } 230 | } 231 | } 232 | 233 | 234 | private void btnHedefDbBaglan_Click(object sender, EventArgs e) 235 | { 236 | 237 | if (txtHedefDbIpAdresi.Text.Trim() == "") 238 | return; 239 | 240 | btnHedefDbBaglan.Enabled = false; 241 | cboHedefDbDatabaseler.Text = ""; 242 | 243 | hedefServer.Ip = txtHedefDbIpAdresi.Text; 244 | hedefServer.Username = txtHedefDbKullaniciAdi.Text; 245 | hedefServer.Password = txtHedefDbKullaniciSifre.Text; 246 | hedefServer.LoginSecure = cboHedefAuthType.SelectedIndex == 0; 247 | 248 | Task.Run(() => 249 | { 250 | lblHedefBaglantiDurum.Text = "Bağlanıyor..."; 251 | lblHedefBaglantiDurum.ForeColor = Color.Black; 252 | 253 | if (DBUtilities.BaglantiTest(hedefServer, cboHedefDbDatabaseler)) 254 | { 255 | lblHedefBaglantiDurum.ForeColor = Color.Green; 256 | lblHedefBaglantiDurum.Text = "Bağlandı"; 257 | } 258 | else 259 | { 260 | lblHedefBaglantiDurum.ForeColor = Color.Red; 261 | lblHedefBaglantiDurum.Text = "Bağlanamadı !"; 262 | } 263 | 264 | btnHedefDbBaglan.Enabled = true; 265 | }); 266 | } 267 | 268 | private void clear() 269 | { 270 | if (kaynakTablolar != null) 271 | { 272 | kaynakTablolar.Clear(); 273 | kaynakTablolar = null; 274 | } 275 | 276 | if (hedefTablolar != null) 277 | { 278 | hedefTablolar.Clear(); 279 | kaynakTablolar = null; 280 | } 281 | 282 | if (kaynakViewlar != null) 283 | { 284 | kaynakViewlar.Clear(); 285 | kaynakViewlar = null; 286 | } 287 | 288 | if (hedefViewlar != null) 289 | { 290 | hedefViewlar.Clear(); 291 | hedefViewlar = null; 292 | } 293 | 294 | if (kaynakPF != null) 295 | { 296 | kaynakPF.Clear(); 297 | kaynakPF = null; 298 | } 299 | 300 | if (hedefPF != null) 301 | { 302 | hedefPF.Clear(); 303 | hedefPF = null; 304 | } 305 | } 306 | 307 | private void LblBaslik_MouseDown(object sender, MouseEventArgs e) 308 | { 309 | durum = true; 310 | this.Cursor = Cursors.SizeAll; 311 | ilkkonum = e.Location; 312 | } 313 | 314 | private void LblBaslik_MouseMove(object sender, MouseEventArgs e) 315 | { 316 | if (durum) 317 | { 318 | this.Left = e.X + this.Left - (ilkkonum.X); 319 | this.Top = e.Y + this.Top - (ilkkonum.Y); 320 | } 321 | } 322 | 323 | private void LblBaslik_MouseUp(object sender, MouseEventArgs e) 324 | { 325 | durum = false; 326 | this.Cursor = Cursors.Default; 327 | } 328 | 329 | private void LblFormuLapat_Click(object sender, EventArgs e) 330 | { 331 | Application.Exit(); 332 | } 333 | 334 | private void LblFormuKapat_Click(object sender, EventArgs e) 335 | { 336 | this.WindowState = FormWindowState.Minimized; 337 | } 338 | 339 | private void BtnKolonAktar_Click(object sender, EventArgs e) 340 | { 341 | if (listViewKolonlar.Items.Count == 0 342 | || cboHedefDbDatabaseler.Text == "" 343 | || cboKaynakDbDatabaseler.Text == "") 344 | { 345 | return; 346 | } 347 | 348 | panelSol.Enabled = false; 349 | panelKolon.Enabled = false; 350 | Task.Run(() => 351 | { 352 | var sqlCodes = new List(); 353 | foreach (ListViewItem item in listViewKolonlar.CheckedItems) 354 | { 355 | sqlCodes.Add($"ALTER TABLE {item.Text} ADD [{item.SubItems[1].Text}] {item.SubItems[2].Text}; "); 356 | } 357 | Exec(sqlCodes); 358 | tabloVeKolonlariGetir(); 359 | kolonlariKarsilastir(); 360 | panelSol.Enabled = true; 361 | panelKolon.Enabled = true; 362 | }); 363 | } 364 | 365 | private void BtnPFAktar_Click(object sender, EventArgs e) 366 | { 367 | if (listViewPF.Items.Count == 0 368 | || cboHedefDbDatabaseler.Text == "" 369 | || cboKaynakDbDatabaseler.Text == "") 370 | { 371 | return; 372 | } 373 | 374 | panelPF.Enabled = false; 375 | panelSol.Enabled = false; 376 | Task.Run(() => 377 | { 378 | var sqlCodes = new List(); 379 | foreach (ListViewItem item in listViewPF.CheckedItems) 380 | { 381 | sqlCodes.Add(kaynakPF[int.Parse(item.Tag.ToString())].SqlCreate); 382 | } 383 | 384 | Exec(sqlCodes); 385 | pfleriGetir(); 386 | pfleriKarsilastir(); 387 | panelPF.Enabled = true; 388 | panelSol.Enabled = true; 389 | }); 390 | } 391 | 392 | private void BtnViewAktar_Click(object sender, EventArgs e) 393 | { 394 | 395 | if (listViewViewlar.Items.Count == 0 396 | || cboHedefDbDatabaseler.Text == "" 397 | || cboKaynakDbDatabaseler.Text == "") 398 | { 399 | return; 400 | } 401 | 402 | PanelView.Enabled = false; 403 | panelSol.Enabled = false; 404 | Task.Run(() => 405 | { 406 | var sqlCodes = new List(); 407 | foreach (ListViewItem item in listViewViewlar.CheckedItems) 408 | { 409 | sqlCodes.Add(kaynakViewlar[int.Parse(item.Tag.ToString())].SqlCreate); 410 | } 411 | Exec(sqlCodes); 412 | viewlariGetir(); 413 | viewlariKarsilastir(); 414 | PanelView.Enabled = true; 415 | panelSol.Enabled = true; 416 | }); 417 | } 418 | 419 | private void btnTabloAktar_Click(object sender, EventArgs e) 420 | { 421 | if (listViewTablolar.Items.Count == 0 422 | || cboHedefDbDatabaseler.Text == "" 423 | || cboKaynakDbDatabaseler.Text == "") 424 | { 425 | return; 426 | } 427 | 428 | panelTablo.Enabled = false; 429 | panelSol.Enabled = false; 430 | Task.Run(() => 431 | { 432 | var tabloAdlari = new List(); 433 | foreach (ListViewItem item in listViewTablolar.CheckedItems) 434 | { 435 | tabloAdlari.Add(kaynakTablolar[int.Parse(item.Tag.ToString())].Name); 436 | } 437 | var hatalar = DBUtilities.TabloOlustur(kaynakServer, hedefServer, tabloAdlari); 438 | if (hatalar.Count() > 0) 439 | { 440 | MessageBox.Show(string.Join(Environment.NewLine, hatalar), "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); 441 | } 442 | 443 | tabloVeKolonlariGetir(); 444 | tablolariKarsilastir(); 445 | panelTablo.Enabled = true; 446 | panelSol.Enabled = true; 447 | }); 448 | } 449 | 450 | private void Exec(IEnumerable sqlCodes) 451 | { 452 | var hatalar = DBUtilities.SqlExec(hedefServer, sqlCodes); 453 | if (hatalar.Count() > 0) 454 | { 455 | MessageBox.Show(string.Join(Environment.NewLine, hatalar), "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); 456 | } 457 | } 458 | private void btnTabloTumunuSec_Click(object sender, EventArgs e) 459 | { 460 | foreach (ListViewItem item in listViewTablolar.Items) 461 | { 462 | item.Checked = true; 463 | } 464 | } 465 | 466 | private void btnKolonTumunuSec_Click(object sender, EventArgs e) 467 | { 468 | foreach (ListViewItem item in listViewKolonlar.Items) 469 | { 470 | item.Checked = true; 471 | } 472 | } 473 | 474 | private void btnPFTumunuSec_Click(object sender, EventArgs e) 475 | { 476 | foreach (ListViewItem item in listViewPF.Items) 477 | { 478 | item.Checked = true; 479 | } 480 | } 481 | 482 | private void btnViewTumunuSec_Click(object sender, EventArgs e) 483 | { 484 | foreach (ListViewItem item in listViewViewlar.Items) 485 | { 486 | item.Checked = true; 487 | } 488 | } 489 | 490 | private void cboKaynakDbDatabaseler_SelectedIndexChanged(object sender, EventArgs e) 491 | { 492 | kaynakServer.Database = cboKaynakDbDatabaseler.Text; 493 | } 494 | 495 | private void cboHedefDbDatabaseler_SelectedIndexChanged(object sender, EventArgs e) 496 | { 497 | hedefServer.Database = cboHedefDbDatabaseler.Text; 498 | } 499 | 500 | private void cboKaynakAuthType_SelectedIndexChanged(object sender, EventArgs e) 501 | { 502 | bool enable = cboKaynakAuthType.SelectedIndex != 0; 503 | txtKaynakDbKullaniciAdi.Enabled = enable; 504 | txtKaynakDbKullaniciSifre.Enabled = enable; 505 | 506 | } 507 | 508 | private void cboHedefAuthType_SelectedIndexChanged(object sender, EventArgs e) 509 | { 510 | bool enable = cboHedefAuthType.SelectedIndex != 0; 511 | txtHedefDbKullaniciAdi.Enabled = enable; 512 | txtHedefDbKullaniciSifre.Enabled = enable; 513 | } 514 | 515 | private void btnHakkinda_Click(object sender, EventArgs e) 516 | { 517 | new FrmAbout().Show(); 518 | } 519 | } 520 | } 521 | -------------------------------------------------------------------------------- /DBEsitle/Models/Column.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DBEsitle 8 | { 9 | public struct Column 10 | { 11 | public string Name { get; set; } 12 | public string Type { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /DBEsitle/Models/ProcFunc.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DBEsitle 8 | { 9 | public struct ProcFunc 10 | { 11 | public string Name { get; set; } 12 | public string Type { get; set; } 13 | public string SqlCreate { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /DBEsitle/Models/Table.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DBEsitle 8 | { 9 | public class Table 10 | { 11 | public string Name { get; set; } 12 | public List Columns { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /DBEsitle/Models/TableProperties.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DBEsitle 8 | { 9 | public struct TableProperties 10 | { 11 | public string TABLE_NAME { get; set; } 12 | public string COLUMN_NAME { get; set; } 13 | public string DATA_TYPE { get; set; } 14 | public string IS_NULLABLE { get; set; } 15 | public string CHARACTER_MAXIMUM_LENGTH { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /DBEsitle/Models/View.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DBEsitle 8 | { 9 | public struct View 10 | { 11 | public string Name { get; set; } 12 | public string SqlCreate { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /DBEsitle/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace DBEsitle 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new FrmMain()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /DBEsitle/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Database Eşitleme Aracı")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("BSS Yazılım")] 12 | [assembly: AssemblyProduct("SQL Server Db Eşitle")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("2cb668b3-904d-407d-81ad-78ec8b591846")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /DBEsitle/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace DBEsitle.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DBEsitle.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Looks up a localized resource of type System.Drawing.Bitmap. 65 | /// 66 | internal static System.Drawing.Bitmap about { 67 | get { 68 | object obj = ResourceManager.GetObject("about", resourceCulture); 69 | return ((System.Drawing.Bitmap)(obj)); 70 | } 71 | } 72 | 73 | /// 74 | /// Looks up a localized resource of type System.Drawing.Bitmap. 75 | /// 76 | internal static System.Drawing.Bitmap allselect { 77 | get { 78 | object obj = ResourceManager.GetObject("allselect", resourceCulture); 79 | return ((System.Drawing.Bitmap)(obj)); 80 | } 81 | } 82 | 83 | /// 84 | /// Looks up a localized resource of type System.Drawing.Bitmap. 85 | /// 86 | internal static System.Drawing.Bitmap conn { 87 | get { 88 | object obj = ResourceManager.GetObject("conn", resourceCulture); 89 | return ((System.Drawing.Bitmap)(obj)); 90 | } 91 | } 92 | 93 | /// 94 | /// Looks up a localized resource of type System.Drawing.Bitmap. 95 | /// 96 | internal static System.Drawing.Bitmap db { 97 | get { 98 | object obj = ResourceManager.GetObject("db", resourceCulture); 99 | return ((System.Drawing.Bitmap)(obj)); 100 | } 101 | } 102 | 103 | /// 104 | /// Looks up a localized resource of type System.Drawing.Bitmap. 105 | /// 106 | internal static System.Drawing.Bitmap refr { 107 | get { 108 | object obj = ResourceManager.GetObject("refr", resourceCulture); 109 | return ((System.Drawing.Bitmap)(obj)); 110 | } 111 | } 112 | 113 | /// 114 | /// Looks up a localized resource of type System.Drawing.Bitmap. 115 | /// 116 | internal static System.Drawing.Bitmap transfer { 117 | get { 118 | object obj = ResourceManager.GetObject("transfer", resourceCulture); 119 | return ((System.Drawing.Bitmap)(obj)); 120 | } 121 | } 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /DBEsitle/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\Resources\tart2.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 123 | 124 | 125 | ..\Resources\transfer.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 126 | 127 | 128 | ..\Resources\refr.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 129 | 130 | 131 | ..\Resources\allselect.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 132 | 133 | 134 | ..\Resources\conn.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 135 | 136 | 137 | ..\Resources\about.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 138 | 139 | -------------------------------------------------------------------------------- /DBEsitle/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace DBEsitle.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /DBEsitle/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DBEsitle/Resources/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/DBEsitle/Resources/about.png -------------------------------------------------------------------------------- /DBEsitle/Resources/allselect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/DBEsitle/Resources/allselect.png -------------------------------------------------------------------------------- /DBEsitle/Resources/conn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/DBEsitle/Resources/conn.ico -------------------------------------------------------------------------------- /DBEsitle/Resources/refr.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/DBEsitle/Resources/refr.ico -------------------------------------------------------------------------------- /DBEsitle/Resources/tart2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/DBEsitle/Resources/tart2.ico -------------------------------------------------------------------------------- /DBEsitle/Resources/transfer.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/DBEsitle/Resources/transfer.ico -------------------------------------------------------------------------------- /DBEsitle/db.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/DBEsitle/db.ico -------------------------------------------------------------------------------- /DBEsitle/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SQLStructComparer 2 | 3 | SQLStructComparer is a tool designed to compare and synchronize database structures between two SQL Server databases. The tool allows you to compare tables, columns, views, procedures, and functions, and identify differences between two databases. 4 | 5 | ## Features 6 | - Compare Tables, Columns, Views, Procedures, and Functions between two SQL Server databases. 7 | - Easily visualize structural differences. 8 | - Generate SQL scripts to synchronize missing structures. 9 | - Simple and user-friendly interface. 10 | 11 | ## Requirements 12 | - .NET Framework 4.8 or higher 13 | - Microsoft SQL Server (Any version supported) 14 | 15 | ## How to Use 16 | 1. Clone this repository to your local machine: 17 | ```bash 18 | git clone https://github.com/dursunkatar/SQLStructComparer.git 19 | ``` 20 | 2. Open the solution in Visual Studio and build the project. 21 | 3. Run the application and enter the source and target database information. 22 | 4. Click Connect for both databases. 23 | 5. Select Compare to see the structural differences between the two databases. 24 | 25 | ## Screenshots 26 | ![SQLStructComparer](https://github.com/dursunkatar/SQLServerSynchronizingTwoDatabase/blob/master/SQLStructComparer.png) 27 | -------------------------------------------------------------------------------- /SQLStructComparer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/SQLStructComparer.png -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/build/net45/Microsoft.SqlServer.SqlManagementObjects.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | PreserveNewest 7 | Microsoft.SqlServer.BatchParser.dll 8 | 9 | 10 | 11 | 12 | PreserveNewest 13 | Microsoft.SqlServer.BatchParser.dll 14 | 15 | 16 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Assessment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Assessment.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.BatchParserClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.BatchParserClient.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.ConnectionInfo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.ConnectionInfo.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.ConnectionInfoExtended.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.ConnectionInfoExtended.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.ConnectionInfoExtended.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.ConnectionInfoExtended 5 | 6 | 7 | 8 | 9 | Replay mode 10 | 11 | 12 | 13 | 14 | Class used as argument for ReplayEvent 15 | 16 | 17 | 18 | 19 | Class used as argument for ReplayResultsEvent 20 | 21 | 22 | 23 | 24 | Trace replay options 25 | 26 | 27 | 28 | 29 | Trace replay class 30 | 31 | 32 | 33 | 34 | Start replay 35 | 36 | 37 | 38 | 39 | Pause replay 40 | 41 | 42 | 43 | 44 | Stop replay 45 | 46 | 47 | 48 | 49 | IDisposable:Dispose() implementation 50 | 51 | 52 | 53 | 54 | Internal Dispose 55 | 56 | 57 | 58 | 59 | Trace related utility methods 60 | 61 | 62 | 63 | 64 | Create instance of an object 65 | 66 | 67 | 68 | 69 | This method check for some exceptions that should not 70 | be caught. 71 | 72 | 73 | 74 | 75 | 76 | Helper function to get full path to the tools (DTA and Profiler, essentially) 77 | installation location. This is implemented by querying the registry key that 78 | SSMS writed during setup. 79 | 80 | Optional relative path to append (must be prefixed with \); if null/empty, nothing is appended 81 | The path to the tools; if something goes wrong, empty 82 | 83 | 84 | 85 | get the HTOKEN of the specifies user, this token can then be used to impersonate the user 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | Base exception class for all SqlTrace exception classes 96 | 97 | 98 | 99 | 100 | Constructor that sets help context for the exception message box. 101 | 102 | Type of strings resources class, eg. SRMainError 103 | Key of the message string resource 104 | 105 | 106 | 107 | Constructor that sets help context for the exception message box. 108 | 109 | An exception wrapped in this one 110 | Type of strings resources class, eg. SRMainError 111 | Key of the message string resource 112 | 113 | 114 | 115 | An exception that is thrown if the Microsoft.SQLServer.InstAPI.dll was not loaded 116 | 117 | 118 | 119 | 120 | An exception that is thrown failed to instantiate 121 | one of the types in pfclnt90.dll 122 | 123 | 124 | 125 | 126 | Base Class that provides trace reading a writing functionality. 127 | 128 | 129 | 130 | 131 | IDisposable:Dispose() implementation 132 | 133 | 134 | 135 | 136 | IDataReader::Close - Closes the IDataReader 0bject. 137 | 138 | 139 | 140 | 141 | IDataReader::GetSchemaTable - Returns a DataTable that describes the column metadata of the IDataReader. 142 | internally would go find out Trace definition OrderedColumns and corresponding types 143 | 144 | 145 | 146 | 147 | IDataReader::Read - Advances the IDataReader to the next record. 148 | 149 | 150 | 151 | 152 | IDataReader::NextResult - Advances the data reader to the next result, when reading the results of batch 153 | No batches supported. Not implemented. 154 | 155 | 156 | 157 | 158 | IDataRecord::GetName - Gets the name for the field to find. 159 | 160 | 161 | 162 | 163 | IDataRecord::GetDataTypeName - Gets the data type information for the specified field. 164 | 165 | 166 | 167 | 168 | IDataRecord::GetFieldType - Gets the Type information corresponding to the type of Object that would be returned from GetValue 169 | This information can be used to increase performance by indicating the strongly-typed accessor to call. 170 | (e.g. using GetInt32 is roughly ten times faster than using GetValue.) 171 | 172 | 173 | 174 | 175 | IDataRecord::GetValue - Return the value of the specified field. 176 | 177 | 178 | 179 | 180 | IDataReader::Depth - Gets a value indicating the depth of nesting for the current row. 181 | 182 | 183 | 184 | 185 | IDataReader::IsClosed - Gets a value indicating whether the data reader is closed. 186 | 187 | 188 | 189 | 190 | IDataReader::RecordsAffected - Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. 191 | Not implemented. Returns 0. 192 | 193 | 194 | 195 | 196 | IDataRecord::FieldCount - Gets the number of columns in the current row. 197 | 198 | 199 | 200 | 201 | IDataRecord::Item - Overloaded. Gets the specified column. his property is the indexer for the IDataRecord class. 202 | 203 | 204 | 205 | 206 | IDataRecord::Item - Overloaded. Gets the specified column. his property is the indexer for the IDataRecord class. 207 | 208 | 209 | 210 | 211 | Base Class that provides trace reading a writing functionality. 212 | 213 | 214 | 215 | 216 | IDataRecord::GetName - Gets the name for the field to find. 217 | 218 | 219 | 220 | 221 | IDataRecord::GetFieldType - Gets the Type information corresponding to the type of Object that would be returned from GetValue 222 | This information can be used to increase performance by indicating the strongly-typed accessor to call. 223 | (e.g. using GetInt32 is roughly ten times faster than using GetValue.) 224 | 225 | 226 | 227 | 228 | IDataRecord::FieldCount - Gets the number of columns in the current row. 229 | 230 | 231 | 232 | 233 | IDataRecord::Item - Overloaded. Gets the specified column. his property is the indexer for the IDataRecord class. 234 | 235 | 236 | 237 | 238 | Base Class that provides trace reading a writing functionality. 239 | 240 | 241 | 242 | 243 | Class that provides trace file reading a writing functionality. 244 | 245 | 246 | 247 | 248 | Class that provides trace file reading a writing functionality. 249 | 250 | 251 | 252 | 253 | Class that provides trace file reading a writing functionality. 254 | 255 | 256 | 257 | 258 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Diagnostics.Strace.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Diagnostics.Strace.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Dmf.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Dmf.Common.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Dmf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Dmf.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.Assessment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.Assessment.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.Collector.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.Collector.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.CollectorEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.CollectorEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.CollectorEnum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.Management.CollectorEnum 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.RegisteredServers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.RegisteredServers.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.Sdk.Sfc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.Sdk.Sfc.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.SqlParser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.SqlParser.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.Utility.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.Utility.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.UtilityEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.UtilityEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.UtilityEnum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.Management.UtilityEnum 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEvent.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEvent.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventDbScoped.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventDbScoped.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventDbScoped.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.Management.XEventDbScoped 5 | 6 | 7 | 8 | 9 | Sql provider for Event. 10 | 11 | 12 | 13 | 14 | Script Create for the Event. 15 | 16 | Event Create script. 17 | 18 | 19 | 20 | Scripts Drop for this event. 21 | 22 | Event Drop script. 23 | 24 | 25 | 26 | Sql provider for Session at database scope 27 | 28 | 29 | 30 | 31 | Provider for Target. 32 | 33 | 34 | 35 | 36 | Script Create for the Target. 37 | 38 | Target Create script. 39 | 40 | 41 | 42 | Scripts Drop for this Target. 43 | 44 | Target Drop script. 45 | 46 | 47 | 48 | Gets the target data. 49 | 50 | Target data xml string. 51 | 52 | 53 | 54 | Gets the underlying ServerConnection 55 | 56 | 57 | 58 | 59 | XEStore is the root for all metadata classes and runtime classes. 60 | 61 | 62 | 63 | 64 | Type name. 65 | 66 | 67 | 68 | 69 | Initializes a new instance of the class. 70 | 71 | The connection. 72 | Store name. 73 | 74 | 75 | 76 | Initializes a new instance of the class. 77 | This constructor is only used to support serialization. 78 | 79 | 80 | 81 | 82 | Constructs a new DatabaseXEStore instance whose name is the same as the current active database 83 | 84 | 85 | 86 | 87 | 88 | Produces a string representing the store. 89 | 90 | A string representing the store. 91 | 92 | 93 | 94 | Get the current connection to query on. 95 | Return a connection supporting a single serial query, so the query must end before another one may begin. 96 | 97 | The connection to use. 98 | 99 | 100 | 101 | Sets the active connection. 102 | 103 | Connection to use. 104 | 105 | 106 | 107 | Get the current connection to query on. 108 | Return a connection supporting either a single serial query or multiple simultaneously open queries as requested. 109 | 110 | Query mode. 111 | The connection to use, or null to use Cache mode. Cache mode avoids connection and open data reader issues. 112 | 113 | 114 | 115 | Gets the type. 116 | 117 | Name of the type. 118 | Type correspoding to the given name. 119 | 120 | 121 | 122 | Returns a Key object given a Urn fragment. 123 | 124 | A urn fragment. 125 | An for given Urn fragment. 126 | 127 | 128 | 129 | Gets the execution engine. 130 | 131 | The execution engine to use. 132 | 133 | 134 | 135 | Returns the logical version of the domain. 136 | 137 | The logical version of the domain. 138 | 139 | 140 | 141 | Creates a key identifying the store. 142 | 143 | A key identifying the store. 144 | 145 | 146 | 147 | Gets provider to perform operations on the Store. 148 | 149 | The provider to use. 150 | 151 | 152 | 153 | Gets provider to perform Session operations. 154 | 155 | A session to use. 156 | The provider to use. 157 | 158 | 159 | 160 | Gets provider to perform Target operations. 161 | 162 | A target to use. 163 | The provider to use. 164 | 165 | 166 | 167 | Gets provider to perform Event operations. 168 | 169 | An event to use. 170 | The provider to use. 171 | 172 | 173 | 174 | Returns the key associated with the store. 175 | 176 | The key associated with the store. 177 | 178 | 179 | 180 | Gets connection context. 181 | 182 | 183 | 184 | 185 | Gets the name of the domain. 186 | 187 | The name of the domain. 188 | 189 | 190 | 191 | Gets the name of the domain instance. 192 | 193 | The name of the domain instance. 194 | 195 | 196 | 197 | Gets the name of XEStore. 198 | 199 | 200 | 201 | 202 | Gets ServerName for the store. 203 | 204 | 205 | 206 | 207 | Sql provider for the DatabaseXEStore. 208 | 209 | 210 | 211 | 212 | Gets an execution engine associated with Store's connection. 213 | 214 | Execution engine. 215 | 216 | 217 | 218 | Get the current connection to query on. 219 | Return a connection supporting either a single serial query or multiple simultaneously open queries as requested. 220 | 221 | Query mode. 222 | The connection to use, or null to use Cache mode. Cache mode avoids connection and open data reader issues. 223 | 224 | 225 | 226 | Gets a comparer for the child collections. 227 | 228 | Requested comparer. 229 | 230 | 231 | 232 | Gets the name of the domain instance. 233 | 234 | The name of the domain instance. 235 | 236 | 237 | 238 | Gets the underlying ServerConnection 239 | 240 | 241 | 242 | 243 | A strongly-typed resource class, for looking up localized strings, etc. 244 | 245 | 246 | 247 | 248 | Returns the cached ResourceManager instance used by this class. 249 | 250 | 251 | 252 | 253 | Overrides the current thread's CurrentUICulture property for all 254 | resource lookups using this strongly typed resource class. 255 | 256 | 257 | 258 | 259 | Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?> 260 | <xs:schema targetNamespace="http://schemas.microsoft.com/sqlserver/2008/07/extendedeventsconfig" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/sqlserver/2008/07/extendedeventsconfig" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 261 | <xs:simpleType name="retentionModes"> 262 | <xs:annotation> 263 | <xs:documentation xml:lang="en"> 264 | retention modes supported 265 | </xs:documentation> 266 | </xs:annotation> 267 | <xs:restriction base="xs:string"> 268 | <xs:enumeration value="allowSingleEventLo [rest of string was truncated]";. 269 | 270 | 271 | 272 | 273 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventDbScopedEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventDbScopedEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventDbScopedEnum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.Management.XEventDbScopedEnum 5 | 6 | 7 | 8 | 9 | This is the Enumerator object for XEvnet object model. It derived from SqlObject, the 10 | base class for all enumerator in SFC enabled object model.Override the ResourceAssembly 11 | to provide the correct assembly that contains the resources. 12 | 13 | 14 | 15 | 16 | Return the server version for the given connection. 17 | 18 | connetion to the server we want to know the version 19 | server version on the connection 20 | 21 | 22 | 23 | Return the databse engine type for the given connection. 24 | 25 | connetion to the server we want to know the type 26 | engine type of the server on the connection 27 | 28 | 29 | 30 | Return the assebmly that contains the resources. 31 | 32 | 33 | 34 | 35 | This is the Enumerator object for XEvnet object model. It derived from SqlObject, the 36 | base class for all enumerator in SFC enabled object model.Override the ResourceAssembly 37 | to provide the correct assembly that contains the resources. 38 | 39 | 40 | 41 | 42 | Return the server version for the given connection. 43 | 44 | connetion to the server we want to know the version 45 | server version on the connection 46 | 47 | 48 | 49 | Return the databse engine type for the given connection. 50 | 51 | connetion to the server we want to know the type 52 | engine type of the server on the connection 53 | 54 | 55 | 56 | Return the assebmly that contains the resources. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Management.XEventEnum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.Management.XEventEnum 5 | 6 | 7 | 8 | 9 | This is the Enumerator object for XEvnet object model. It derived from SqlObject, the 10 | base class for all enumerator in SFC enabled object model.Override the ResourceAssembly 11 | to provide the correct assembly that contains the resources. 12 | 13 | 14 | 15 | 16 | Return the server version for the given connection. 17 | 18 | connetion to the server we want to know the version 19 | server version on the connection 20 | 21 | 22 | 23 | Return the assebmly that contains the resources. 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.PolicyEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.PolicyEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.PolicyEnum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.PolicyEnum 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.RegSvrEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.RegSvrEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.RegSvrEnum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.RegSvrEnum 5 | 6 | 7 | 8 | 9 | Summary description for DataProtection. 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | Connection structure that points to the root of the registered servers store 43 | 44 | 45 | 46 | 47 | return what types of results does this object support 48 | 49 | 50 | 51 | 52 | Override this method to generate a Request for the parent object 53 | The response from the parent object will give us the subset of parent objects for which 54 | the current level must generate it's result 55 | 56 | 57 | 58 | 59 | 60 | The ResultTypes that this object supports 61 | 62 | 63 | 64 | 65 | 66 | Class to handle the ServerGroup enum element 67 | 68 | 69 | 70 | 71 | This is called after the data has been retrieved by the final object so the chain is preparing to be freed 72 | Because the objects are persisted between calls free any call specific data 73 | 74 | 75 | 76 | 77 | 78 | Class to handle the ServerGroup enum element 79 | 80 | 81 | 82 | 83 | This is called after the data has been retrieved by the final object so the chain is preparing to be freed 84 | Because the objects are persisted between calls free any call specific data 85 | 86 | 87 | 88 | 89 | 90 | Class to handle the RegisteredServer enum element 91 | 92 | 93 | 94 | 95 | This is called after the data has been retrieved by the final object so the chain is preparing to be freed 96 | Because the objects are persisted between calls free any call specific data 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | base class for various types of registration information for registered servers 113 | infrastructure 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | returns collection of our ancestors (Parent, Parent.Parent etc) 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | generates unique name for the given existing name 150 | 151 | 152 | 153 | 154 | 155 | 156 | adds new child to our collection 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | checks whether registrationinfo with given name already exists. 183 | NOTE: comparison is case insensitive 184 | 185 | 186 | 187 | 188 | 189 | 190 | Strongly typed version of ICollection.CopyTo(...) 191 | 192 | 193 | 194 | 195 | 196 | 197 | returns RegistrationInfo with specified name. 198 | 199 | 200 | 201 | 202 | This class supports the SMO implementation and should not be used for applications 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | Exports a subtree of the server registration 213 | 214 | The root node of the export 215 | The location to export to 216 | Whether to include usernames in the exported file 217 | 218 | 219 | 220 | reads registration information from the specified file and returns the 221 | node that corresponds to the root node read from the file. It will let 222 | whatever exception that might be encountered to fly out 223 | 224 | 225 | Node that corresponds to the root node read from the file 226 | 227 | 228 | 229 | Returns the path to the XML file where the provider stores data 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | newly created registered node if registration succeeded, null if user cancelled 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | newly created registration info if add succeeded, null if user cancelled 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | newly added node if succeeded, null if user cannceled 258 | 259 | 260 | 261 | removes given node from the registered servers and notifies clients about this event 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | true if move succeeded, false if canceled by user (in case there were duplicates) 274 | 275 | 276 | 277 | added node that represents group with given name 278 | 279 | 280 | 281 | 282 | 283 | newly created node if successfull, null if cancelled by user 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | node that was added (if success), null if cancelled by user 293 | 294 | 295 | 296 | Not for use by applications 297 | 298 | 299 | 300 | 301 | 302 | 303 | Our rampant use of InternalsVisibleTo prevents us from having our own AssemblyVersionInfo so provide a way 304 | for our callers to set the version. It was previously hard coded to 90. 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | allow disabling of the save operation. This property will perform automatic Save 324 | operation if Save used to be disabled and became enabled as a result of the call 325 | 326 | 327 | 328 | 329 | gets synchronization object 330 | 331 | 332 | 333 | 334 | Not for use by applications 335 | 336 | 337 | 338 | 339 | Summary description for RegisteredServerException. 340 | 341 | 342 | 343 | 344 | An exception in a RegisteredServer object 345 | 346 | 347 | 348 | 349 | 350 | 351 | An exception in a RegisteredServer object 352 | 353 | 354 | 355 | 356 | 357 | An exception in a RegisteredServer object 358 | 359 | 360 | 361 | 362 | An exception in a RegisteredServer object 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | Holds constants for use with the Managed Trace Provider 401 | 402 | 403 | 404 | 405 | A nameable list of UIConnectionInfo objects 406 | 407 | 408 | 409 | 410 | Initializes a new instance of the UIConnectionGroupInfo class 411 | that is empty and has the default initial capacity. 412 | 413 | 414 | 415 | 416 | Initializes a new instance of the UIConnectionGroupInfo class 417 | that contains elements copied from the specified collection and has sufficient 418 | capacity to accommodate the number of elements copied. 419 | 420 | The collection whose elements are copied to the new list. 421 | 422 | 423 | 424 | Initializes a new instance of the UIConnectionGroupInfo class 425 | that is empty and has the specified initial capacity. 426 | 427 | The number of elements that the new list can initially store. 428 | 429 | 430 | 431 | Initializes a new instance of the UIConnectionGroupInfo class 432 | that contains a shallow copy of the items from another 433 | UIConnectionGroupInfo 434 | 435 | 436 | 437 | 438 | 439 | Initializes a new instance of the UIConnectionGroupInfo class 440 | with a single item in the group 441 | 442 | The connection info to put in the group 443 | 444 | 445 | 446 | Create a new collection containing the same objects this group contains 447 | 448 | The copy of the group 449 | 450 | 451 | 452 | Create a new collection containing copies of the objects this group contains 453 | 454 | 455 | Whether the copied connection objects should have new IDs. Set this to true if we want 456 | different connections. Set it to false if we want the copies to hash to the same 457 | values as their progenitors. 458 | 459 | The copy of the group 460 | 461 | 462 | 463 | The name of the group 464 | 465 | 466 | 467 | 468 | The state of the password for this connection 469 | 470 | 471 | 472 | 473 | The password has been loaded from persistance storage 474 | 475 | 476 | 477 | 478 | The password has been marked to be persisted 479 | 480 | 481 | 482 | 483 | The password has not been marked to be persisted 484 | 485 | 486 | 487 | 488 | Object for storing and persisting server connection information 489 | 490 | 491 | 492 | 493 | Default constructor 494 | 495 | 496 | 497 | 498 | Copy constructor - create connection like lhs. 499 | 500 | The UIConnection info to copy 501 | 502 | Set to true to generate a new id for the connection, or false 503 | if this info will refer to the same connection as lhs 504 | 505 | 506 | 507 | 508 | Copy constructor - create connection to the same server as lhs 509 | 510 | The UIConnection info to copy 511 | 512 | 513 | 514 | Saves a UIConnectionInfo object to an XML stream 515 | 516 | The XML Stream to save the UIConnectionInfo object to. It is the caller's 517 | responsibility to open and close the stream 518 | True if the user name (with possibly the encrypted 519 | password) needs to be serialized to the XML stream; false, otherwise. 520 | 521 | 522 | 523 | Reads from an open XML Stream 524 | 525 | an open XmlReader 526 | A fully created UIConnectionInfo object 527 | 528 | 529 | 530 | Create a new connection info like this connection info. 531 | 532 | Note that this generates a new id for the clone, 533 | so the clone does not exactly match its progenitor, which 534 | is useful if we are going to change some parameter in the 535 | new connection info. 536 | 537 | 538 | 539 | 540 | Get the next serial number for a new UIConnectionInfo 541 | 542 | 543 | 544 | 545 | Comparison used for sorting connection info 546 | 547 | The connection info to compare to 548 | negative if this comes before other, 0 if they are the same, or positive if this comes after other 549 | 550 | 551 | 552 | Whether this connection info refers to the same connection as the other 553 | 554 | The other connection info 555 | True if they connect to the same server as the same login, otherwise false 556 | 557 | 558 | 559 | The hash code for finding the connection info in hash tables 560 | 561 | 562 | 563 | 564 | 565 | Whether the two connection info objects are equal 566 | 567 | The first connection info 568 | The second connection info 569 | True if the objects are equal; otherwise, false 570 | 571 | 572 | 573 | Whether the two connection info objects are equal 574 | 575 | The first connection info 576 | The second connection info 577 | True if the objects are equal; otherwise, false 578 | 579 | 580 | 581 | Whether the two connection info objects are equal 582 | 583 | The first connection info 584 | The second connection info 585 | True if the objects are equal; otherwise, false 586 | 587 | 588 | 589 | Whether the two connection info objects are not equal 590 | 591 | The first connection info 592 | The second connection info 593 | True if the objects are not equal; otherwise, false 594 | 595 | 596 | 597 | Whether the two connection info objects are not equal 598 | 599 | The first connection info 600 | The second connection info 601 | True if the objects are not equal; otherwise, false 602 | 603 | 604 | 605 | Whether the two connection info objects are not equal 606 | 607 | The first connection info 608 | The second connection info 609 | True if the objects are not equal; otherwise, false 610 | 611 | 612 | 613 | Gets or sets the object to fetch or renew an access token for SqlConnection objects generated from this connection info instance. 614 | 615 | 616 | 617 | 618 | Used by the connection dialog to determine if the password should be persisted 619 | 620 | 621 | 622 | 623 | The server type that this object is configured for 624 | 625 | 626 | 627 | 628 | The Application from thich this UIConnectionInfo instance will 629 | be used to connect from 630 | 631 | 632 | 633 | 634 | The server name to connect to 635 | 636 | 637 | 638 | 639 | The display name for the server 640 | 641 | 642 | 643 | 644 | returns either server name or "(local)" if the server name is "." or empty 645 | 646 | 647 | 648 | 649 | username to connect with 650 | 651 | 652 | 653 | 654 | Password to connect with. This class holds password in encrypted format. The getter 655 | will return decrypted version of the password. The setter expects to get clear-text 656 | password and immediately encrypts it 657 | 658 | 659 | 660 | 661 | The SecureString representing the current password 662 | 663 | 664 | 665 | 666 | the password in encrypted form 667 | 668 | 669 | 670 | 671 | Authentication type to use. This is interpreted by the corresponding 672 | IServerType object 673 | 674 | 675 | 676 | 677 | Collection for storing user-defined connection parameters 678 | 679 | 680 | 681 | 682 | The version of the server for this connection 683 | 684 | 685 | 686 | 687 | The serial number of the connection info 688 | 689 | 690 | 691 | 692 | The additional parameters if any of connection info 693 | 694 | 695 | 696 | 697 | Converts a secure string to a string 698 | 699 | 700 | Converted secure string to string object 701 | 702 | 703 | 704 | Converts string to a secure string 705 | 706 | 707 | Converted string to secure string 708 | 709 | 710 | 711 | Converts secure string to char array 712 | 713 | 714 | secure string converted to array of characters 715 | 716 | 717 | 718 | Converts char array to secure string 719 | 720 | 721 | Array of characters to secure string 722 | 723 | 724 | 725 | Various utility functions 726 | 727 | 728 | 729 | 730 | makes sure that the directory where sqlrepl regsvr persists its settings exists 731 | 732 | 733 | 734 | 735 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SString.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SString.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.ServiceBrokerEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.ServiceBrokerEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.ServiceBrokerEnum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.ServiceBrokerEnum 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Smo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Smo.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SmoExtended.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SmoExtended.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlClrProvider.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlClrProvider.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlTDiagm.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlTDiagm.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlWmiManagement.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlWmiManagement.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.SqlWmiManagement.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.SqlWmiManagement 5 | 6 | 7 | 8 | 9 | Instance class encapsulating : ManagedComputer[@Name='']/ClientProtocol 10 | 11 | 12 | 13 | 14 | Contains common functionality for all the WMI classes 15 | 16 | 17 | 18 | 19 | Called when one of the properties is missing from the property collection 20 | 21 | 22 | 23 | 24 | Initializes the object, by reading its properties from the enumerator 25 | 26 | 27 | 28 | 29 | 30 | Wraps InvokeMethod calls. When the call fails, returned error codes 31 | are mapped into exceptions. 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | Pointer to the collection that holds the object, if any 41 | 42 | 43 | 44 | 45 | Returns the Urn of the object, computed on the fly 46 | 47 | 48 | 49 | 50 | The property bag of the object 51 | 52 | 53 | 54 | 55 | The proxy object we use for SQL execution 56 | 57 | 58 | 59 | 60 | changes the object according to the modification of its members 61 | 62 | 63 | 64 | 65 | Refreshes the property bag and the ProtocolProperties collection 66 | 67 | 68 | 69 | 70 | This is a property bag that holds the Server and Client 71 | Protocol properties 72 | 73 | 74 | 75 | 76 | Refreshes the property bag and the ProtocolProperties collection 77 | 78 | 79 | 80 | 81 | The encapsulated NetLibInfo object 82 | 83 | 84 | 85 | 86 | Compute the possible management paths for the given target server 87 | 88 | The name of the machine we will connect to 89 | A collection of ManagementPaths 90 | This should be called by the Init() method only 91 | 92 | 93 | 94 | Returns the object with the corresponding Urn 95 | 96 | 97 | 98 | 99 | 100 | 101 | Connection structure that incapsulates ConnectionOptions structure 102 | in the ManagedComputer's Scope object 103 | 104 | 105 | 106 | 107 | ProtocolProperty is a Property with two more internal members, 108 | which are the keys we have to use in order to access it while 109 | dealing with the managed WMI provider 110 | 111 | 112 | 113 | 114 | This class is a collection of properties that can be accessed by name 115 | The client has also access to the Property object in itself. 116 | 117 | 118 | 119 | 120 | Checks if a property exists and is dirty 121 | 122 | 123 | 124 | 125 | returns a property if it exists and is dirty 126 | 127 | 128 | 129 | 130 | string indexer 131 | 132 | 133 | 134 | 135 | Integer indexer 136 | 137 | 138 | 139 | 140 | nested enumerator class. It ses SortedList enumerations. 141 | 142 | 143 | 144 | 145 | Instance class encapsulating : ManagedComputer[@Name='']/ServerAlias 146 | 147 | 148 | 149 | 150 | Instance class encapsulating : ManagedComputer[@Name='']/ServerInstance 151 | 152 | 153 | 154 | 155 | Instance class encapsulating : ManagedComputer[@Name='']/ServerInstance/ServerProtocol/IPAddress 156 | 157 | 158 | 159 | 160 | this is an internal method equivalent with IAlterable.Alter() implementation 161 | this method however is not exposed as public since ServerIPAddress is a minor object 162 | changes applied to ServerIPAddress or to its .IPAddressProperties collection 163 | are submited to WMI only when user call-s Alter() on parent WMI Server Protocol 164 | 165 | 166 | 167 | 168 | This is a property bag that holds the Server and Client 169 | Protocol properties 170 | 171 | 172 | 173 | 174 | Instance class encapsulating : ManagedComputer[@Name='']/ServerInstance/ServerProtocol 175 | 176 | 177 | 178 | 179 | Instance class encapsulating : ManagedComputer[@Name='']/Service 180 | 181 | 182 | 183 | 184 | This is a property bag that holds the Server and Client 185 | Protocol properties 186 | 187 | 188 | 189 | 190 | This is a property bag that holds the Server and Client 191 | Protocol properties 192 | 193 | 194 | 195 | 196 | Base collection for children of ManagedComputer 197 | 198 | 199 | 200 | 201 | proxy class for the sql execution and enumerator classes 202 | 203 | 204 | 205 | 206 | The constructor for this class needs a reference to the server 207 | 208 | 209 | 210 | 211 | 212 | Strongly typed list of MAPPED_TYPE objects 213 | Has strongly typed support for all of the methods of the sorted list class 214 | 215 | 216 | 217 | 218 | Strongly typed list of MAPPED_TYPE objects 219 | Has strongly typed support for all of the methods of the sorted list class 220 | 221 | 222 | 223 | 224 | Strongly typed list of MAPPED_TYPE objects 225 | Has strongly typed support for all of the methods of the sorted list class 226 | 227 | 228 | 229 | 230 | Strongly typed list of MAPPED_TYPE objects 231 | Has strongly typed support for all of the methods of the sorted list class 232 | 233 | 234 | 235 | 236 | Strongly typed list of MAPPED_TYPE objects 237 | Has strongly typed support for all of the methods of the sorted list class 238 | 239 | 240 | 241 | 242 | Strongly typed list of MAPPED_TYPE objects 243 | Has strongly typed support for all of the methods of the sorted list class 244 | 245 | 246 | 247 | 248 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Types.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.Types.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.WmiEnum.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.WmiEnum.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/net45/Microsoft.SqlServer.WmiEnum.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.SqlServer.WmiEnum 5 | 6 | 7 | 8 | 9 | FilterDecoder reports that the property name is used in filter 10 | and requests its physical name 11 | 12 | 13 | 14 | FilterDecoder reports that a constant is used in filter 15 | gives client a chance to modify it 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.Data.Tools.Sql.BatchParser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.Data.Tools.Sql.BatchParser.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Assessment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Assessment.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.ConnectionInfo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.ConnectionInfo.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Dmf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Dmf.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.Assessment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.Assessment.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.Dmf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.Dmf.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.RegisteredServers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.RegisteredServers.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.Sdk.Sfc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.Sdk.Sfc.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.SmoMetadataProvider.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.SmoMetadataProvider.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.SqlParser.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.SqlParser.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.SqlScriptPublishModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.SqlScriptPublishModel.dll -------------------------------------------------------------------------------- /packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.XEvent.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dursunkatar/SQLStructComparer/c6e313591198f107cfd0750f466253b475282ade/packages/Microsoft.SqlServer.SqlManagementObjects.150.18208.0/lib/netstandard2.0/Microsoft.SqlServer.Management.XEvent.dll --------------------------------------------------------------------------------