模糊SQL Server Db架构

时间:2021-11-05 12:44:10

When posting example code or filing bug reports based on a real production app, it would be helpful to have some way to change the table and column names to not potentially give away information about the internals of the app. Doing it by hand without breaking things is time consuming. Does anything automatic exist? Ideally it would use real English words so they are more easily referred to than random text strings.

在发布基于真实生产应用程序的示例代码或归档错误报告时,有一些方法可以更改表和列名称,从而无法提供有关应用程序内部的信息。手工完成而不会破坏物品非常耗时。有什么自动存在吗?理想情况下,它会使用真正的英语单词,因此它们比随机文本字符串更容易引用。

2 个解决方案

#1


2  

As long as you don't use real data, I don't see what the issue is. Most apps are fairly obvious based on the requirements. ie CRM system = (customer name, address, etc...) or (customer name, addressid, etc.. with some address table with parts of the address, etc...). By knowing your schema I have no idea how you implement your app. Generally without the stored procedures/program code it would be hard to steal any intellectual property. Even if you were the NSA or something (InternetIP, PacketHeadingID, PacketDetailID, TimeStampID). Even with the structure of the tables I still would have no information on how your system to log all the internet traffic actually works. I also wouldn't know anything that is logged.

只要您不使用真实数据,我就不会发现问题所在。根据要求,大多数应用都相当明显。即CRM系统=(客户名称,地址等...)或(客户名称,地址代码等...以及带有地址部分的地址表等等)。通过了解您的架构,我不知道您如何实现您的应用程序。一般没有存储过程/程序代码,就很难窃取任何知识产权。即使你是NSA或其他东西(InternetIP,PacketHeadingID,PacketDetailID,TimeStampID)。即使有表的结构,我仍然没有关于您的系统如何记录所有互联网流量实际工作的信息。我也不会知道记录的任何内容。

I don't know of anything off hand to do what you are requesting, but I would think it is fairly easy to write a script to do it on your own. Look at the table columns and datatypes and call text columns "TextColumn1", int columns "IntColumn2", etc. and build a table of substitutions, then perform the substitutions globally in the script file. I would think this is a fairly easy Python/Perl/PowerShell/Ruby/VbScript program.

我不知道你要做的事情是什么,但我认为写一个脚本来自己做这件事是相当容易的。查看表列和数据类型,并调用文本列“TextColumn1”,int列“IntColumn2”等,并构建替换表,然后在脚本文件中全局执行替换。我认为这是一个相当简单的Python / Perl / PowerShell / Ruby / VbScript程序。

#2


0  

I agree that there's no real need to do so, but if you feel that way, take a look at anonymizers, usually used to protect the data and not the schemas, but you could easily apply those approaches to schemas as well.

我同意没有必要这样做,但如果您有这种感觉,请查看匿名者,通常用于保护数据而不是模式,但您也可以轻松地将这些方法应用于模式。

See this paper (which is the description of this framework) especially page 8 an onwards for different anonymization methods, although replacing column names for static strings might probably be good enough anyway.

请参阅本文(这是对此框架的描述),尤其是第8页以及不同的匿名化方法,尽管替换静态字符串的列名可能仍然足够好。

#1


2  

As long as you don't use real data, I don't see what the issue is. Most apps are fairly obvious based on the requirements. ie CRM system = (customer name, address, etc...) or (customer name, addressid, etc.. with some address table with parts of the address, etc...). By knowing your schema I have no idea how you implement your app. Generally without the stored procedures/program code it would be hard to steal any intellectual property. Even if you were the NSA or something (InternetIP, PacketHeadingID, PacketDetailID, TimeStampID). Even with the structure of the tables I still would have no information on how your system to log all the internet traffic actually works. I also wouldn't know anything that is logged.

只要您不使用真实数据,我就不会发现问题所在。根据要求,大多数应用都相当明显。即CRM系统=(客户名称,地址等...)或(客户名称,地址代码等...以及带有地址部分的地址表等等)。通过了解您的架构,我不知道您如何实现您的应用程序。一般没有存储过程/程序代码,就很难窃取任何知识产权。即使你是NSA或其他东西(InternetIP,PacketHeadingID,PacketDetailID,TimeStampID)。即使有表的结构,我仍然没有关于您的系统如何记录所有互联网流量实际工作的信息。我也不会知道记录的任何内容。

I don't know of anything off hand to do what you are requesting, but I would think it is fairly easy to write a script to do it on your own. Look at the table columns and datatypes and call text columns "TextColumn1", int columns "IntColumn2", etc. and build a table of substitutions, then perform the substitutions globally in the script file. I would think this is a fairly easy Python/Perl/PowerShell/Ruby/VbScript program.

我不知道你要做的事情是什么,但我认为写一个脚本来自己做这件事是相当容易的。查看表列和数据类型,并调用文本列“TextColumn1”,int列“IntColumn2”等,并构建替换表,然后在脚本文件中全局执行替换。我认为这是一个相当简单的Python / Perl / PowerShell / Ruby / VbScript程序。

#2


0  

I agree that there's no real need to do so, but if you feel that way, take a look at anonymizers, usually used to protect the data and not the schemas, but you could easily apply those approaches to schemas as well.

我同意没有必要这样做,但如果您有这种感觉,请查看匿名者,通常用于保护数据而不是模式,但您也可以轻松地将这些方法应用于模式。

See this paper (which is the description of this framework) especially page 8 an onwards for different anonymization methods, although replacing column names for static strings might probably be good enough anyway.

请参阅本文(这是对此框架的描述),尤其是第8页以及不同的匿名化方法,尽管替换静态字符串的列名可能仍然足够好。