Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server .Net核心标识-从Postgresql迁移到SQL Server_Sql Server_Postgresql_Asp.net Core_Asp.net Core Identity - Fatal编程技术网

Sql server .Net核心标识-从Postgresql迁移到SQL Server

Sql server .Net核心标识-从Postgresql迁移到SQL Server,sql-server,postgresql,asp.net-core,asp.net-core-identity,Sql Server,Postgresql,Asp.net Core,Asp.net Core Identity,我有一个.NET Core 3.0 MVC网站,带有标识。该数据库是Postgresql数据库(主要是因为地理数据的性能更好)。但是,由于其他唯一可以使用postgresql的人已经辞职,我不得不迁移到SQL Server(因为内部策略) 但在大型网络上,关于这一特定迁移的信息并不多 我有一些想法,但由于设置测试需要相当长的时间,我想先检查一下这里 是否只是在数据库之间复制所有表的问题(复制/导出数据-更改连接字符串-人们甚至不会注意到更改) 使用entity framework编写一个小脚本

我有一个.NET Core 3.0 MVC网站,带有标识。该数据库是Postgresql数据库(主要是因为地理数据的性能更好)。但是,由于其他唯一可以使用postgresql的人已经辞职,我不得不迁移到SQL Server(因为内部策略)

但在大型网络上,关于这一特定迁移的信息并不多

我有一些想法,但由于设置测试需要相当长的时间,我想先检查一下这里

  • 是否只是在数据库之间复制所有表的问题(复制/导出数据-更改连接字符串-人们甚至不会注意到更改)
  • 使用entity framework编写一个小脚本,使用默认密码将所有用户复制到新数据库-用户必须在首次登录时更改密码
  • 人们必须重新登记
  • 上述因素的组合
编辑:问题不在于表和数据类型,而在于密码和散列。我是否可以将所有值复制到SQL数据库中,人们是否可以直接登录


表中有一个密码散列,我想它可能使用了其他变量,比如数据库引擎来创建散列。

您需要弄清楚您在Postgresql中使用的数据类型以及它们在MSSQL中的等价物。大多数数据类型都是相同/相似的,但也可能有少数数据类型没有直接等效的数据类型


有很多方法可以在数据库之间移动数据。在这种情况下,一种可能的简单方法是使用转储postgres db。这将获得一个包含sql语句的文本文件来重新创建数据库。然后,您可以根据需要修改sql语句以处理MSSQL数据库。

您需要弄清楚在Postgresql中使用的数据类型以及它们在MSSQL上的等价物。大多数数据类型都是相同/相似的,但也可能有少数数据类型没有直接等效的数据类型


有很多方法可以在数据库之间移动数据。在这种情况下,一种可能的简单方法是使用转储postgres db。这将获得一个包含sql语句的文本文件来重新创建数据库。然后,您可以根据需要修改sql语句,以便在MSSQL数据库上工作。

如果应用程序构建在同一堆栈上,比如说,在您的情况下,使用Aspnet标识的Dot net core,则可以迁移哈希,而不会产生任何问题。一切都由dotnet处理,它不绑定到底层数据存储


创建模式并填充它,您就可以开始了。无需重新设置或让用户更改密码。只需移动数据

如果应用程序构建在同一堆栈上,比如说在您的情况下,使用Aspnet Identity的dotnet core,那么可以迁移散列,而不会产生任何问题。一切都由dotnet处理,它不绑定到底层数据存储


创建模式并填充它,您就可以开始了。无需重新设置或让用户更改密码。只需移动数据

这是否回答了您的问题?如果应用程序构建在同一堆栈上。在您的例子中,让我们假设使用Aspnet Identity,那么散列可以毫无问题地迁移。中的所有内容都由dotnet处理,并且不绑定到底层数据存储。创建模式并填充它,您就可以开始了。无需重新设置或让用户更改密码。只需移动鼠标data@cleftheris谢谢你的回复。我要测试这个,可能下周。仍然掌握stackoverflow的诀窍,但我认为我无法将你的答案标记为正确(如果结果是正确的话)@kenhas我将评论移到了一个答案上,这样如果一切顺利,你可以将其标记为正确。这是否回答了你的问题?如果应用程序构建在同一堆栈上。在您的例子中,让我们假设使用Aspnet Identity,那么散列可以毫无问题地迁移。中的所有内容都由dotnet处理,并且不绑定到底层数据存储。创建模式并填充它,您就可以开始了。无需重新设置或让用户更改密码。只需移动鼠标data@cleftheris谢谢你的回复。我要测试这个,可能下周。仍然掌握stackoverflow的诀窍,但我认为我无法将你的答案标记为正确(如果结果是正确的)@kenhas我将评论移到了一个答案上,这样如果一切顺利,你可以将其标记为正确。通过阅读你的答案,我发现我必须改变我的问题。这不是关于数据类型和表,而是关于密码。密码已保存,但也是一个哈希。我不知道这是否总是相同的算法,或者是否取决于其他变量。通过阅读你的答案,我发现我必须改变我的问题。这不是关于数据类型和表,而是关于密码。密码已保存,但也是一个哈希。我找不到这是否总是相同的算法,或者是否取决于其他变量。从postgresql迁移到ms sql比我预期的要多一些,但复制了所有内容,并能够使用新数据库登录。从postgresql迁移到ms sql的工作比我预期的要多一些,但是复制了所有内容,并且能够使用新数据库登录。感谢